GD32F450平台上跑rtthread时,JLINK通过RTT控制块进行VIWER_gd32f450z rtt-程序员宅基地

技术标签: 开发语言  单片机  

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

通过Segger-jlink viwer软件进行输出,可以输出调试日志等方便调试


一、SEGGER RTT的优点

不需要额外的引脚,不占用外设,只需要JLINK的SWD引脚就能够实现日志的输出,并且速度快,不影响应用程序的实时性。

二、使用工具

首先要安装SEGGER Jlink驱动,装过Segger全家桶后,会发现多了很多的工具,我们主要要使用下面的这个进行日志的接收。
在这里插入图片描述

三、源码中添加RTT

把Segger下面的RTT源文件添加的工程目录中,为了方便日志的输出,可以自己定义头文件改规定日志输出的格式。然后在自己的程序中添加要输出日志的测试程序。
如果是通过makefile编译的工程,注意要在makefile中进行相应的修改,以确保源码被编译到工程输出的文件中。

四、连接Viewer

选好芯片型号,按照如下的配置,在地址处配置好最后生成的SEGGER_RTT的地址。
在这里插入图片描述
最后就可以顺利调试了,日志输出的调试的界面如下
在这里插入图片描述

总结

注意RTT源码要确定被编译!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_30058483/article/details/126643331

智能推荐

HTML元素随滚动条滚动-程序员宅基地

文章浏览阅读1.4k次。比较常见的是一个Div层随滚动条滚动,使Div层位置相对于可视区域不变,其实质就是当滚动条位置改变后,重新定位层的位置。网上有不少的例子,总的思路可以分为两类:1.CSS样式定位。不同的浏览器及其版本,实现稍有不同。这种方式是利用CSS的expression特性,通过执行绑定的一个计算坐标位置的js表达式,把结果设置为层的坐标值,最终实现Div层位置的滚动。2.Javascript定位。使..._html页面内容随着滚轮

将程序移植到64位Windows-程序员宅基地

文章浏览阅读189次。雷立辉整理简介:本文对如何将32位Windows程序平滑的支持和过渡到64位Windows操作系统做出了一个简单而系统的介绍。包括对于64位操作系统的版本,编程模型,一些移植原则甚至包括对驱动程序的移植原则的介绍。作者介绍:系统分析员,现在在北京工作。作者的blog:http://goooder.blogchina.com.前言:或许大家还对32位的CPU及操作系统使用还是觉得非常的合乎..._conversion from 'int' to 'pvoid' of greater size

python和java哪个更有前景,java和python哪个好知乎-程序员宅基地

文章浏览阅读841次,点赞14次,收藏7次。说到底,Python只是一门工具而已,纯Python的工作几乎没有,上面提到的那几个领域,每个领域需要掌握的知识点,绝对是Python的几倍以上,只会Python的话还是洗洗回去睡觉吧。其实这也很好理解,这就好比,你学会用铅笔很简单,但你仅仅会用铅笔是绝对找不到素描的工作,因为你要画好一幅素描的话就需要懂一些素描相关的技法,而铅笔的使用只是非常非常基础的能力而已。当然了,如果你后面又考研了,又去深入学习了数学,那么果断去做人工智能/机器学习/数据分析等等新兴的工作,竞争比较小,工资又高,何乐而不为?

(转)Android Bander设计与实现 - 设计篇_openbander-程序员宅基地

文章浏览阅读625次。关键词Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本_openbander

Hashtable与HashMap的区别_hashmap效率高于hashtable-程序员宅基地

文章浏览阅读411次,点赞5次,收藏5次。Hashtable与HashMap的区别 HashMap不是线程安全的,HashTable是线程安全。 HashMap允许空(null)的键和值(key),HashTable则不允许。 HashMap性能优于Hashtable。 Map1.Map是一个以键值对存储的接口。Map下有两个具体的实现,分别是HashMap和HashTable.2.Ha_hashmap效率高于hashtable

ICLR 2019评审意见上线:论文得分中位数连年下滑,最高分论文出炉-程序员宅基地

文章浏览阅读1.5k次。林鳞 编译整理量子位 出品 | 公众号 QbitAIAttention:ICLR 2019大部分论文的得分和评审意见已经新鲜出炉了。这两天,openreview网站放出了..._icml最高分

随便推点

Idea打包 linux无法运行jar Error:Invalid or corrupt jarfile xxx.jar_jar包 在linux下报 invalid-程序员宅基地

文章浏览阅读1k次。现象今天像往常一样打包完jar包却不能运行,明明没做任何操作,各种清了依赖重启Idea也没用。windows上可以运行,linux上运行就报错:Error:Invalid or corrupt jarfile xxx.jar。后来试了一下其他linux机子上也能运行。然后想到是不是权限问题。解决方法chmod 777 xxx.jar..._jar包 在linux下报 invalid

详解什么是线程安全?-程序员宅基地

文章浏览阅读2.6k次,点赞8次,收藏18次。并发(Concurrent),在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。那么,操作系统视如何实现这种并发的呢?现在我们用到操作系统,无论是Windows、Linux还是MacOS等其实都是多用户多任务分时操作系统。使用这些操作系统的用户是可以“同时”干多件事的。但是实际上,对于单CPU的计算机来说,在CPU中,同一时间是只能干一件事儿的。_线程安全

Android源码大放送(实战开发必备)(2)-程序员宅基地

文章浏览阅读682次,点赞12次,收藏17次。│ listview获取网络图片缓存优化.zip│ 一个ExpandableListView的例子,实现多级菜单分类展示.rar│ 三种ListView下拉刷新的样式.rar│ 仿QQ listView的item划动删除+上下拉刷新.rar│ 仿QQ消息列表(ListView)滑动删除效果源码.rar│ 仿UC删除窗口列表动画.rar│ 仿照新浪微博Android客户端个人中心的ScrollView.rar。

python 变量命名与使用_name1什么意思python-程序员宅基地

文章浏览阅读1k次。一, 变量命名1,概念:变量名只有在第一次出现的时候,才是定义变量。当再次出现时,不是定义变量,而是直接使用之前定义的变量。2,命名1)变量名可以包括字母、数字、下划线,但是数字不能做为开头。例如:name1是合法变量名,而1name就不可以。2)系统关键字不能做变量名使用3)除了下划线之个,其它符号不能做为变量名使用4)Python的变量名是除分大小写的注:可以使用驼峰命名法大驼峰:每一个单词的首字母都大写 FirstName LastName小驼峰:第一个单词以小写字母开始_name1什么意思python

向0圆整 matlab,matlab学习笔记-程序员宅基地

文章浏览阅读614次。1、ceil 是向离它最近的大整数圆整 对x朝正无穷大方向取整如a = [-1.9, -0.2, 3.4, 5.6, 7, 2.4+3.6i]圆整后:a=[-1,0,4, 6, 7 ,3+4i]fix向0靠拢取整: fix(3.2)ans =3>> fix(3.7)ans =3>> fix(-3.7)ans =-3>> fix(-3.2)ans =-3floor..._向大圆整

自定义对话框——7种_没有窗口时如何定义对话框的所有者-程序员宅基地

文章浏览阅读829次。Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog)._没有窗口时如何定义对话框的所有者

推荐文章

热门文章

相关标签