CH582M OTA地址问题

image.png



0XC000 到 0X10000 只有16K.  IAP显示有接近60K,不会有影响吗。



没问题的,实际占用flash就12k左右,这边的60k需要减去前面的4k和44k就是实际占用的大小了。


StartAddr 这个地址怎么修改呢。

我自己的app显示的地址是 0 . 应该怎么修改为 0x1000呢 


我对比了下demo  发现是 ld 文件里面有设置

MEMORY

{

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

RAM (xrw) : ORIGIN = 0x20002000, LENGTH = 24K

}


    PROVIDE( __global_pointer$ = 0x20002000 );



地址和大小设置有什么限制吗?

PROVIDE( __global_pointer$ = 0x20002000 );  //这个需要修改吗


这个需要在ld文件夹中修改,可以参考此链接:

https://www.cnblogs.com/debugdabiaoge/p/15980999.html


CH58xBLE_ROM.hex 有多大呢,他的位置可以设置再靠后点吗。 我的应用程序占用空间 大于64k。

 



可以的,rom库有两个,CH57xBLE_ROMx这个是放在code最后位置的,合成的时候可以使用这个固件。


.s 中设置跳转image.png? ?

工具中选择? ROM?image.png


这样测试正常。



但是? 修改跳转地址为 0X40000 与 对应的 ROMX 后,机器无法工作。一直在打印 oooooooooooooo

image.png

image.png


BLE 蓝牙使用固定LIB(peripheral 使用固定库) - debugdabiaoge - 博客园 (cnblogs.com)
参考一下这个,不同的库,开启的宏定义有差别。
image.png


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