使用的是STM32F103C8T6,SRAM大小20k

起始地址0x20000000

报错的时候我是想在SRAM内开辟一块空间用于存储数据,是像下面这样写的。
u8 new_firmware_app[20000] __attribute__((at(0x20000000)));上网查了一下,发现报错的原因大多都是因为SRAM有冲突,我理解为被重复使用了,所以将将这个数组大小改小一些,起始地址后移一些,改成下面这样就成功了。
u8 new_firmware_app[19000] __attribute__((at(0x20000200)));这是因为我这个程序是个boot,没有什么别的功能,主要就是为了接收这一大堆数据然后写入flash跳转。
实际的偏移要尝试着改。
版权声明:本文为ly_dapanglian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。