|
楼主 |
发表于 2015-8-27 17:03:58
|
显示全部楼层
附上我的icf文件:
我的iar 是6.4版本,用该版本编译stm32,设置或不设置偏移编译的bin,hex都没有问题,直接下载后就可以运行。
如此看软件是没有问题,很有可能是icf不对?
- /*###ICF### Section handled by ICF editor, don't touch! ****/
- /*-Editor annotation file-*/
- /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
- /*-Specials-*/
- define symbol __ICFEDIT_intvec_start__ = 0x00000000;
- /*-Memory Regions-*/
- define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
- define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFB;
- define symbol __ICFEDIT_region_RAM_start__ = 0x10000000;
- define symbol __ICFEDIT_region_RAM_end__ = 0x1000FFDF;
- /*-Sizes-*/
- define symbol __ICFEDIT_size_cstack__ = 0x2000;
- define symbol __ICFEDIT_size_heap__ = 0x500;
- /**** End of ICF editor section. ###ICF###*/
- define symbol __CRP_start__ = 0x000002FC;
- define symbol __CRP_end__ = 0x000002FF;
- define symbol __RAM1_start__ = 0x20000000;
- define symbol __RAM1_end__ = 0x20007FFF;
- define memory mem with size = 4G;
- define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__] - mem:[from __CRP_start__ to __CRP_end__];
- define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
- define region CRP_region = mem:[from __CRP_start__ to __CRP_end__];
- define region RAM1_region = mem:[from __RAM1_start__ to __RAM1_end__];
- define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
- define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
- initialize by copy { readwrite };
- do not initialize { section .noinit };
- place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
- place in ROM_region { readonly };
- place in RAM_region { readwrite,
- block CSTACK, block HEAP };
- place in CRP_region { section .crp };
- place in RAM1_region { section .sram };
复制代码 |
|