
问题: 某客户工程师在某型号新产品的设计中,使用了 STM32F407VGT6。据其工程师讲述:他想使用 MDK 自带的 Logic Analyzer 功能,在软件仿真的情况下是正常的,但是用仿真器仿真的时候,该功能出现了问题,尝试了很多种配置都没有成功。 调研: MDK 自带的帮助文档中有针对如何使用 Logic Analyzer 功能的讲解,其基本前提条件就是需要开启仿真器的 Trace 功能,而在完全软件仿真的时候是不需要有此操作的。客户的重点问题是如何在硬件仿真中实现 Logic Analyzer. 结论: 硬件仿真实现 Logic Analyzer 功能是有条件限制的,根据不同的仿真器和不同的 MCU 都有相关的设置。例如使用 Jlink 就需要使用 ETM 接口(详细设置参见 MDK 的帮助文档)。使用 ST-Link/V2 只需要简单的 SWD 接口就可以实现此功能。目前 MDK 的帮助文档中还没有针对 ST-Link 的设置做相关阐述。所以造成有些工程师不了解 ST-Link/V2 在程序仿真时的优势。 处理: 硬件平台:STM32F4DISCOVERY MDK 版本:MDK V4.7.3 32K 限制版本 首先在 MDK 中按照如下步骤进行设置。 1/选择 Target Option 或者 Alt+F7。 ![]() 2/选择 Debug 选项 ![]() 3/选择 ST-Link Debugger ![]() 4/选择 Setting ![]() 5/选择 SW 端口(注意,此时需要连接上 ST-Link/V2) ![]() 6/选择 Trace,使能 Trace 功能,禁止 Periodic 和 EXCTRC 功能.其他的配置按照下图设置. ![]() 7/点击 OK,返回到 debug 界面,在 Initialization File 中添加“STM32_SWO.ini”文件.该文件的路径如下:“C:\Keil\ARM\Boards\Keil\MCBSTM32C\Blinky_Ulp”(备注:本文提供的例程已经包含了这个文件,所以使用该例程无需再次添加此文件) ![]() 8/点击 OK,之后我们的设置就完成了,直接编译仿真即可。 ![]() 9/尝试一个简单的闪灯程序进行测试.该测试程序在 Logic Analyzer 中看变量 temp_adc 的变化所产生的波形。 备注:添加变量到 Logic Analyzer 中很简单,只需要点击右键 Add ![]() 建议: 1/MDK 的这个 Logic Analyzer 是一个简单易用的评估工具,对于低速信号或者简单的变量可以很直观的显示出来,对于早期评估很有帮助。 2/ST-Link 在针对 STM32 的仿真支持的非常好,建议在使用 STM32 的情况下,优先考虑该仿真器。 3/如果想真实的反馈外设的逻辑状态,那么还是需要真正的逻辑分析仪的 |
手把手教你VSCode搭建STM32开发环境
RTOS在STM32中的应用
【下载有礼】STM32 Finder华为应用商店正式上线!移动选型工具助力开发效率升级
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
实战经验 | Keil工程使用NEAI库的异常问题
STM32 ISP IQTune:真正零门槛的免费ISP调整软件
【经验分享】STM32 新建基于STM32F40x 固件库的MDK5 工程
意法半导体MCU双供应链策略,打消中国客户后顾之忧
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来