当前位置: 首页 > news >正文

SEGGER | 基于STM32F405 + Keil - RTT组件01 - 移植SEGGER RTT

导言


RTT(Real Time Transfer)是一种用于嵌入式中与用户进行交互的技术,它结合了SWO和半主机的优点,具有极高的性能。
使用RTT可以从MCU非常快速输出调试信息和数据,且不影响MCU实时性。这个功能可以用于很多支持J-Link的设备和MCU,兼容性强。
RTT支持两个方向的多个通道,上到主机,下到目标,它可以用于不同的目的,为用户提供尽可能多的自由。默认实现每个方向使用一个通道,用于可打印终端输入和输出。
使用J-Link RTT Viewer,可用于“虚拟”终端,允许打印到多个窗口(例如,一个用于标准输出,一个对于错误输出,一个用于调试输出)。
在这里插入图片描述
性能方面绝对无敌!!
RTT的性能明显高于其他任何用于将数据输出到主机PC的方式。平均一行文本可以在1微秒或更短的时间内输出。基本上相当于做一个memcopy()的时间。
RTT实现代码使用大约500字节的ROM和(n(通道数) * (24字节ID+24字节))的RAM。推荐的大小是1 kByte(上行信道)和16到32字节(下行信道),这取决于输入/输出的负载。

开发板+J-Link:
在这里插入图片描述
项目源码:https://github.com/q164129345/MCU_Develop/tree/main/jlink_rtt_viewer

一、下载


官网:https://www.segger.com/downloads/jlink/
在这里插入图片描述
按照自己的电脑的系统和芯片类型,选择安装包。比如Intel的Windows11 64位系统,从Windows栏目下,点击下载64-bit Installer。

二、安装


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按照上面的流程,安装J-LINK组件。
在这里插入图片描述
安装完毕后,可以找到J-LINK RTT Viewer,证明安装顺利完成了。

三、移植


3.1、找到源码(5个文件)

安装J-LINK驱动后,找到软件的安装目录,我的电脑的目录如下:
在这里插入图片描述
如上两张图片所示,一共5个文件都要Copy下来。

3.2、将源码放入工程里

在这里插入图片描述至此,源码准备完成。

四、Keil


4.1、将源码添加到项目

在这里插入图片描述
在这里插入图片描述

4.2、main.h

在这里插入图片描述

4.3、main.c

在这里插入图片描述
在这里插入图片描述

五、编译、下载


在这里插入图片描述

六、RTT Viewer查看log

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

SEGGER | 基于STM32F405 + Keil - RTT组件01 - 移植SEGGER RTT

导言 RTT(Real Time Transfer)是一种用于嵌入式中与用户进行交互的技术,它结合了SWO和半主机的优点,具有极高的性能。 使用RTT可以从MCU非常快速输出调试信息和数据,且不影响MCU实时性。这个功能可以用于很多支持J-Link的设备和MCU&#xff0…...

分布式开发学习

1、kratos的特点 gRPC:Kratos 默认支持 gRPC,提供高性能的远程调用能力,适用于微服务间通信。 HTTP :同时支持 HTTP/1.1 和 HTTP/2,方便微服务与外部系统交互。 Protocol Buffers: protoc 工具生…...

freeswitch(开启支持MCU视频会议,使用mod_av模块)

亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch场景说明: 有些场景想使用视频会议MCU融合画面进行开会使用方法: 第一步:下载插件 yum install -y epel-release yum install...

Vue3常见api使用指南(TS版)

defineProps() 和 defineEmits() 内置函数,无需import导入,直接使用。传入到 defineProps 和 defineEmits 的选项会从 setup 中提升到模块的范围。因此,传入的选项不能引用在 setup 范围中声明的局部变量(比如设置默认值时),但是…...

分布式 分布式事务 总结

前言 相关系列 《分布式 & 目录》《分布式 & 分布式事务 & 总结》《分布式 & 分布式事务 & 问题》 分布式事务 所谓分布式事务是指操作范围笼罩多个不同节点的事务。例如对于订单节点&库存节点而言,一次完整的交易需要同时调动两个节…...

onnx文件转pytorch pt模型文件

onnx文件转pytorch pt模型文件 1.onnx2torch转换及测试2.存在问题参考文献 从pytorch格式转onnx格式,官方有成熟的API;那么假如只有onnx格式的模型文件,该怎样转回pytorch格式? https://github.com/ENOT-AutoDL/onnx2torch提供了…...

智能座舱人机交互升级

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源&…...

RabbitMQ中点对点(Point-to-Point)通讯方式的Java实现

RabbitMQ是一个广泛使用的开源消息代理软件,它实现了高级消息队列协议(AMQP)。RabbitMQ支持多种消息传递模式,其中最基本的是点对点(Point-to-Point)通讯方式。在这种模式下,消息生产者将消息发…...

爬虫实战:获取1688接口数据全攻略

引言 在电商领域,数据的重要性不言而喻。1688作为中国领先的B2B电商平台,提供了海量的商品数据。通过爬虫技术获取这些数据,可以帮助企业进行市场分析、价格监控和供应链管理。本文将详细介绍如何使用Python爬虫技术合法合规地获取1688接口数…...

生成树协议STP工作步骤

第一步:选择根桥 优先级比较:首先比较优先级,优先级值越小的是根桥MAC地址比较:如果优先级相同,则比较MAC地址。MAC地址小的是根桥。 MAC地址比较的时候从左往右,一位一位去比 第二步:所有非根…...

Android14 AOSP支持短按关机

修改frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java diff --git a/base/services/core/java/com/android/server/policy/PhoneWindowManager.java b/base/services/core/java/com/android/server/policy/PhoneWindowManager.java in…...

C# 和 go 关于can通信得 整理

在C#中开发CAN(Controller Area Network)通信接口时,确实有一些现成的NuGet包可以简化你的开发工作。这些库通常提供了与CAN硬件接口通信所需的基本功能,如发送和接收CAN消息。下面是一些常用的NuGet包: PCANBasic.NET…...

vue常用命令汇总

nvm 一个nodejs版本管理工具,解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 npm 可以管理 nodejs 的第三方插件。 vue-cli 是Vue提供的一个官方cli,专门为单页面应用快速搭建繁杂的脚手架。 nginx 是一个高性能的HTTP和反向代理we…...

【C++习题】18.逆波兰表达式求值

题目&#xff1a;逆波兰表达式求值 链接&#x1f517;&#xff1a;逆波兰表达式求值 题目&#xff1a; 代码&#xff1a; class Solution {public:int evalRPN(vector<string>& tokens) {stack<int> s;for (size_t i 0; i < tokens.size(); i){string&a…...

本地如何使用 yarn link 调试本地 npm 包

如何使用 yarn link 调试本地 npm 包&#xff1a; 在前端开发中&#xff0c;通常我们会开发并使用许多 npm 包来实现项目的功能。随着开发的深入&#xff0c;我们经常需要调试或修改某些 npm 包的源码。如果你正在开发一个 npm 包&#xff0c;并且希望在本地项目中进行调试&am…...

江恩45年一书的自己一点读书见解

读了下江恩的华尔街45年&#xff0c;有些浅薄的体会&#xff0c;记录下 江恩的华尔街45年里面&#xff0c;感触比较深刻的有以下几点&#xff1a; 1.为什么会亏钱 1.利用大仓位来过度交易&#xff0c;违背了资本安全的原则。买卖过于频繁 2.没有用止损单来保护你的交易。 3.缺…...

影响 Linux、Unix 系统的 CUPS 漏洞可导致 RCE

在经过大量炒作和第三方过早泄露信息之后&#xff0c;安全研究员 Simone Margaritelli 公布了有关通用 UNIX 打印系统 (CUPS) 中的四个零日漏洞的详细信息。 这些漏洞可被远程、未经身份验证的攻击者滥用&#xff0c;在易受攻击的 Linux 和类 Unix 系统上实现代码执行。 CUPS…...

【汇编】思考汇编中的两个基本问题

1. 若干年前的疑问 几年前还在大学学习汇编时&#xff0c;不管是考试还是课程设计&#xff0c;其实都很顺利。但是心里一直对什么时候使用哪个寄存器存在疑惑&#xff0c;编写汇编时&#xff0c;没有十足的把握&#xff0c;都是抱着试一试的心态去完成了课程任务。 工作八年有…...

Nest Dynamic modules 笔记

Nest Dynamic modules 文档地址&#x1f448; 记录Dynamic modules是因为确实抽象&#xff0c;文档并没有很详细的指出不同方式创建动态模块的区别 两种不同的动态模块创建方式 静态模块传统动态模块方式实现三种不同的方法命名使用ConfigurableModuleBuilder异步动态模块如果…...

生成式AI、大模型、多模态技术开发与应用学习清单

学习目的&#xff1a; 了解AIGC发展现状与核心技术。 掌握Transformer核心开发技术。掌握向量数据库的工作原理、检索算法、主要开源数据库。掌握大模型调用、微调方法。掌握以GPT大语言模型为基础的工作原理。 掌握AIGC技术在跨模态领域的应用技术。了解GPT提示工程和AIGC的安…...

DS89C420片上SRAM的启用与配置详解

1. 项目概述&#xff1a;DS89C420片上SRAM的启用与配置 在嵌入式开发领域&#xff0c;Dallas Semiconductor&#xff08;后被Maxim Integrated收购&#xff09;的DS89C420系列微控制器因其高性能和丰富的外设资源受到工程师青睐。这款基于8051架构的芯片有一个容易被忽视的特性…...

如何用Yarn Spinner在15分钟内构建游戏对话系统:从新手到专家的完整指南

如何用Yarn Spinner在15分钟内构建游戏对话系统&#xff1a;从新手到专家的完整指南 【免费下载链接】YarnSpinner The core compiler and engine-agnostic components for Yarn Spinner, the friendly dialogue tool. 项目地址: https://gitcode.com/gh_mirrors/ya/YarnSpin…...

为什么83%的AI Agent项目卡在POC阶段?——20年架构师拆解4层“隐性集成墙”及破壁工具链

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;为什么83%的AI Agent项目卡在POC阶段&#xff1f;——20年架构师拆解4层“隐性集成墙”及破壁工具链 当AI Agent从论文走向产线&#xff0c;真正的断崖不在模型能力&#xff0c;而在四堵看不见的“集成墙”&am…...

2026年必看:Trae对比Claude Code详细评测,热门AI编程工具横评

2026年必看&#xff1a;Trae对比Claude Code详细评测&#xff0c;热门AI编程工具横评 AI编程工具已从辅助插件演进为全流程开发核心引擎&#xff0c;2026年各类产品迭代加速&#xff0c;既有贴合本土开发者的创新工具&#xff0c;也有海外深耕多年的成熟产品。本次聚焦Trae&am…...

观察Taotoken在流量高峰时段的请求成功率和路由表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken在流量高峰时段的请求成功率和路由表现 在构建依赖大模型能力的应用时&#xff0c;服务的稳定性是开发者关心的核心问…...

深度学习实验十大模式与反模式:工业级可复现性实战指南

1. 项目概述&#xff1a;为什么这十个模式与反模式值得你花一整周反复咀嚼 “Ten Patterns and Antipatterns of Deep Learning Experimentation”——这个标题乍看像一篇学术综述&#xff0c;但在我带过27个工业级AI项目、亲手调试过412次模型训练失败日志、在三个不同行业的M…...

RISC-V MCU移植RTOS实战:以鸿蒙OS LiteOS-M与CH32V307为例

1. 项目概述与核心思路 最近在折腾一块沁恒微电子的CH32V307开发板&#xff0c;这是一颗基于RISC-V架构的MCU&#xff0c;性能不错&#xff0c;外设也丰富。手头正好有个任务&#xff0c;需要把华为的鸿蒙OS LiteOS-M内核给移植上去。这活儿听起来挺唬人&#xff0c;但实际拆解…...

C++ std::function:类型擦除与万能函数包装器实战指南

1. 项目概述&#xff1a;为什么我们需要 std::function 在C的世界里&#xff0c;函数指针曾经是回调、事件处理和策略模式等场景的绝对主力。但用过的人都知道&#xff0c;那玩意儿用起来有多别扭&#xff1a;类型声明复杂&#xff0c;对非静态成员函数、lambda表达式、函数对…...

解锁智能电网通信:libiec61850如何重塑电力自动化架构

解锁智能电网通信&#xff1a;libiec61850如何重塑电力自动化架构 【免费下载链接】libiec61850 Official repository for libIEC61850, the open-source library for the IEC 61850 protocols 项目地址: https://gitcode.com/gh_mirrors/li/libiec61850 在电力系统自动…...

3个颠覆性技巧:让AI-HF_Patch释放游戏200%潜力的完整秘籍

3个颠覆性技巧&#xff1a;让AI-HF_Patch释放游戏200%潜力的完整秘籍 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch 你是否曾经下载了心仪的角色卡&#xff0c;却因…...