ICF文件写法:
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
define symbol __ICFEDIT_region_EXTSRAM_start__ = 0x68000000;
define symbol __ICFEDIT_region_EXTSRAM_end__ = 0x687FFFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define region EXTSRAM_region = mem:[from __ICFEDIT_region_EXTSRAM_start__ to __ICFEDIT_region_EXTSRAM_end__];
怎么感觉问题出在STM32上啊?
如果这样写
place in RAM_region { block CSTACK, readwrite };
place in EXTSRAM_region { block HEAP }
怎么弄都可以,但是如果这样写
place in RAM_region { block CSTACK, block HEAP };
place in EXTSRAM_region { readwrite }
怎么弄都不行,最后发现,直接复位,STM32都不运行,只能断电后重新上电才能运行,不知道是不是STM32的问题啊,请有碰到过类似问题的朋友帮帮忙啊