Firefly开源社区

内存分配规则如何修改

13

积分

0

威望

0

贡献

游客

积分
13
发表于 2015-8-25 16:48:57     
请问一下哪位大神:
我这边移植一个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)
    }
}
回复

使用道具 举报

151

积分

0

威望

0

贡献

技术小白

积分
151
发表于 2015-8-26 09:43:41     
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) */
回复

使用道具 举报

13

积分

0

威望

0

贡献

游客

积分
13
发表于 2015-8-26 16:30:45     
FireBLE_blue 发表于 2015-8-26 09:43
ble_heap 的大小配置在app_config.h 下

static uint8_t ble_heap;

按照您的方法,问题已解决, 谢谢大神。
回复

使用道具 举报

37

积分

0

威望

0

贡献

游客

积分
37
发表于 2016-12-16 08:36:40     
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编译能过,跑不起来!
回复

使用道具 举报

37

积分

0

威望

0

贡献

游客

积分
37
发表于 2016-12-16 08:37:32     
请问外挂flash的,需要在那里修改空间大小。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表