该文件用于编译器根据用户需求,定制memory的分配方案,如需要将某段程序放到EEPROM,而不是默认的P-Flash,或者将某段连续的数据存放到一个特定区块的flash中,以便集中快速访问。
1、第一段 NAMES END
给编译器说明,需要从外部纳入编译的文件名,一般为第三方或固定不变的程序。极少用到,且不便维护。
2、第二段 SEGMENTS END
给RAM / EEPROM/ FLASH中各地址区块命名,以便后续分配相应的数据或程序段到相应的空间。
3、第三段 PLACEMENT END
将程序段、数据段分配到第二段中命名的地址区域,自动生成了部分默认的段名, 也可以添加自己在程序中用伪指令声明的段,如下:
程序中:
mycode: SECTION
.prm中:
mycode INTO EEPROM
通过上述示例,就将程序段mycode在编译时放到EEPROM对应的地址空间内,而不是程序默认的P-Flash空间。
4、STACKSIZE
指明堆栈预留空间(RAM中)
网友评论