該文件用于編譯器根據(jù)用戶(hù)需求,定制memory的分配方案,如需要將某段程序放到EEPROM,而不是默認(rèn)的P-Flash,或者將某段連續(xù)的數(shù)據(jù)存放到一個(gè)特定區(qū)塊的flash中,以便集中快速訪問(wèn)。
1、第一段 NAMES??????? END
給編譯器說(shuō)明,需要從外部納入編譯的文件名,一般為第三方或固定不變的程序。極少用到,且不便維護(hù)。
2、第二段 SEGMENTS?????? END
給RAM / EEPROM/ FLASH中各地址區(qū)塊命名,以便后續(xù)分配相應(yīng)的數(shù)據(jù)或程序段到相應(yīng)的空間。
3、第三段 PLACEMENT???? END
將程序段、數(shù)據(jù)段分配到第二段中命名的地址區(qū)域,自動(dòng)生成了部分默認(rèn)的段名, 也可以添加自己在程序中用偽指令聲明的段,如下:
程序中:
mycode:????? SECTION
.prm中:
mycode??????? INTO?????? EEPROM
通過(guò)上述示例,就將程序段mycode在編譯時(shí)放到EEPROM對(duì)應(yīng)的地址空間內(nèi),而不是程序默認(rèn)的P-Flash空間。
4、STACKSIZE
指明堆棧預(yù)留空間(RAM中)