CH583M蓝牙例程 SpeedTest_Peripheral,RF例程RF_PHY_Hop??编译后RAM占了十几k 如何程序本身占用的RAM空间
热门产品 :
CH32X035: 32位USB+USB PD单片机
CH583M蓝牙例程 SpeedTest_Peripheral,RF例程RF_PHY_Hop??编译后RAM占了十几k 如何程序本身占用的RAM空间
以常用的BLE从机peripheral例程为例,协议栈开销比较大的两处:
①协议栈有一部分代码对速度有要求,添加了“HIGHCODE”修饰,需要占用一部分ram来跑代码,大约占用8Kram。这部分开销无法压缩。
②发包缓存队列、收包暂存数据、BLE连接的维护等等,由BLE_MEMHEAP_SIZE在编译时先行划分出来。协议栈会在BLE_MEMHEAP_SIZE划出的ram中申请内存来存放数据。BLE_MEMHEAP_SIZE太小会出现收不到包、连接过程未完成即断连等等问题。BLE_MEMHEAP_SIZE可以压缩到不出问题为止,除非ram不够用,否则不建议改小。