大家在开发嵌入式应用时候是不是遇到过这种情况?灵光一闪有了新idea,可奈何板子不在身边?这可如何是好。别急,今天给大家介绍一位新朋友,它可以解决我们这样的窘境,让我们可以随时随地施展才华!
Keil模拟器(Keil uVision Simulator)是Keil集成开发环境(IDE)中的一个软件仿真工具,用于在没有实际硬件的情况下测试和调试嵌入式程序。它的核心作用是模拟目标处理器的行为,帮助开发者验证代码逻辑、调试算法、观察寄存器和内存变化,而无需连接真实MCU。主要特点有:
纯软件仿真
不依赖硬件,直接在PC上运行
适合早期开发阶段或硬件不可用时
支持多种ARM Cortex-M内核
Cortex-M0/M3/M4/M7等
对应的CPU DLL文件(如SARMCM4.DLL)用于加载仿真模型
寄存器和内存可视化
可以查看和修改MCU寄存器、外设寄存器、RAM、Flash
支持断点、单步执行、变量监视
外设仿真(有限)
支持基本外设,如GPIO、定时器、中断
不支持复杂外设(如USB、Ethernet、LCD控制器),这些通常需要硬件调试
调试功能
单步执行、断点、观察变量
支持执行初始化脚本(INI文件)模拟外设状态
由于没有了硬件本身的限制,因此使用场景多样,例如:
算法验证:如滤波、控制逻辑
启动代码调试:检查中断向量、系统初始化
学习ARM架构:观察寄存器变化,理解指令执行
尤其是针对于初学者来说,在手头没有开发板的前提下,可以说正是模拟器给了我们想象的翅膀,让我们不必受限于环境制约,大胆的施展才华。
接下来小编就以NXP推出的Time Series Studio,以下简称TSS为例,给大家分享下如何将一个静态算法库导入到一个模拟器工程中。首先要声明的是,开发流程其实和有实体硬件是一模一样的,都需要我们新建工程并添加代码依赖文件到IDE中。在开始前,请先准备好一个编译好的算法库文件,小编这里就以TSS生成的一个SVM算法库文件为例进行说明:

1.新建工程:这里要注意,由于我们是模拟器运行,在选择器件时候就不能选择各个芯片厂商提供的pack了,这里我们选择arm-》cortex-m7:

点击OK后,会弹出依赖包添加提示,这里需要注意的是,如果你想自己添加启动文件等依赖也是可以的,不过为了简单起见,小编建议大家直接在这里勾选,只需要选择两个即可:

现在,和器件相关的文件就已经添加完毕了:

2.添加源文件和算法库文件,选择要添加的library以及源文件:

3.根据需要进行头文件引用路径的配置:

4.为工程添加linker脚本,在Linker选项卡下,下拉菜单选择_ac6.sct:

5.由于我们是在模拟器运行,需要修改Debug的方式,勾选Use Simulator:

6.至此我们就完成了所有的配置工作,接下来就是熟悉的三件套了:编译、下载、调试。不过要注意的是,由于我们没有真机,对于烧写flash等操作就不再需要了。直接点击调试按钮即可跳转调试页面,可以完美查看程序运行、寄存器状态、错误报告等:

好了,今天小编带着大家体验了如何使用Keil提供的模拟器功能来进行算法库的调试,你是否已经蠢蠢欲动来感受无硬件的系统调试新体验!
-
开发板
+关注
关注
25文章
6139浏览量
113584 -
keil
+关注
关注
69文章
1225浏览量
171854 -
模拟器
+关注
关注
2文章
994浏览量
45388 -
算法库
+关注
关注
0文章
5浏览量
1695
原文标题:开发板不在手?Keil模拟器照样帮你跑代码!
文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
mini57系列运行带算法库的程序,编译没有错误但无法运行是为什么?
基于模拟器远程调试系统的研究与实现
基于QEMU系统模拟器Xilinx/QEMU的运行与调试
Windows CE 模拟器和远程调试工具详解

如何使用Keil模拟器功能进行静态算法库调试
评论