编译完成的程序ram 比设置的大,这样会不会出问题? 0x2000=8192
ram实际使用超出了设置的空间是不行的,579都是有16k睡眠保持的,像你使用多大的空间就分配大一点啊。
这个是只能到0x2000吧?16k睡眠保持是什么意思?
使用睡眠的话就使用后面的睡眠保持的16k,当你用的比较少的时候才只用最后2k,像你这种情况,直接用16k,
如果不做睡眠,那么就32k都可以使用
但是我要做OTA 升级,这种情况不是只能从0x20006000开始分配吗?
将OTA的开始地址往前分配一点,不从0x20006000开始分配,具体可以参考我们OTA升级的手册。
我参考onlyupdateApp_Peripheral 把蓝牙使用的空间分配到0x20003800的8k空间,ram设置还是从0x20006000开始的8k,应该也是可以的吧
编译完成的程序大于8K也是可以继续用的,因为这个编译时将协议栈也算上去了,所以实际上使用可以远远小于你现在编译出现的大小。你可以将BLE_MEMHEAP_SIZE (1024*8) 改为BLE_MEMHEAP_SIZE (1024*4) ,然后查看编译的大小,这样应该更容易理解。如果你的用户程序过大,那你可以尝试从0x20004800开始。
针对你上图贴出的需求,你是可以直接使用的。