1 概述
本文档主要用于介绍STM32裸机的调方法以及RT-thread系统下的调试方法。两个例子都将以LED为例,裸机将以跑马灯为例,RT-thread将以心跳等为例进行讲解。
2 STM32裸机调试方法
打开“标准例程-V3.5库函数版本”目录下的“实验1跑马灯-库函数操作”项目作为本次实验的目标项目。下面将介绍两种方式进行调试:1、软件仿真、2、下载调试。
相关调试按键介绍:
图1:调试栏
每个按键的作用:
:复位
:一直跑到断点处
:停止调试
:进入函数内部
:但不往下调试
:跳出函数
:运行到光标处
:汇编窗口
:观察变量/堆栈窗口
:逻辑分析窗口
2.1软件仿真
首先,我们进行软件仿真(请先确保 Options for Target debug 选项卡里面已经设置为 Use Simulator)。先按 开始仿真,接着按 ,显示逻辑分析窗口,点击 Setup,新建两个信号PORTC.1 和 PORTC.3,如图所示:
图2:逻辑分析设置
Display Type 选择 bit,然后单击 Close 关闭该对话框,可以看到逻辑分析窗口出来了两个信号,如图2所示:
图3:设置后的逻辑分析窗口
接着,点击 ,开始运行。运行一段时间之后,按 按钮,暂停仿真回到逻辑分析窗口,可以看到如图 3 所示的波形:
图4:仿真波形
这里注意 Gird 要调节到 0.25s 左右比较合适,可以通过 Zoom 里面的 In 按钮来放大波形,通过 Out 按钮来缩小波形,或者按 All 显示全部波形。从上图中可以看到 PORTC.1 和 PORTC.3交替输出,周期可以通过中间那根红线来测量。至此,我们的软件仿真已经顺利通过。
2.2开发板调试
该调试和仿真类似。首先,我们进行调试(请先确保 Options for Target debug 选项卡里面已经设置为 ,并选择对应的下载算法)。先按 开始调试。
在需要进行单步调试的地方打上断点,然后进行进行相应的调试。
3 RT-Thread调试方法
RT-thread的调试方法就较为简单。可以像在Linux下一样进行调试(以打印信息作为调试的信息)。下面进行简单的介绍:
打开“RT-F103R8”项目作为调试项目。直接在代码中加入打印信息作为调试信息并编译下载到STM32开发板中。串口1作为调试串口:
图5:添加打印信息作为调试信息
打开SecureCRT软件,按照如图信息新建一个串口连接,并将杜邦线连接到对应的COM1。
图6:串口配置信息
在连接上之后见看到如下的打印信息:
图6:调试结果图片
同时,使用该实时操作系统可以使用像shell一样的工具。按下tab键可以显示相应的命令。并且可以自定义命令。
关键字:keil RT-Thread 调试 使用技巧
引用地址:
keil RT-Thread相关调试基本使用技巧
推荐阅读最新更新时间:2024-03-16 16:18
STM32的FSMC总线复用调试笔记
调试FSMC总线复用模式时主要遇到以下几点: 1、寄存器的配置,首先注意使能地址数据复用,其次要存储器类型选择FSMC_MemoryType_NOR,否则出现不了NADV信号。 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Enable; FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; 2、注意个GPIO复用功能的使能,以及时钟确定使能。 3、地址总线。在16位模式访问时,访问地址的 位必须先左移一位.。才能正确输出地址信号,原因是,STM32会将地
[单片机]
KEIL软件的获取
一、KELL下载途径 官网:https://www.keil.com/download/product/ 二、Keil4与Keil5的区别 keil 4自带芯片库 Keil5需要自己添加芯片库。 STM32芯片库需要到Keil官网下载,有F0/12467几个系列,根据具体单片机芯片下载。 安装好keil后,再安装stm32的库(.pack的文件),安装在keil的目录下。 三、检查stm32库是否安装成功
[单片机]
油浸式变压器的安装调试方案
油浸式变压器的安装,调试方案
一、 电力 变压器的性能及用途:
1、用 升压 变压器可将发电机的端 电压 升高到几万伏或几十万伏以降低输送 电流 ,减少输电线路上的能量损失,而又不增加导线截面将电能远距离输送过去。
2、用 降压 变压器将高压降低到适合用电设备使用的低电压,将输点线路的高电压,变换成各种不同的等级的电压,以满足各类用电负荷的需要。
3、用途:是改变交流电压的电气设备。本预案课题主要讨论电压10KV,额定容量1000KVA,频率50HZ电力变压器的安装与调试。
二、电力变压器的组成及作用:
1、高、低压绝缘套管:它是变压器箱外的主要绝缘装置,有固
[电源管理]
Keil C51大端模式与版本选择导致的仿真器Code size limit:2k
调了半天的磁石电话程序, 由于一些原因导致了调试进度慢, 发现问题的不及时: 1. keil MDK的版本问题, 使用C8051调试器调试时, 会弹出窗口说仿真模式, code只能小于2K的限制. 但是使用download可以下载烧入. 最后发现是我和谐的时候版本选择问题, 开始还以为是4.6版本太高级了. 实际上是由于使用破解程序时, 将默认的 standard 改成了 professional. 可能是破解的问题, 毕竟是专业版, 哪有那么容易. 罪过罪过. 2. 在进行类型转换时, 要注意Keil C51 的大小端模式, Keil 的端模式为大端模式, 也就是高字节存储在低地址, 低位字节存储在高地址. 所以在进行
[单片机]
一位从厌倦调试NRF24L01无线模块到成功的收发经验分享
拿到这对小家伙的时候,距离现在已经有好几个月了吧。直到大概一个月前,才将它们从抽屉里拿出来。之所以一直搁置着, 是因为想要靠自己来驱动它们。厌倦了那种拿到模块到处找例程的感觉。不过,这也让人吃尽了苦头。 熬了多少个夜晚,看了多少遍datasheet,甚至因为实在太困难了,所以索性再次搁在一边,拿了个较为简单的1302寻寻feel。这一搁置,又过了一个多星期。大学时间真的太紧张了,各种各样无聊的课占据了平日的大部分时间。周末,才感觉是为自己活着的日子。 第三次 真正的战役,持续时间并不算长,相对于前两次的铺垫来说。熬了一个星期的夜,时间总是在不知不觉之间溜走,往往回过神来才发觉,大家都睡下了,已经三四点了。不过喜欢
[单片机]
单片机串口及串口调试助手的使用
要求:pc机向单片机发送321,单片机向电脑发送get321!,pc机向单片机发送123,单片机向pc机发送当前的秒数(自打开到接收到的时间值) #include #include Config.h uchar i = 0; uchar Count = 0,second=0,minute;//用来计数、定时 uchar flag = 0; uchar string , j = 0;//用来储存每次接受的字符 void Send_Byte(uchar data) { while(!(IFG1&UTXIFG0)); U0TXBUF=data; } //发送字符串 void Print_Str(uchar *s) {
[单片机]
分享A7105无线模块调试点对点通信的笔记
A7105无线模块相比nRF2401和nRF24L01的寄存器来说,是比较多的,有51个,开始比较难看得懂,但编写程序先要先看一些重要的寄存器,和提供的测试程序,了解其相关的寄存器的配置和初始化的配置,还是了解其六种相关的模式,分别是STBY,SLEEP,PLL TX ,RX ,TX FIFO,RX FIFO模式的配置. 初始化的配置: 1、复位芯片 2、写入ID地址(2到4个字节,可进行配置,不过一般的话用4个字节的地址) 3、配置相关的寄存器(除特殊的以外) 特殊的寄存器,不进行配置有: // 0x00 mode register, for reset // 0x05 fifo da
[单片机]
STM32F429学习笔记(一)触屏工程Keil建立
由于原来的STM32F103ZET6的flash坏掉了,所以又买了一块STM32F429DISCOVERY,这块板子非常不错,基于Cortex-M4内核,自带一块2.4寸TFT触屏,主频为180M,且内置了ST-Link下载器,使用非常的方便。 近期参加校赛,用它的触屏写了个上位机,当时我是在实验室的电脑和我的平板电脑之间相互拷贝工程,由于ST官方的工程都是公用库文件,所以独立性不强,想要拷贝就得拷贝整个目录,为了解决这个问题,我仔细学习了官方工程的组成与调用,并成功的将所有文件分离出来,建立了一个独立的工程文件夹,以后再拷贝时,只需要将这单个工程拷贝出来,即可方便的移植,其间有不少小插曲,下面就对具体步骤进行详述。
[单片机]