582M OTA 问题

1、APP使用的是 BLE-LIB参与编译,而且APP使用的RAM比较多

image.png

link.ld文件中只是修改了flash的起始地址。编译可以通过。


2、如果修改link.ld文件中的 RAM
RAM (xrw) : ORIGIN = 0x20002000, LENGTH = 24K

编译无法通过

报错信息
image.png


3、使用

MEMORY

{

FLASH (rx) : ORIGIN = 0x00001000, LENGTH = 444K

RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K

}

配置,编译之后的hex 在合成bin文件是提示无效hex


image.png



疑问1: APP使用RAM较多, 

link.ld 文件中 RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K 是否必须修改为

RAM (xrw) : ORIGIN = 0x20002000, LENGTH = 24K
疑问2、BLE-LIB是否参与编译,出了对升级包大小有影响,是否还有其他影响? 贵司推荐的方式是哪种?

疑问3、上述问题应该怎么解决


谢谢

使用582芯片的RAM是比较大的,因此不建议修改,使用默认的即可。

上述的方式是使用固定库的方式进行OTA升级,后续可以对用户程序进行升级,但是lib无法升级了。同时上述方法的使用建议看一下BLE下面的文档,对于合并的使用有说明。

提供一份OTA升级的操作作为参考。

OTA升级使用说明 - SweetTea_lllpc - 博客园 (cnblogs.com)


24K的ram不够用啊


RAM具体需要多大的空间,如果差距比较大可以参考一下我们的208芯片,RAM空间更大;如果差距比较小如几百字节,可以自行将代码精简一下。

上述的问题并不是RAM的空间,而是OTA使用出问题,请查看我们的BLE文件夹下面的OTA手册。


只有登录才能回复,可以选择微信账号登录