导航

    Freqchip开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    1. 主页
    2. _jim
    3. 帖子
    _
    • 继续与 _jim 聊天
    • 开始与 _jim 的新会话
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 主题
    • 帖子
    • 最佳
    • 群组

    _jim 发布的帖子

    • 关于FR800x os_get_free_heap_size
      uint32_t er_zi_limit = (uint32_t)&Image$$ER_ZI$$Limit;
      uint32_t heap_base = (uint32_t)&Image$$RAM_CHECK$$Base;
      uint32_t free_space  = heap_base  - er_zi_limit;  
      
      printf("%s os_get_free_heap_size = %d (~%dKB)\r\n",__FUNCTION__,os_get_free_heap_size(),os_get_free_heap_size()/1024);  
      printf("Sct config Heap Base[%X] size = %d (~%dKB)\r\n", heap_base-1, free_space, free_space/1024);    
      
      printf("%-20s 0x%08X   %-12u %-12u\r\n", "ER_ZI",            (uint32_t)&Image$$ER_ZI$$Base,            (uint32_t)&Image$$ER_ZI$$Length,            ((uint32_t)&Image$$HEAP_KE$$Base  - (uint32_t)&Image$$ER_ZI$$Base));
      printf("%-20s 0x%08X   %-12u %-12u\r\n", "HEAP_KE",          (uint32_t)&Image$$HEAP_KE$$Base,          (uint32_t)&Image$$HEAP_KE$$Length,          (0x1100C000  - (uint32_t)&Image$$HEAP_KE$$Base));
      

      17:24:21<-[S49]: proj_init os_get_free_heap_size = 26676 (~26KB)
      17:24:21<-[S53]: Sct config Heap Base[1100BFFF] size = 27980 (~27KB)

      17:24:21<-[S63]: Region Name Base Addr Size (Bytes) Span (Bytes)
      17:24:21<-[S63]: ER_ZI 0x110052B4 0 6860
      17:24:21<-[S63]: HEAP_KE 0x11006D80 4 21120

      请问SDK中os_get_free_heap_size 的大小,是与(uint32_t)&Image$$ER_ZI$$Limit 关联还是 (uint32_t)&Image$$HEAP_KE$$Base 关联? 按照打印出来的数据,我的理解是最大不超过21120 ,但是os_get_free_heap_size = 26676 ,是否包含ER_ZI的空间了,还是我的理解有误?

      发布在 FR800x
      _
      _jim