导航

    Freqchip开发者论坛

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

    _jim

    @_jim

    0
    声望
    5
    帖子
    195
    资料浏览
    0
    粉丝
    0
    关注
    注册时间 最后登录

    _jim 关注

    _jim 发布的帖子

    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      @teng 8M和16M 没区别的,JFLASH 会自己判断,JLinkDevices.xml 中你应该也设置了芯片大小,JFALSH关闭校验(常规校验方式是回读,很慢),速度会更快些,不然就自己做个FLM,用CRC校验,速度快很多 ,340K左右 8.868 sec (SDK1.4)

      • Target erased, programmed and verified successfully - Completed after 8.868 sec

      (SDK1.5 的版本, -U的芯片JFLASH连接就不大对, 不带U的正常)

      发布在 FR800x
      _
      _jim
    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      @teng sct改成8M就可以了, 16M是其他系列, 一般后面的几M都是放固定图片吧,不然你每次调试都要去重新烧录,烧录一次有的等,今天试了下新的SDK1.5的库,感觉对JLINK的兼容性有问题, 没有SDK1.4的好,估计他们内部启动函数又修改了什么东西,更新也没有看到日志,建议你直接找个FAE去对接下。

      发布在 FR800x
      _
      _jim
    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      @ding56239 它这个其实就是内部QSPI挂了FLASH,如果绑定信息你应用层没用到,映射到其他地方,应该也不会影响到连接吧,串口看看日志。之前遇到很难连接是 LVGL+ST77903+full_refresh+开启LV监测,发现BLE很难连接,应该是LVGL处理数据阻塞的时间太长导致。

      发布在 FR800x
      _
      _jim
    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      直接手动改下FLM里面的地址就可以了
      0_1783831078090_屏幕截图 2026-07-12 123348.png

      发布在 FR800x
      _
      _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