編譯完成的程序ram 比設(shè)置的大,這樣會不會出問題? 0x2000=8192
ram實際使用超出了設(shè)置的空間是不行的,579都是有16k睡眠保持的,像你使用多大的空間就分配大一點啊。
這個是只能到0x2000吧?16k睡眠保持是什么意思?
使用睡眠的話就使用后面的睡眠保持的16k,當你用的比較少的時候才只用最后2k,像你這種情況,直接用16k,
如果不做睡眠,那么就32k都可以使用
但是我要做OTA 升級,這種情況不是只能從0x20006000開始分配嗎?
將OTA的開始地址往前分配一點,不從0x20006000開始分配,具體可以參考我們OTA升級的手冊。
我參考onlyupdateApp_Peripheral 把藍牙使用的空間分配到0x20003800的8k空間,ram設(shè)置還是從0x20006000開始的8k,應(yīng)該也是可以的吧
編譯完成的程序大于8K也是可以繼續(xù)用的,因為這個編譯時將協(xié)議棧也算上去了,所以實際上使用可以遠遠小于你現(xiàn)在編譯出現(xiàn)的大小。你可以將BLE_MEMHEAP_SIZE??????(1024*8) 改為BLE_MEMHEAP_SIZE??????(1024*4) ,然后查看編譯的大小,這樣應(yīng)該更容易理解。如果你的用戶程序過大,那你可以嘗試從0x20004800開始。
針對你上圖貼出的需求,你是可以直接使用的。