【经验】32位MCU EFM32在Simplicity studio中通过leuart实现printf打印功能的操作步骤

2020-01-15 世强
32位MCU,EFM32,Silicon Labs 32位MCU,EFM32,Silicon Labs 32位MCU,EFM32,Silicon Labs 32位MCU,EFM32,Silicon Labs

SILICON LABS EFM32系列的产品是基于Cortex-M0+/M3/M4内核的32位MCU,芯片最低工作电流可以达到37uA/MHz,EM2模式的休眠电流低到1.3uA,芯片的功耗特性较好,由于其超低功耗和丰富的外设等特性,被广泛的使用各种产品开发。

 

在嵌入式开发的过程中,我们经常要使用printf功能进行调试。在产品生产过程中,下线检测也要经常通过uart的打印功能进行产品测试。本文以EFM32HG322F64为例,分享如何在Simplicity Studio的GNU Arm环境下通过leuart实现printf功能,其他uart口的printf功能与此类似,可参考本篇文章进行配置。

 

下面是详细步骤。

 

首先我们新建一个工程,这里要使用Simplicity Configuration Program的方式新建,否则将不会自动产生后面要用到的hal-config.h文件。如下图


 

 

然后我们将两个库文件加到工程中去,在src文件夹上右击选择New->File,如下图


 

然后在New File窗口中选择Advanced按钮,如下图


 

选中“Link to file in the file system”,单击Browse,在弹出的对话框中,定位到如下图的地址,选择retargetio.c文件,单击打开按钮,



 

同样的方式将retargetserial.c文件也添加到工程中去,如下图

 


我们打开工程中hal-config文件夹中的hal-config.h文件,在LEUART0的位置添加如下几个宏,具体使用了哪个引脚还需要根据自己的电路板进行调整。如下图

 


在main.c文件中包含“retargetserial.h”和“stdio.h”,如下图


 

在main函数中调用RETARHET_SerialInit()函数,此函数为库文件,位于retargetserial.c中,再添加一个我们熟悉的“hello world”如下图


 

我们可以把retargetio.c和retargetserial.c两个文件复制到工程中来(这样以后导出工程时这两个文件也会跟随工程一起导出。不复制到工程中也可以使用,这样导出工程后,这两个文件还是以链接文件的形式存在),操作方式如下图


 

编译,将程序下载进MCU,串口调试助手测试如下,关于uart相关的参数使用的库文件em_leuart.h中的默认配置LEUART_INIT_DEFAULT。测试结果如下图


 

以下为笔者关于printf函数实现的理解,请参考。在GNU Arm的环境下,底层函数通过_write和_read的函数实现printf,本例中这两个函数位于retargetio.c中,而这两个函数是通过调用RETARGET_WriteChar和RETARGET_ReadChar函数实现的,RETARGET_WriteChar和RETARGET_ReadChar函数位于retargetserial.c中,所以我们需要将这两个C文件添加到工程中。hal-config中添加的宏是必须要配置的,他们首先被retargetserialhalconfig.h中的宏定义时使用,进而间接被retargetserial.c中的一系列函数使用。感兴趣的朋友可以直接去看库文件的源码。库文件不只实现了leuart的printf,通过修改hal-config.h中配置的宏还可以实现其他接口的printf。


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由黄昏提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】如何基于J-FLASH对32位MCU EFM32 进行批量烧写?

Silicon Labs 32位MCU EFM32,以低功耗、高性能等著称,被广泛应用在电池供电等需要低功耗的领域。因应用广泛,在批量烧写上,也得到多家软件支持。本文将详细描述名基于SEGGER的J-Flash软件对EFM32烧写FLASH的方法及步骤。

2018-09-17 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】Silicon Labs 32位MCU EFM32在静电测试时的故障排查

本文介绍Silicon Labs 32位MCU EFM32在做静电测试时,出现复位、死机情况时如何去查找原因

2019-06-11 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】32位MCU EFM32系列中断分组及优先级设置方式

Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。中断是一个MCU中比较核心的部分,在实时性要求比较高、功耗低的场合经常需要中断的配合,中断优先级是根据中断事件的重要性和紧迫程度做出的一个设置,系统先响应优先级高的中断请求,再响应优先级低的中断请求。

2019-12-24 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】Silicon Labs 32位MCU EFM32PG12复位引脚在SWD接口中的重要性

在使用​Silicon Labs 32位MCU EFM32PG12时,通常要在PCBA上保留SWD接口以方便程序的下载、调试功能,但为了节省空间,有些用用户不接RESET引脚,这会有潜在的风险。借测试说明复位引脚在SWD接口中的重要性。

2022-06-24 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】EFM32系列32位MCU常量定位问题的解决方法

Silicon Labs的32位MCU EFM32系列具有低功耗、集成度高的优势,在电池供电类的应用中具有非常明显的优势。开发EFM32的软件一般都是在Simplicty Studio软件下完成。介绍EFM32程序中的常量定位到FLASH的固定地址的方法。

2019-01-27 -  设计经验 代理服务 技术支持 现货查询 批量订货

【技术】8位MCU与32位MCU的区别

对某类应用做产品定义和规划时,首要任务之一就是选择理想的处理器/控制器,但开发人员往往难以选择合适的MCU。本文是关于微控制器的技术文章,该文从基本差异、基准性能、应用适用性等角度详细地对8位和32位MCU进行了分析。

2016-07-01 -  技术探讨 代理服务 技术支持 现货查询 批量订货

【经验】芯科科技32位MCU EFM32PG12 DAC输出引脚的分配设置

我们在使用Silicon Labs(芯科科技)32位MCU EFM32PG12的VDAC时会遇到不了解DAC的输出引脚要如何分配的问题,从EFM32PG12参考手册的VDAC章节很难找到VDAC输出引脚的分配。本文将介绍芯片的内部结构及输出功能的分配。

2022-07-25 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】32位MCU EFM32系列在Keil中接收SWO信息的配置步骤

Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。在研发过程中会有很多繁杂的调试过程,本文主要介绍如何将Jlink的SWO接口上输出的调试信息在Keil中显示出来。

2019-10-16 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】32位MCU EFM32ZG与5V系统连接的电平转换接口电路设计

Silicon Labs的EFM32ZG系列是超低功耗和低能耗的32位MCU,在与5V系统连接时,EFM32ZG的GPIO无法直接接到5V的GPIO上,长期工作有引起芯片损坏的风险。因此与5V系统连接时需要依靠外部的电平转换电路保证芯片的可靠工作。本文就将介绍其设计与注意事项。

2020-09-27 -  设计经验 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:32位MCU

价格:¥9.8488

现货: 21,867

品牌:SILICON LABS

品类:32 BIT MCU

价格:¥10.4057

现货: 17,600

品牌:SILICON LABS

品类:32位MCU

价格:¥19.1398

现货: 10,450

品牌:SILICON LABS

品类:32位MCU

价格:¥24.8076

现货: 10,000

品牌:SILICON LABS

品类:32位MCU

价格:¥12.9143

现货: 8,950

品牌:SILICON LABS

品类:32位MCU

价格:¥19.2326

现货: 8,740

品牌:SILICON LABS

品类:32 BIT MCU

价格:¥11.9853

现货: 7,500

品牌:SILICON LABS

品类:32 BIT MCU

价格:¥13.3792

现货: 6,169

品牌:SILICON LABS

品类:32位MCU

价格:¥21.0907

现货: 5,950

品牌:SILICON LABS

品类:32位MCU

价格:¥9.0126

现货: 5,687

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:兆易创新

品类:MCU

价格:¥7.0000

现货:25,380

品牌:MindMotion

品类:32位MCU

价格:¥5.9400

现货:19,996

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥61.8336

现货:17,200

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥16.7100

现货:15,887

品牌:NXP

品类:单片机

价格:¥90.8686

现货:10,811

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥69.9064

现货:7,680

品牌:MindMotion

品类:32位MCU

价格:¥2.3800

现货:6,427

品牌:RENESAS

品类:32BIT MCU

价格:¥135.5187

现货:4,320

品牌:航顺芯片

品类:32位MCU

价格:¥4.1500

现货:2,900

品牌:航顺芯片

品类:32位MCU

价格:¥4.1500

现货:2,900

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面