mmuyu 发表于 2023-8-20 21:14:11

使用keil 进行软件仿真

    keil在我们安装完stm32的pack包之后,就能进行stm32的开发了,这个包不仅能用于开发实体的单片机,还包含了arm内核,可以用于软件虚拟仿真,去除单片机的影响,从软件层面排除问题。

要使用虚拟仿真,首先我们要点开魔术棒工具,找到debug页面,勾选使用模拟仿真,并且修改其中的dialog dll和其中的参数:DARMSTM.DLL -pSTM32F103C8
如图所示

接下来,构建一遍项目,启动debug,第一次启动debug是会报错提示内存无法读取,这是因为我们分配的内存过小 我们可以点开debug-》memory map 分配一个更大的空间,允许读写,最后分配即可

分配后,重新进行项目debug或者reset项目使内存地址生效
一般默认debug配置的为运行到main停止,因此我们点击全速运行按钮,可以使项目继续运行下去。

此时,我们可以通过串口查看输出的数据,这里我以freertos输出任务堆栈占用为例

没有这个窗口的,可以从view-》serial windows调出来

我在代码里还写了一个gpio的翻转用于测试软件自带的逻辑分析,同样可以从view页面调出
我们只需要点击逻辑分析仪的setup 创建一个新配置用于监测管脚,这里我监测的是gpiob pin 1 因此配置参数是PORTB>>1
其余参数如图所示

这里的显示模式一般高低电平用bits显示,模拟用analog显示。
配置完成后,运行项目即可看到io口波形输出,这里我出了点小bug 但是不影响波形查看



页: [1]
查看完整版本: 使用keil 进行软件仿真