请问一下哪位大神:
我这边移植一个GUI, ke_malloc() 5KB的堆空间时,直接堵塞在ke_malloc() 里了,
怀疑是堆空间分配不够所致。
尝试修改sct,需要相关内存映射描述文档,请问一下这个在哪边能找到??
原始sct如下:
LR_ROM1 0x10000000 0xCDB0
{
APP_CODE 0x10000000 0xCDB0
{
*.o (RESET, +First)
startup.o (+RO)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+RW +ZI)
}
}
ble_heap 的大小配置在app_config.h 下
static uint8_t ble_heap[BLE_HEAP_SIZE];
/// Size of the heap
#if (BLE_CENTRAL || BLE_PERIPHERAL)
/// some heap must be reserved for attribute database
#if (BLE_ATTS || BLE_ATTC)
#define GAP_DB_SIZE (232)
#define GATT_DB_SIZE (60)
#define BLE_DB_SIZE (GAP_DB_SIZE+GATT_DB_SIZE+QPPS_DB_SIZE+OTAS_DB_SIZE+HTPT_DB_SIZE+PXPR_DB_SIZE+FMPT_DB_SIZE+DISS_DB_SIZE+ BLPS_DB_SIZE+TIPS_DB_SIZE+HRPS_DB_SIZE+HOGPD_DB_SIZE+SCPPS_DB_SIZE+BASS_DB_SIZE+GLPS_DB_SIZE+RSCPS_DB_SIZE+PASPS_DB_SIZE+CSCPS_DB_SIZE+ANPS_DB_SIZE)
#else
#define BLE_DB_SIZE (0)
#endif /* (BLE_ATTS || BLE_ATTC) */
#define BLE_HEAP_SIZE (BLE_DB_SIZE + 512 + 256 * BLE_CONNECTION_MAX)
#else
#define BLE_HEAP_SIZE (800)
#endif /* #if (BLE_CENTRAL || BLE_PERIPHERAL) */
feiyi26
4
LR_ROM1 0x10000000 0xCDB0
{
APP_CODE 0x10000000 0xCDB0
{
*.o (RESET, +First)
startup.o (+RO)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+RW +ZI)
}
}
我的代码超过64KB(我用的9022 外挂256K flash) ,而这里定义的空间大小仅为52K,我尝试修改0XCDB0 ,但是keil编译能过,跑不起来!