请问CH579使用蓝牙BLE-ROM时,只能使用0x20003800这个地址开始的RAM吗?

还是可以通过bleConfig_t的MEMAddr指定随便哪里?

比如使用0x2006000开始的后面8K?

可以看下这个blog:https://www.cnblogs.com/iot-fan/p/14327272.html



我的问题是,我不能指定到0x20003800这个地址,所以我要使用最后的8K作为ble的协议栈,前面的ram给主程序使用。这样行不行?



不行,ROM在编译的时候,部分变量 已经固定到3800起始的地方了.


那为什么现象是有时候可以,有时候改动了无关的代码又不行了?

而且不用BLE ROM时却可以。


ROM编译后没有RAM的内容啊,你是说里面写死了要访问0x20003800这个地址?


ROM 文件(如CH579BLE_ROM.hex), 其实也是个工程,其在编译时候也用到了内存,也有变量存储, 里面有写死了的区域.


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