| 谢谢.问题已经解决.楼上各位大侠说得都在理.问题是我要在IDE方式下处理段的定位问题.目前我已经找到解决方法,如下: 1) 在ST IDE 的工程下,(按SHIFT+F7或选择菜单Project->settings) 2) 选择linker属性页 3)在category下拉菜单下选input 4)(门道在这) 在segment/section name表格中按鼠标右键选add segment,然后新建一个段,修改段的起始地址和结束地址 5)然后在新的段中按鼠标右键选add section 加入程序中已经定义好的片段APP_CODE 程序中的开始部分定义的,如下 #pragma section (APP_CODE) #pragma section const {APP_CONST} 编译后如下 -------- Segments -------- start 00004000 end 00004001 length 1 segment .eeprom start 00000000 end 0000000a length 10 segment .bsct, initialized start 0000808d end 00008097 length 10 segment .bsct, from start 0000000a end 000000ac length 162 segment .ubsct start 000000ac end 000000ac length 0 segment .bit start 000000ac end 000000ac length 0 segment .share start 00000100 end 00000100 length 0 segment .data start 00000100 end 00000100 length 0 segment .bss start 00000100 end 000003f1 length 753 segment .FLASH_CODE, initialized start 00008097 end 00008388 length 753 segment .FLASH_CODE, from start 00008080 end 00008080 length 0 segment .const start 00008388 end 00008924 length 1436 segment .IAP_CODE start 00008924 end 00008968 length 68 segment .IAP_CONST start 00009c00 end 00009cc0 length 192 segment .MYINTER_CODE start 00009cc0 end 0000a398 length 1752 segment .text start 0000a398 end 0000bba6 length 6158 segment .APP_CODE start 0000bba6 end 0000c6da length 2868 segment .APP_CONST start 00000000 end 0002beef length 179951 segment .debug start 00008000 end 00008080 length 128 segment .const start 00008080 end 0000808d length 13 segment .init | |