打印
[综合信息]

华大移植SEGGER_RTT 打印

[复制链接]
3551|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
朝生|  楼主 | 2022-9-13 14:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
华大移植SEGGER_RTT 打印
一、目的
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 这个软件


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

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

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

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

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

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

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

  <Device>
    <ChipInfo Vendor="HDSC" Name="FlashHC32L13X_64K" Core="JLINK_CORE_CORTEX_M0" WorkRAMAddr="0x20000000" WorkRAMSize="0x2000" />
    <FlashBankInfo Name="FlashHC32L13X_64K" BaseAddr="0x00000000" MaxSize="0x10000" Loader="Devices/HDSC/FlashHC32L13X_64K.FLM" LoaderType="FLASH_ALGO_TYPE_CMSIS" />
  </Device>
添加后如图所示,还有记得把FlashHC32L13X_64K.FLM 该文件放到指定的目录下即可。这个文件在HC32L13x_SDK 里面都是有的。因此大家自己找下。
三、结果:
然后重新打开JLinkRTTViewer.exe 这个软件

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

使用特权

评论回复
沙发
LinkMe| | 2022-9-13 15:16 | 只看该作者
jlink SEGGER套件有要求哪个版本的吗?

使用特权

评论回复
板凳
guijial511| | 2022-9-13 22:08 | 只看该作者
这个是免费的吗?

使用特权

评论回复
地板
朝生|  楼主 | 2022-9-15 13:44 | 只看该作者
LinkMe 发表于 2022-9-13 15:16
jlink SEGGER套件有要求哪个版本的吗?

没有哦,不过版本越高越好!

使用特权

评论回复
5
朝生|  楼主 | 2022-9-15 13:45 | 只看该作者
guijial511 发表于 2022-9-13 22:08
这个是免费的吗?

当然,只要你有JLink,就可以免费使用!

使用特权

评论回复
6
Bowclad| | 2022-9-16 18:59 | 只看该作者
有jlink就能用

使用特权

评论回复
7
朝生|  楼主 | 2022-10-4 11:27 | 只看该作者

对的,因为是SEEGER公司开发的软件~

使用特权

评论回复
8
Undshing| | 2022-10-4 22:30 | 只看该作者
jlink支持这么多型号

使用特权

评论回复
9
tpgf| | 2022-10-8 16:30 | 只看该作者
RTT的使用本身很简单,只需要将源代码加入工程,修改SEGGER_RTT_Conf.h配置后就可以直接使用。

使用特权

评论回复
10
qcliu| | 2022-10-8 16:43 | 只看该作者
RTT Control Block,如果Auto Detection下看不到输出,可以改成Search Range,然后手动写入MCU的RAM地址和大小。

使用特权

评论回复
11
drer| | 2022-10-8 16:53 | 只看该作者
相当于华大帮我们打了一个补丁 这样就能正常使用了

使用特权

评论回复
12
coshi| | 2022-10-8 17:15 | 只看该作者
是完全开放所有功能的吗还是说需要使用**版本

使用特权

评论回复
13
kxsi| | 2022-10-8 17:29 | 只看该作者
朝生 发表于 2022-9-15 13:44
没有哦,不过版本越高越好!

感觉还是使用稳定的成熟的版本比较不容易出问题

使用特权

评论回复
14
wiba| | 2022-10-8 18:20 | 只看该作者
楼主的思维太活跃了  这种办法都能想到 一般人解决不了啊

使用特权

评论回复
15
朝生|  楼主 | 2022-10-8 19:59 | 只看该作者
coshi 发表于 2022-10-8 17:15
是完全开放所有功能的吗还是说需要使用**版本

不用的,只要有JLINK就行了~

使用特权

评论回复
16
V853| | 2022-10-8 20:00 | 只看该作者
原来这么简单,我刚开始还以为很难呢。

使用特权

评论回复
17
chenqianqian| | 2022-10-10 07:41 | 只看该作者
这个规律可以自己添加其它型号了啊!

使用特权

评论回复
18
朝生|  楼主 | 2022-10-11 20:45 | 只看该作者
chenqianqian 发表于 2022-10-10 07:41
这个规律可以自己添加其它型号了啊!

对头,一般得都能这么添加。

使用特权

评论回复
19
pixhw| | 2022-11-2 20:10 | 只看该作者
这个跟串口没有什么区别啊              

使用特权

评论回复
20
yeates333| | 2022-11-2 20:26 | 只看该作者
SEGGER_RTT 用起来非常方便了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

1930

帖子

2

粉丝