用IAR 5.4版本的编译STM32的工程,想把其中的几个.C文件定位在固定的FLASH地址中,该怎么设置呢,看了一些资料,在.ICF文件增加:
define symbol __ICFEDIT_region_IAP_start__ = 0x0800F800;
define symbol __ICFEDIT_region_IAP_end__ = 0x0800FFFF;
define region IAP_region = mem:[from __ICFEDIT_region_IAP_start__ to __ICFEDIT_region_IAP_end__ ];
place in IAP_region { section .text object myfile.o }; /* the .text section of myfile.o */
place in IAP_region { readonly object myfile.o }; /* all read-only sections of myfile.o */
place in IAP_region { readonly data object myfile.o }; /* all read-only data sections myfile.o */
编译出来的.bin文件中,从 0x0800F800地址开始有数据放入,不过很大,还有其他的一些数据被定位到 0x0800F800地址后面了。不知是为什么?
|