良许Linux教程网 干货合集 基于STM32的Keil、IAR仿真打印输出

基于STM32的Keil、IAR仿真打印输出

写在前面

很多初学者习惯使用软件仿真,而有一款广为人知的仿真软件。

以前开发板相对较贵,而且快递方便,因此使用仿真软件是可以理解的。但现如今,STM32开发板价格便宜,几十块钱就能买到,所以我对使用仿真软件有些困惑。

有经验的人都明白,仿真结果与实际运行情况往往不完全相同

因此,个人而言,我不太推荐大家过于依赖仿真,本文可能存在一些不足之处,仅供个人学习参考。

接下来,我们将介绍如何在Keil MDK-ARM和IAR EWARM上进行仿真打印的配置。

2. Keil仿真打印配置

实际上,Keil MDK-ARM并不支持仿真功能,原因是仿真参数出现了问题:

image-20231208210533757
image-20231208210533757

修改这两处参数为:DARMSTM.DLL -pSTM32F103ZE

基于前面使用STM32CubeMX生成工程,修改此处仿真相关配置即可。

下面提供的工程,直接编译,再点击调试按钮,打开UART 1#,全速运行,就能看到printf打印效果:

image-20231208210537976
image-20231208210537976

3IAR仿真打印配置

IAR下的仿真打印,我没有研究透彻,只是经过测试验证,可以运行。

image-20231208210541519
image-20231208210541519

这里仿真打印,我使用SWO方式:

image-20231208210544720
image-20231208210544720

重定义代码为:

int fputc(int ch, FILE *f)
{
  ITM_SendChar(ch);
  return ch;
}

IAR仿真效果:

image-20231208210549218
image-20231208210549218

当然,有些配置我没有研究明白,比如滴答中断计数,为什么仿真没有正常执行。所以,我自定义延时函数。

4下载

为方便大家理解,提供源码工程下载,包含Keil和IAR实例代码:

STM32F103(HAL)_仿真

百度网盘:

https://pan.baidu.com/s/1aYBuHtOgtLqLvj6SsMYlQA

提取码:nbd3

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部