收藏官网首页
查看: 3931|回复: 0

[经验分享] 使用keil 进行软件仿真

106

主题

107

帖子

7264

积分

论坛元老

Rank: 8Rank: 8

积分
7264
跳转到指定楼层
楼主
 楼主| 发表于 2023-8-20 21:14:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
    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 但是不影响波形查看



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表