跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. 如何使用32B1H的TCM优化系统性能

如何使用32B1H的TCM优化系统性能

已定时 已固定 已锁定 已移动 已解决 YTM32B1H系列
3 帖子 2 发布者 1.8k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • yxydoctorY 离线
    yxydoctorY 离线
    yxydoctor
    写于 最后由 yxydoctor 编辑
    #1

    32B1H内置32KB的ITCM和128KB的DTCM,不使用的话太可惜了。

    虽然cache同样能起到系统加速的作用,但存在命中率问题;并且还要考虑多主机访问时的nocache问题。而TCM不会存在类似问题。

    之前在NXP的M7平台下是通过修改icf链接文件处理的,以文件为单位:
    initialize by copy { section .text object bsp_radar.o};
    place in QACODE_region { section .text object bsp_radar.o }; // ITCM
    place in DATA_region { readwrite data object bsp_radar.o }; // DTCM
    效果非常明显。

    32B1H的链接文件是借助YT-LINK自动生成的,不建议手工修改icf链接文件。现在是这样处理的:
    #define DTCM_VAR attribute((section(".dtcm_data")))
    #define ITCM_FUN attribute((section(".ramcode")))

    ITCM目前是这样处理的:
    1 - 以函数为单位;
    2 - 关键函数放入ITCM;
    3 - 中断回调函数放入ITCM;

    这个过程暂时是正常的,处理完毕后综合性能大约提升10%。但也有一些问题:
    1 - 不能以文件为单位设置;
    2 - 有些函数打入ITCM能提升性能,而有些函数打入ITCM反而不行;应该是还需要变量放入DTCM才行。

    变量存放于DTCM一直未测通,几个表格可以,如:
    const uint8_t auchCRCHi[] = {

    但全局变量一旦加上DTCM_VAR做修饰,就会有编译错误。
    无标题.png

    按论坛官方提供的方案:“确保yt-link DATA_FLASH 和 DATA_RAM 有同样的对齐配置”,修改对齐参数,也没什么用。

    结论:
    1 - ITCM暂时还没有出现过check failed错误,但现在只能以函数为单位配置,不方便;
    2 - DTCM无法配置,128KB空间用不起来太浪费了

    1 条回复 最后回复
    0
    • yxydoctorY 离线
      yxydoctorY 离线
      yxydoctor
      在 回复了 Frankie 最后由 编辑
      #3

      Frankie 谢谢大神,确实如此,改为dtcm_bss就好了👍

      1 条回复 最后回复
      0
      • FrankieF 离线
        FrankieF 离线
        Frankie YunTu
        写于 最后由 Frankie 编辑
        #2

        你这两个数组差这么多,不是对齐的问题了。加了DTCM_VAR 的值确保给了初始值,不然要放在attribute((section(".dtcm_bss")))里面。

        yxydoctorY 1 条回复 最后回复
        0
        • yxydoctorY 离线
          yxydoctorY 离线
          yxydoctor
          在 回复了 Frankie 最后由 编辑
          #3

          Frankie 谢谢大神,确实如此,改为dtcm_bss就好了👍

          1 条回复 最后回复
          0
          • ,FrankieF Frankie 将这个主题转为问答主题
          • ,FrankieF Frankie 将这个主题标记为已解决

        • 云途开发生态介绍

          快速上手云途开发生态

        • 云途论坛规则/Yuntu Forum Rules

          发帖前请查看

        • YT CONFIG TOOL调查问卷

          帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

        • can
          25
          demo
          22
          lin stack
          13
          uds
          13
          md14
          6
          yt-link
          6
          fbl
          5
          adc模块
          4
          Online Users
          • 登录

          • 登录或注册以进行搜索。
          • 第一个帖子
            最后一个帖子
          0
          • 版块
          • 最新
          • 标签
          • 热门