Green Hills工具链可以把链接完成的可执行映像转换为Motorola S-record文件,常用于单片机、汽车ECU和嵌入式控制器的Flash烧写。Green Hills怎么生成S-record文件,Green Hills生成S-record文件后地址范围不正确如何调整,重点在于先确认最终可执行文件中的装载地址,再进行格式转换。S-record中的地址通常继承链接结果,如果Flash区域、启动段或数据段在链接阶段已经放错位置,单纯重新生成S-record并不会自动修正地址。
Green Hills的编译优化等级到底要怎么调,还有优化以后变量没有办法被观察到,这要怎么处理,这些问题一般是出现在从Debug版本往性能版本那边切过去的阶段。编译优化会去把函数给内联展开,把没有用到的代码给删掉,重新去分配寄存器,对指令的先后顺序也做一些调整,程序的运行结果虽然没有变,但这可不表示它生成出来的机器代码,跟每一行的源代码还能一一对应得上。Green Hills编译器里面,性能的级别和调试的级别都是可以选的,MULTI调试器则可以把源代码、内存、寄存器,还有函数调用栈放到一起,去查看程序的状态。