Bootloader中无法更改APPBuffer程序包数组大小

2019-08-14 04:44发布

本帖最后由 leozzd 于 2017-8-28 09:19 编辑

由于APP的包比较大,80K左右,现在要更改Bootloader中APPBuffer程序包数组的大小为 u8  APPBuffer[1024 * 80];编译后KEIL提示:
..OUTPUTBootloader.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss).
..OUTPUTBootloader.axf: Error: L6407E: Sections of aggregate size 0x14258 bytes could not fit into .ANY selector(s).用的是STM32F103VET6,512Kflash,64Ksram。
无标题.png

为什么会空间不足。怎么处理呢~~~





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
leozzd
2019-08-14 07:01
每次提问题,都是隔天自己来解答,APPBuffer还是定义成APPBuffer=[1024*55];,上位机计算bin包大小,定时分包下发,每包加包头,包号,CRC,STM32收到后逐包校验。收满100个包后复制到flash备份区(防止前100个收错回不去原来的程序),清除APPBuffer,继续接受剩下的分包,再移动到flash备份区,后面再总体复制到0x8010000的地址,启动。

一周热门 更多>