0XC000 到 0X10000 只有16K.? IAP顯示有接近60K,不會(huì)有影響嗎。
沒(méi)問(wèn)題的,實(shí)際占用flash就12k左右,這邊的60k需要減去前面的4k和44k就是實(shí)際占用的大小了。
StartAddr 這個(gè)地址怎么修改呢。
我自己的app顯示的地址是 0 . 應(yīng)該怎么修改為 0x1000呢?
我對(duì)比了下demo? 發(fā)現(xiàn)是 ld 文件里面有設(shè)置
MEMORY
{
FLASH (rx) : ORIGIN = 0x00001000, LENGTH = 44K
RAM (xrw) : ORIGIN = 0x20002000, LENGTH = 24K
}
? ? PROVIDE( __global_pointer$ = 0x20002000 );
地址和大小設(shè)置有什么限制嗎?
PROVIDE( __global_pointer$ = 0x20002000 );? //這個(gè)需要修改嗎
這個(gè)需要在ld文件夾中修改,可以參考此鏈接:
CH58xBLE_ROM.hex 有多大呢,他的位置可以設(shè)置再靠后點(diǎn)嗎。 我的應(yīng)用程序占用空間 大于64k。
?
可以的,rom庫(kù)有兩個(gè),CH57xBLE_ROMx這個(gè)是放在code最后位置的,合成的時(shí)候可以使用這個(gè)固件。
.s 中設(shè)置跳轉(zhuǎn)? ?
工具中選擇? ROM?
這樣測(cè)試正常。
但是? 修改跳轉(zhuǎn)地址為 0X40000 與 對(duì)應(yīng)的 ROMX 后,機(jī)器無(wú)法工作。一直在打印 oooooooooooooo
BLE 藍(lán)牙使用固定LIB(peripheral 使用固定庫(kù)) - debugdabiaoge - 博客園 (cnblogs.com)
參考一下這個(gè),不同的庫(kù),開(kāi)啟的宏定義有差別。