今天再请教个问题
我在使用 STM8L152R8 做的一个项目,这颗芯片FLASH应该是 64KB,IAR查看 lnkstm8l152r8.icf 文件,有如下定义:
define region NearFuncCode = [from 0x8000 to 0xFFFF];
define region FarFuncCode = [from 0x8000 to 0xFFFF]
| [from 0x10000 to 0x17FFF];
define region HugeFuncCode = [from 0x8000 to 0x17FFF];
但是,我在程序中,如果编译代码超过 32KB,则编译出错,提示:
Error[Lp011]: section placement failed
unable to allocate space for sections/blocks with a total estimated minimum size of 0x8986 bytes in <[0x008000-0x00ffff]> (total uncommitted space 0x7f80).
如果调高优化级别,代码量控制在32KB以内,则可编译通过。
在项目设置, Optione->Target->Device 选择 stm8l152r8; stm8l152.h 中,选择 #define STM8L15X_HD
不知道还有什么可能导致此错误? 还是会不会我买到的芯片有问题呢? |