目录
问题描述:
当出现这种报错的时候:.\Objects\SL_DEMO.axf: Error: L6406E: No space in execution regions with .ANY selector matching drv_iap.o(i.EraseFlashSector).。是由于芯片闪存(FLASH)空间不够导致的
问题解决:
问题分析:
产生这种问题,一般是做代码移植的时候出现,例如STM32F103,把RCT6上的程序移植到了C8T6上,由于C8T6空间不够产生这种类似报错,有两种情况。
解决方法:
1,
第一种情况是(以F103为例)实际上还是用的RCT6的片子,但芯片型号那边还是C8T6,这样的话只要改个芯片型号就好。就如我这里一样,但我这里使用的是国产芯片士兰微的片子,只有芯片总的型号,没有按闪存来分型号,所以我直接去改动了芯片FLASH的起始地址。
2,
第二种情况就是芯片FLASH空间不够,那就考虑压缩一下代码量或者换块芯片吧
要压缩空间的话,可以看下这几篇文章:
解决方法: No space in execution regions with .ANY selector matching-CSDN博客