• 注册 / 登录
  • 切换到窄版
  • 查看: 1958|回复: 0

    小华移植SEGGER_RTT打印

    [复制链接]

    676

    主题

    690

    帖子

    6810

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6810
    发表于 2023-3-9 16:05:23 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    一、目的

    1.在单片机开发中,串口是我们最好的‘伙伴’,没有什么BUG是串口打印无法解决的。如果有就debug吧。哈哈!!

    2.但是如果在某些时候,串口都用完了。或者没有引出串口的情况下,如何打印信息了。。这就用到本章的BOSS了。SEGGER_RTT打印,是基于jlink的工具的,反正用过都说好。。。

    3.进入正题:如果是stm32等常见或者厂商支持的就非常方便了。但是华大没想明白为何没有支持,当时可真是废了不少劲。加上前几天有人问我怎么在华大上试下rtt_printf,因此就写下这篇文章

    二、执行过程

    4.首先要到jlink官网下载SEGGER套件

    5.下载好后,可以到目录C:\Program Files (x86)\SEGGER\JLink (这是我的可供参考)下面可以看到多了几个exe文件。主要是:

    JLinkRTTViewer.exe 这个软件

    1.png

    是没有HDSC,也就是小华的选择,因为小华没有加入。

    所以,这才是最麻烦的地方了,ST或者其他的整个系列都是有的。

    因此,我们就得找找规律和手册,自己手动添加了。。

    根据一天的苦恼,加上百度等,发现了官网有教程:

    https://wiki.segger.com/Open_Flashloader#Create_a_Flash_Loader

    当然我没怎么看懂,翻译也是。。。菜吧,不管了。我直接就上了,直接操作比任何来的实在

    JLinkDevices.xml ,打开在SEGGER/jlink目录下的这个文件,然后我们就会发现了规律了。。在最后按照前面的格式复制一个新的出来,然后修改如下:

    1. <Device>
    2.     <ChipInfo Vendor="HDSC" Name="FlashHC32L13X_64K" Core="JLINK_CORE_CORTEX_M0" WorkRAMAddr="0x20000000" WorkRAMSize="0x2000" />
    3.     <FlashBankInfo Name="FlashHC32L13X_64K" BaseAddr="0x00000000" MaxSize="0x10000" Loader="Devices/HDSC/FlashHC32L13X_64K.FLM" LoaderType="FLASH_ALGO_TYPE_CMSIS" />
    4.   </Device>
    复制代码

    添加后如图所示,还有记得把FlashHC32L13X_64K.FLM 该文件放到指定的目录下即可。这个文件在HC32L13x_SDK 里面都是有的。因此大家自己找下。

    三、结果

    然后重新打开JLinkRTTViewer.exe 这个软件

    2.png

    就会出现我们的HDSC了。。此时,如果代码已经成功移植RTT_printf的话,就可以直接打印了。

    回复

    使用道具 举报

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

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-12-22 20:43 , Processed in 0.046573 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表