【经验】32位MCU EFM32在Simplicity studio中通过leuart实现printf打印功能的操作步骤
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。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由黄昏提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何基于J-FLASH对32位MCU EFM32 进行批量烧写?
Silicon Labs 32位MCU EFM32,以低功耗、高性能等著称,被广泛应用在电池供电等需要低功耗的领域。因应用广泛,在批量烧写上,也得到多家软件支持。本文将详细描述名基于SEGGER的J-Flash软件对EFM32烧写FLASH的方法及步骤。
【经验】Silicon Labs 32位MCU EFM32在静电测试时的故障排查
本文介绍Silicon Labs 32位MCU EFM32在做静电测试时,出现复位、死机情况时如何去查找原因
【经验】32位MCU EFM32系列中断分组及优先级设置方式
Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。中断是一个MCU中比较核心的部分,在实时性要求比较高、功耗低的场合经常需要中断的配合,中断优先级是根据中断事件的重要性和紧迫程度做出的一个设置,系统先响应优先级高的中断请求,再响应优先级低的中断请求。
SILICON LABS 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,频率24MHz~80MHz,Flash存储4kB~2048kB,RAM存储2kB~512kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
Dig I/O Pins
|
ADC 1
|
DAC
|
USB
|
Cap Sense
|
LCD
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
EFM32GG290F512-BGA112
|
32位MCU
|
EFM32 Giant Gecko
|
48
|
512
|
128
|
1.98
|
3.8
|
BGA112
|
10x10
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
90
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
-
|
Cap Sense
|
-
|
Temp Sensor
|
4
|
7
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
选型表 - SILICON LABS 立即选型
SILICON LABS EFM32PG23/EFM32PG22 32-bit Microcontrollers选型表
EFM32PG23 Series 2 and EFM32PG22 Series 2 MCUs
产品型号
|
品类
|
Series
|
Core
|
Max GPIO
|
Max LCD Segments
|
Max Temperature(℃)
|
Vdd Min (V)
|
Vdd Max (V)
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
Security
|
ADC 1
|
USB
|
Temp Sensor
|
UART
|
RTC
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
EFM32PG23B200F128IM40
|
Microcontroller
|
EFM32PG23 Series 2
|
ARM Cortex-M33
|
34
|
4 x 20
|
125
|
1.71
|
3.8
|
80
|
128
|
64
|
29
|
Vault
|
16-bit, 12-ch., 1 Msps
|
×
|
Temp Sensor
|
3
|
RTC
|
QFN40
|
5x5
|
2%
|
Secure; SW; ETM
|
AES-1
AES-256
|
选型表 - SILICON LABS 立即选型
SILICON LABS EFM32 Wonder Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于48MHz Frequency,64kB~256kB Flash,32kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
ADC
|
EFM32WG230F128-QFN64
|
Microcontroller
|
48
|
128
|
32
|
56
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
Cap Sense
|
Temp Sensor
|
4
|
5
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
1.98
|
3.8
|
QFN64
|
9x9
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
8 x Ch 500 x MSPS 12 x bit
|
选型表 - SILICON LABS 立即选型
【经验】Silicon Labs 32位MCU EFM32PG12复位引脚在SWD接口中的重要性
在使用Silicon Labs 32位MCU EFM32PG12时,通常要在PCBA上保留SWD接口以方便程序的下载、调试功能,但为了节省空间,有些用用户不接RESET引脚,这会有潜在的风险。借测试说明复位引脚在SWD接口中的重要性。
【经验】EFM32系列32位MCU常量定位问题的解决方法
Silicon Labs的32位MCU EFM32系列具有低功耗、集成度高的优势,在电池供电类的应用中具有非常明显的优势。开发EFM32的软件一般都是在Simplicty Studio软件下完成。介绍EFM32程序中的常量定位到FLASH的固定地址的方法。
SILICON LABS EFM32 Leopard Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于48MHz Frequency,64kB~256kB Flash,32kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
EFM32LG230F128G-QFN64
|
Microcontroller
|
48
|
128
|
32
|
56
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
Cap Sense
|
Temp Sensor
|
4
|
5
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
1.98
|
3.8
|
QFN64
|
9x9
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
选型表 - SILICON LABS 立即选型
【技术】8位MCU与32位MCU的区别
对某类应用做产品定义和规划时,首要任务之一就是选择理想的处理器/控制器,但开发人员往往难以选择合适的MCU。本文是关于微控制器的技术文章,该文从基本差异、基准性能、应用适用性等角度详细地对8位和32位MCU进行了分析。
【经验】芯科科技32位MCU EFM32PG12 DAC输出引脚的分配设置
我们在使用Silicon Labs(芯科科技)32位MCU EFM32PG12的VDAC时会遇到不了解DAC的输出引脚要如何分配的问题,从EFM32PG12参考手册的VDAC章节很难找到VDAC输出引脚的分配。本文将介绍芯片的内部结构及输出功能的分配。
SILICON LABS EFM32 Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于32MHz Frequency,16kB~128kB Flash,8kB或16kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
EFM32G200F16-QFN32
|
Microcontroller
|
32
|
16
|
8
|
24
|
12-bit, 4-ch., 1 Msps
|
12-bit, 1-ch.
|
Cap Sense
|
Temp Sensor
|
2
|
0
|
2
|
2
|
1
|
0
|
0
|
RTC
|
2
|
1.98
|
3.8
|
QFN32
|
6x6
|
±2%
|
SW
|
选型表 - SILICON LABS 立即选型
【经验】32位MCU EFM32系列在Keil中接收SWO信息的配置步骤
Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。在研发过程中会有很多繁杂的调试过程,本文主要介绍如何将Jlink的SWO接口上输出的调试信息在Keil中显示出来。
【经验】32位MCU EFM32ZG与5V系统连接的电平转换接口电路设计
Silicon Labs的EFM32ZG系列是超低功耗和低能耗的32位MCU,在与5V系统连接时,EFM32ZG的GPIO无法直接接到5V的GPIO上,长期工作有引起芯片损坏的风险。因此与5V系统连接时需要依靠外部的电平转换电路保证芯片的可靠工作。本文就将介绍其设计与注意事项。
SILICON LABS EFM32 Tiny Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于32MHz Frequency,4kB~32kB Flash,2kB或4kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
EFM32TG108F16-QFN24
|
microcontroller
|
32
|
16
|
4
|
17
|
—
|
12-bit
|
Cap Sense
|
Temp Sensor
|
2
|
2
|
1
|
1
|
1
|
1
|
0
|
RTC
|
2
|
1.98
|
3.8
|
QFN24
|
5x5
|
±2%
|
SW
|
选型表 - SILICON LABS 立即选型
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录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 提交需求>
登录 | 立即注册
提交评论