ZHCU820Y September 2004 – June 2021
大多数 MSP430X 器件在64K 边界以上没有任何可写内存。但是,大多数 FRAM MSP430x 器件和少数非 FRAM 器件在64k 边界以上具有可写内存。
对于那些具有高 RAM(64K以上)的少数非 FRAM 器件,通过链接器命令文件可以将非常量数据放置在64K 边界以上。
对于所有其他器件,即使使用受限或大型数据模型, 64K 边界以上也没有可写内存,只有常量数据将放置在 64K以上。编译器可以利用这一知识生成更高效的代码。--near_data 选项控制此优化。
指定 --near_data=globals 时,此选项告诉编译器所有全局读取/写入数据必须位于前 64K的内存中。这是默认行为。全局读取/写入数据默认放置在 .bss 和 .data 段中。
如果指定了 --near_data=none,此选项告诉编译器它不能依赖这个假设来生成更高效的代码。