请问CH573如何实现应用与协议栈分离方式?

你好,

我正在尝试将CH573应用与协议栈分离。最终目标是实现OTA升级。但目前程序只会无限重启并打印版本号。

我按照 /bbs/thread-74530-1.html 这个帖子的5楼操作,但生成的HEX无论直接烧录,还是合并上CH57xBLE_ROM.hex。我都只能看到程序在不停打印"CH57x_BLE_LIB_V1.50"字样,应该是在重启。


我观察到CH57xBLE_ROM.H里写了

* Description       : head file

*                    Address Space

*                       CODE:   00010000H - 0002FFFFH   128K

*                       DATA:   20003800H - 200047FFH     4K     


但是link.ld文件里

MEMORY

{

FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 448K

RAM (xrw) : ORIGIN = 0x20003800, LENGTH = 18K

}


二者的RAM似乎有冲突? 请问除了加入宏定义,合并HEX,需不需要做别的操作?比如修改link.ld这些文件?


谢谢

除了添加宏定义CH57xBLE_ROM,还要把Ld文件夹和Startup文件夹替换成OnlyUpdateApp_Peripheral文件夹里的相对的文件夹,将link.ld文件里的

MEMORY

{

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

RAM (xrw) : ORIGIN = 0x20004800, LENGTH = 14K

}

修改为:

MEMORY

{

FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K

RAM (xrw) : ORIGIN = 0x20004800, LENGTH = 14K

}



非常感谢,亲测可用。


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