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文件夹中修改,可以参考此链接:
CH58xBLE_ROM.hex 有多大呢,他的位置可以设置再靠后点吗。 我的应用程序占用空间 大于64k。
可以的,rom库有两个,CH57xBLE_ROMx这个是放在code最后位置的,合成的时候可以使用这个固件。
.s 中设置跳转? ?
工具中选择? ROM?
这样测试正常。
但是? 修改跳转地址为 0X40000 与 对应的 ROMX 后,机器无法工作。一直在打印 oooooooooooooo
BLE 蓝牙使用固定LIB(peripheral 使用固定库) - debugdabiaoge - 博客园 (cnblogs.com)
参考一下这个,不同的库,开启的宏定义有差别。