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

YunTu Forum

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

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

已定时 已固定 已锁定 已移动 YTM32B1H系列
3 帖子 2 发布者 110 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 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
    • 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

      • 云途论坛规则/Yuntu Forum Rules

        发帖前请查看

      • YCT离线License申请流程

        帮助没办法联网的电脑使用YCT

      • YT CONFIG TOOL调查问卷

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

      • demo
        12
        can
        9
        lin stack
        6
        yt-link
        5
        vscode
        3
        adc模块
        2
        i2c
        2
        uuid
        2
        Online Users
        • 登录

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