【经验】通过EFR32开发板的Jlink接口输出串口数据的方法
SILICON LABS公司推出的EFR32系列SOC,支持SUB-GHz、Zigbee、蓝牙、Thread无线功能,最大支持20dbm的发射功率,在无线通讯设备中应用广泛。为了方便EFR32芯片的使用,Silicon Labs公司提供了EFR32系列的开发板,如图1。该开发板集成Jlink功能,并且集成一路虚拟串口。Jlink接口的USB连接电脑时,可以在电脑的“设备管理器”中查看虚拟串口号,如图2所示。
图1 EFR32的EVB板
图2 Jlink对应的虚拟串口
Jlink接口虚拟的串口,可以用于电脑和EFR32芯片之间的串口通信,输出调试信息,方便程序测试。
要实现串口通信,硬件上,EFR32芯片的串口引脚要和EVB板的串口连接。在不使用STK Debug Adapter Board转接板的情况下,可以将EFR32芯片的串口RX和TX引脚,直接连接到EVB板的“串口、包跟踪接口”的VCOM_RX和VCOM_TX引脚。使用了STK Debug Adapter Board转接板,可以在转接板上找到一个10PIN的,有标注“MINI”的接口,将EFR32芯片的串口RX和TX引脚连接到该接口的MINI.VCOM_RX和MINI.VCOM_TX引脚。接口的引脚定义如图3所示。
图3 EVB板对应串口的接口定义
软件上,首先将EVB板的debug模式修改为OUT模式。修改方法是将EVB板的jlink和电脑连接,打开Simplicity Studio软件,在主页面进行修改。如图4所示。
图4 Jlink的Debug Mode配置
根据EFR32芯片,建立对应的工程。例如,直接打开“soc-thermometer”例程。将studio安装目录“..\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.7\hardware\kit\common\drivers”下的“retargetio.c”、“retargetserial.c”、“retargetserial.h”三个文件拷贝到“soc-thermometer”工程的主路径下。此时,在工程中可以直接看到这三个文件。
打开main的头文件“init_mcu.h”,在该头文件中添加下面的代码:
/* DEBUG_LEVEL is used to enable/disable debug prints. Set DEBUG_LEVEL to 1 to enable debug prints */ #define DEBUG_LEVEL 1 #if DEBUG_LEVEL #include "retargetserial.h" #include <stdio.h> #endif #if DEBUG_LEVEL #define initLog() RETARGET_SerialInit() #define flushLog() RETARGET_SerialFlush() #define printLog(...) printf(__VA_ARGS__) #else #define initLog() #define flushLog() #define printLog(...) #endif |
该代码是用于使能Debug信息输出,并初始化串口。串口默认的IO口为TX(PA0)和RX(PA1),如果和自己的EFR32芯片的串口接口定义不一致,可以在“hal-config-board.h”文件中进行修改。定义代码如下:
// $[SERIAL] #define BSP_SERIAL_APP_PORT (HAL_SERIAL_PORT_USART0) #define BSP_SERIAL_APP_TX_PIN (0U) #define BSP_SERIAL_APP_TX_PORT (gpioPortA) #define BSP_SERIAL_APP_TX_LOC (0U) #define BSP_SERIAL_APP_RX_PIN (1U) #define BSP_SERIAL_APP_RX_PORT (gpioPortA) #define BSP_SERIAL_APP_RX_LOC (0U) |
LOC的值可以查看datasheet文档里的“LOCATION”表格。如果工程中没有“hal-config-board.h”头文件,可以自定义头文件,并将上述定义加入头文件,并在“retargetserial.h”头文件中包含自定义的头文件。这样就完成了Debug串口的初始化工作。
然后在需要输出调试信息的地方使用“printLog”函数,用法和“printf”一致。例如:
printLog("starting advertising\r\n");
电脑上打开串口工具,配置Jlink的虚拟串口为115200波特率,无校验位、8位数据位、1位停止位,在串口工具中将会接收到printLog的信息。如图5所示。
图5 串口输出信息
- |
- +1 赞 0
- 收藏
- 评论 0
本文由东方的风提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】Matter入门指导6:用Simplicity Commander给Breakout开发板烧录固件的方法
我们在前面的Matter入门指导中已经编译好了Matter over Thread的Light、Switch和bootLoader固件。本文主要介绍使用Simplicity Commander工具给EFR32MG24 Breakout开发板烧录固件的方法。
设计经验 发布时间 : 2023-05-21
【经验】连接SLWSTK6021A开发板后不能识别该如何解决?
日前有客户反馈连接上Silicon Labs SLWSTK6021A开发板后,电脑显示不能识别。建议检查电脑的J—Link驱动是否安装,打开电脑的“设备管理器”,显示“BULK interface”为感叹号则表示没有安装驱动。
设计经验 发布时间 : 2021-05-27
基于芯科科技MG24多协议SoC开发板演示Matter over Thread灯控制
因应多样物联网应用的连接需求,无线多协议设计已成为行业的显学,而Silicon Labs凭借多年来在无线网状网络、动态多协议技术支持方面的丰富经验,可以为物联网开发人员提供最可靠、稳定的多协议解决方案。本文使用MG24多协议SoC开发板演示Matter over Thread灯控制。
设计经验 发布时间 : 2024-07-18
【经验】如何使用EFR32开发板的PTI抓包用户ZigBee模块
在无线应用开发中,EFR32开发板提供的是PTI硬件抓包,配合Network Analyzer软件工具,能够非常容易分析无线通讯问题。工程师自己做的无线模块,配合EFR32开发板,也可以实现PTI抓包。本文以ZigBee工程为例,指导大家如何实现EFR32开发板的PTI抓包用户ZigBee模块。
设计经验 发布时间 : 2019-10-24
EFR32MG的ZIGBEE测试,连接开发板无法看到开发板的IP地址,怎么解决?
DEMO 需要连接到带有DHCP服务器的局域网中,会自动分配IP地址给 DEMO板 ,再将装有simplicity studio软件的电脑和开发板接入同一个局域网内,就可以在simplicity studio中看到该DEMO板分配的IP地址,选择后就可以进行操作 。
技术问答 发布时间 : 2017-05-16
安信可星闪开发板与西门子PLC通信的应用探索
星闪技术作为一项中国原生的、具有竞争力的近距离无线通信技术,通过技术创新和标准体系建设,打破了传统蓝牙和Wi-Fi在特定应用领域的一些局限性,为物联网、车联网、工业互联网等场景带来了更高性能、更安全、更具成本效益的无线连接解决方案。随着相关产品的不断推出和生态系统的持续完善,星闪技术有望在全球范围内产生深远影响,成为未来短距离无线通信领域的重要力量。
设计经验 发布时间 : 2024-06-24
【经验】Thunderboard BG22开发板如何在simplicity studio V5中添加一个标准的服务项
Silicon Labs的EFR32BG22系列芯片是功能强大的BLE SOC,本文笔者以他的开发板thunderboard SLTB010A上的温湿度传感器为例,介绍如何在simplicity studio V5中添加一个标准的服务项。
设计经验 发布时间 : 2022-02-16
使用EFR32开发板和OpenThread构建Thread网络
型号- BRD4304A,MGM12P,SLWSTK6000B,BRD4180A,SLWSTK6006A,BRD4166A,BRD4164A,BRD4161A,EFR32,MG21,SLTB004A,BRD4170A,MG12
芯科科技和Arduino联手推出基于MGM240P无线模块的Nano Matter开发板
SparkFun已经与芯科科技合作创建了基于MGM240P无线模块的SparkFun Thing Plus Matter板。今年5月,Arduino进一步发表了Arduino Nano Matter Community Preview board。这个板的目的是打开Arduino社区的无限可能性,并通过芯科科技已准备就绪的MGM240S模块扩大支持Matter协议的开发。
原厂动态 发布时间 : 2024-05-22
【经验】使用无线SoC EFR32MG24开发板测量芯片低功耗时的注意事项
介绍在使用EFR2MG24开发板测量芯片的低功耗电流时的注意事项。我们在使用无线SoC开发板测量芯片的低功耗性能时,使用开发板加上Simplicity Studio下的Energy Profiler软件测量出来的EM2模式下的电流会比数据手册上的稍大一些。
设计经验 发布时间 : 2023-03-27
【经验】EFM32WG开发板STK3800进行功耗测试时目标板不能连接的问题分析
Silicon Labs的32位MCU EFM32WG的开发板STK3800内置功耗测试传感器,可以进行不同模式下功耗的测量,且可以用来测试外部目标板的功耗,利用Simplicity Studio上的Energy Profiler进行查看。本文介绍测试步骤,及介绍中间遇到的目标板无法连接的问题原因。
设计经验 发布时间 : 2019-12-18
芯科科技携手Arduino演示基于MGM240模块的新型Nano Matter开发板
Silicon Labs(亦称“芯科科技”)持续深化与开源硬件和软件领域的全球领导者Arduino的合作,并携手在今年3月举办的Arduino Days 2024会议期间共同揭示新一代的Arduino Nano Matter开发板,从而将Matter协议引入Arduino生态系统,为广大的开发人员提供一个快速涉足Matter互联互通设计的绝佳途径。
原厂动态 发布时间 : 2024-04-15
【经验】一文教你如何使用USB DEBUG ADPTER调试SLSTK开发板上的EFM8UB1系列8位MCU
Silicon Labs的8位MCU每一个系列都有相应的开发板,以方便用户工程师可以进行设计前期的测试评估。开发板上集成J-link仿真器。工程师可以使用开发板对外部的MCU目标板进行仿真,省去仿真器的购买。但是EFM8UB10系列的接口协议是C2接口,不是所有版本的J-link都兼容此协议,所以推荐使用Silicon Labs的USB DEBUG ADPTER对EFM8系列进行仿真。
设计经验 发布时间 : 2019-08-07
【经验】如何用STK开发工具调试外部目标板
Silicon Labs提供的STK开发套件非常适合研发阶段的使用,开发工具使用板载的Debug Connector而只需一条USB线。本文以Silicon Labs SLWSTK6050A中BRD4001A (Wireless Starter Kit Mainboard)为例,介绍如何正确通过硬件连接及软件设置来使用debug out模式调试及烧录程序到目标板。
设计经验 发布时间 : 2020-04-07
了解开发板和Simplicity Studio开发环境,助力Matter开发快连速通!
本文通过使用Silicon Labs(亦称“芯科科技”)的Simplicity Studio物联网开发环境,以及基于MGM240P多协议模块的SparkFun Thing Plus Matter开发板,实际演示Matter兼容的小型应用程序。以下内容将简要说明如何设置并连接Matter开发板,以快速进行开发。
设计经验 发布时间 : 2024-03-09
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 104,128
现货市场
服务
可加工PCB层数:1-30层;板材类型:FR4板/铝基板/铜基板/刚扰结合板/FPC板/高精密板/Rogers高频板;成品尺寸:5*5mm~53*84cm;板厚:0.1~5.0mm。
最小起订量: 1 提交需求>
可贴PCB板厚范围:0.6~2.0mm,也支持生产软硬接合板,拼板长宽:50*50mm~550*500mm,PCBA快速贴片支持01005CHIP元件。
最小起订量: 1片 提交需求>
登录 | 立即注册
提交评论