0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IAR环境下基于SemiHost机制实现printf功能

茶话MCU 来源:ST MCU 信息交流 2020-08-10 16:26 次阅读

我们在MCU的开发调试过程中,有时希望将一些信息输出以便观察。通常我们可以将标准C库中Printf相关实现函数进行重定向,通过UART串口输出,或者利用ITM机制通过SWO输出。这里将简单演示IAR环境下基于SemiHost机制实现printf功能。

下面使用的开发板STM32F4DISCOVERY板,硬件调试器为STLINK。稍作配置后即可使用。注意在代码里将stdio.h包含进去。

演示代码:

在调试状态下,点击view菜单下面的Terminal I/O子菜单即可出现输出窗口。

配置过程很简单,实现起来也挺方便的,需要的时候我们可以加以灵活选用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • uart
    +关注

    关注

    21

    文章

    1150

    浏览量

    99754
  • 调试器
    +关注

    关注

    1

    文章

    283

    浏览量

    23371
  • stlink
    +关注

    关注

    0

    文章

    18

    浏览量

    8355

原文标题:基于半主机机制实现prinf示例

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IAR推出新版IAR Embedded Workbench for Arm功能安全版

    全球知名的嵌入式系统开发软件解决方案供应商IAR Systems近日宣布,其旗舰产品IAR Embedded Workbench for Arm功能安全版已更新至最新版本9.50.3。此次更新
    的头像 发表于 02-22 17:29 487次阅读

    nuc505在IAR和MDK的环境都只能在SRAM里进行仿真,无法下载到flash怎么解决?

    使用nuc505的板子在IAR和MDK的环境都只能在SRAM里进行仿真,无法下载到flash,貌似是你们提供的505的flashloader存在问题,可以用ICP tool下载!
    发表于 01-17 06:14

    M487JIDAE如何使用ITM功能实现printf打印?

    M487JIDAE如何使用ITM功能实现printf打印?
    发表于 01-16 08:03

    IAR编译环境使用小技巧(2)

    IAR下出现abort handle或hardware fault后,如何处理
    的头像 发表于 12-13 13:29 446次阅读
    <b class='flag-5'>IAR</b>编译<b class='flag-5'>环境</b>使用小技巧(2)

    Maxim开发环境是什么?支持keil和iar

    Maxim开发环境是什么?支持keil和iar
    发表于 11-09 06:59

    AT32 MCU Printf功能使用方法

    AT32 MCU Printf功能使用方法
    的头像 发表于 10-27 09:27 367次阅读
    AT32 MCU <b class='flag-5'>Printf</b>的<b class='flag-5'>功能</b>使用方法

    IAR环境如何将数学函式库编排到sLib保护区

    IAR环境如何将数学函式库编排到sLib保护区在IAR 环境,如何将数学函式库编排到SLIB 保护区?
    发表于 10-20 07:03

    IARSTM8用printf默认是不是不支持32位输出?

    IARSTM8用printf默认是不是不支持32位输出
    发表于 10-16 15:41

    如何实现Printf()接口重定向到UART

    车规级MCU开发,不像PC端,包含stdio.h头文件就可以使用Printf()函数。为了实现PC端Printf()接口功能,需要在MCU端实现
    的头像 发表于 10-01 10:13 590次阅读
    如何<b class='flag-5'>实现</b><b class='flag-5'>Printf</b>()接口重定向到UART

    在M4中,如果打开Semihost功能,是不是会占用芯片一个物理串口?

    在M4中,如果打开Semihost功能,是不是会占用芯片一个物理串口。
    发表于 08-29 06:25

    M487JIDAE如何使用ITM功能实现printf打印?

    M487JIDAE如何使用ITM功能实现printf打印?
    发表于 08-28 08:15

    【Ubuntu VSCODE+GCC】CW32L031实现printf工程

    CW32L031在ubuntu系统下面实现GCC,驱动UART,实现printf工程
    的头像 发表于 06-28 17:07 609次阅读
    【Ubuntu VSCODE+GCC】CW32L031<b class='flag-5'>实现</b><b class='flag-5'>printf</b>工程

    在M4中,如果打开Semihost功能,是不是会占用芯片一个物理串口?

    在M4中,如果打开Semihost功能,是不是会占用芯片一个物理串口。
    发表于 06-28 08:53

    ML51 IAR Compile printf出错是什么原因?怎么解决?

    刚刚用IAR搭起来ML51的环境,编译sample code时,发现每次编译到printf,就报如下错误: Error[Pe167]: argument of type \"char
    发表于 06-21 08:35

    M487JIDAE如何使用ITM功能实现printf打印?

    M487JIDAE如何使用ITM功能实现printf打印?
    发表于 06-13 06:30