keil仿真和使用示波器调波形

一、使用keil仿真调试

1.相关设置

(1)Target界面中,选择跟正确的晶振大小,我使用的是8MHz的外部晶振。这个选项在软件仿真中起到很重要的作用,如果选择错误,那么波形一定是错误的,因为时间不准确。
在这里插入图片描述
(2)Debug页的设置:
在这里插入图片描述
一般情况下这样设置后就可以调试出波形了,但是这次出现了错误:error 65: access violation at 0x40023800 : no 'read' permission
查阅相关资料,根本原因是:map地址空间权限映射有问题。部分地址空间没有读写的权限,造成程序不能自动运行。有两个解决办法:

  • 方法一:
    工程文件中新建“debug,ini”文件,在文件中添加map地址权限映射代码
    在这里插入图片描述
map 0x40000000, 0x40007FFF read write // APB1
map 0x40010000, 0x400157FF read write // APB2
map 0x40020000, 0x4007FFFF read write // AHB1
map 0x50000000, 0x50060BFF read write // AHB2
map 0x60000000, 0x60000FFF read write // AHB3
map 0xE0000000, 0xE00FFFFF read write // CORTEX-M4 internal peripherals

在下面的地方添上刚才的ini文件:
在这里插入图片描述

然后再调试就不会有问题了。

  • 方法二:
    调试页面下,在DEBUG选项卡下选择Memory Map 选项如下图
    在这里插入图片描述
    在这里插入图片描述

2.调试

(1)点击Debug,进入调试界面:
在这里插入图片描述
(2)选择逻辑分析仪:
在这里插入图片描述
(3)选择要观察的引脚:
①点击Setup Logic Analyzer
在这里插入图片描述
②添加要观察的引脚:
输入PORTX.xx(X为A.B…;xx为引脚号,比如:PORTB.14)然后按回车;
输入USARTx_SR(x为数字)然后回车
在这里插入图片描述

(4)相关设置
在这里插入图片描述
(5)运行程序:
在这里插入图片描述

(6)观察波形
①uCOS移植
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

②RTC时钟
在这里插入图片描述

二、使用示波器查看

1.下载软件

链接:https://pan.baidu.com/s/1ycY6O-N0oK-Wj74uQRn0fg
提取码:0526
选择合适的版本安装即可,安装时一直next就好了(当然改改路径最好了),我安装的是1.1.34的。

2.软件介绍

打开软件后的界面:
在这里插入图片描述

在安装软件的同时,驱动程序已经被注册到系统了了,当插入 SALEAE 16 逻辑分析仪后就可以自动安装安装驱动。

打开界面如下图,软件界面基本是左中右的布局,左边主要是采集和显示设置,右边是分析和解析设置,中间是波形显示区域。
在这里插入图片描述

无逻辑分析仪的时候显示 Disconnected,左边是8个通道,使用的时候根据硬件连接选择对应通过进行配置,中间部分是显示我们逻辑波形的区域,右边是添加一些协议数据格式,数据分析区域。
点 Start Simulation,可以在波形区域模拟显示出一些软件生成的数据,如果您设置了解析(解析设置方法在下面讲),可以根据所设置的协议,生成一些符合协议解析要求的模拟数值。

  • 由于默认的演示模式是 8 通道的,我们可以设置成 16 通道的。
    点击左上角的符号,之后弹出选择演示的设备:

  • 我们选择 LOGIC16 ,之后界面会出现一些 SALEAE16 的设置。
    在这里插入图片描述

  • 每个通道的设置
    第一项是波形幅值比例,可以通到进行修改不同的比例。
    在这里插入图片描述

  • 触发方式选择
    上升沿、下降沿、双边沿,主要跟协议信号有关系。
    在这里插入图片描述

  • Annotations 选项
    可以增加测量电平时间的组数,此处测量两组,类似示波器测量时间的标线。
    在这里插入图片描述

  • Analyzers 选项
    里面包含了很多协议,常用的串口、SPI、IIC、CAN 等等,都可以进行测量。
    在这里插入图片描述

我没有机器,没有实际的图可以分析,嘿嘿嘿

三、总结

在进行仿真调试时,最开始没有设置debug.ini的时候波形不太好调出来(不能全速运行,想得到波形恐怕得点几万次,点到手废),在注意到左下角的错误后,在网上查找了相关资料,引入了debug.ini文件后就能完美得到波形了。

参考资料

STM32F4 MDK5软件仿真 error : no ‘read’ permission - 0111always - 博客园 (cnblogs.com)
https://blog.csdn.net/m0_58892312/article/details/121411070