【经验】如何让支持SMBus boot功能的8位单片机EFM8进入boot模式?
Bootloader操作带来的好处很明显,即可以在不需要烧录器的情况下,实现代码更新,甚至,基于Bootloader功能,还可以实现远程代码升级,这个意义更加非凡。
世界著名的精密混合芯片方案提供商SILICON LABS推出的8位单片机EFM8,具有模拟性能好、集成度高、运行速度快、体积小巧等优点,被广泛应用在光模块、电机控制、智能家居等领域。更特别地,它还支持bootloader功能,而且,出厂芯片即可自带boot代码(基于UART的,或基于SMBus的)。如图1,是EFM8厂商自动boot功能的boot代码区位图。
图1 EFM8厂商自动boot功能的boot代码区位图
那么,在实际操作中,对于很有意义的、原厂自带了基于SMBus接口的boot代码的EFM8,如何进入boot模式、从而实现代码更新呢?本文将详细为你解读。
模式1,“新片模式”。对于出厂后还没烧录过应用代码的全新芯片,它的code空间0x0000地址上的内容是0xFF,而对于正常的烧录过应用代码的地址,0x0000地址会放置上电复位后跳转的代码、不会为0xFF。根据这一特性,在原厂boot代码中,会有判断这一地址内容的语句。即当code空间0x0000地址上的内容是0xFF时,EFM8会自动进入boot模式。该模式还有个好处,为了提高稳定性,引导加载程序首先擦除闪存页面0,最后写入闪存地址0x0000。这样可以确保如果先前的引导加载操作未成功完成,设备将以引导加载器模式重启。
模式2,“按需模式”。如下图2及下图3,当EFM8应用程序已在运行中,如果此时想进入boot模式,应用程序固件可以在Bank 0(数据地址0x00)的R0中设置签名值0xA5,然后启动设备的软件复位。如果引导加载程序看到带有R0中签名值的软件复位,它将启动引导加载程序执行,而不是跳转到应用程序。
图2 PC端、工具端、EFM8端连接图
图3 工具端CP2112与EFM8端实物连接图
模式3,“硬件进入模式”。为了在应用程序损坏时提供故障保护操作,如果引脚保持低电平的时间超过50 µs,则引导加载程序将通过上电复位(POR)或引脚复位来启动。以EFM8LB为例,如下表1标明了对于不同的封装,可以作为硬件拉低进入boot模式的引脚。
表1 EFM8LB可以作为硬件拉低进入boot模式的引脚
通过上述三种模式,使得EFM8可以在不同情况下进入boot模式,从而为实现加载应用代码,奠定重要的基础。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由风起云扬提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何下载、安装、设置Silicon Labs 8位单片机集成开发环境IDE?
Silicon Labs的8位单片机集成开发环境IDE,简单、容易、强大,是C8051F及EFM8等8位单片机软件开发的强大利器!为了让新手能够快速上手IDE,本将详细接收Silicon Labs IDE的下载、安装、设置等方法。
【经验】8位单片机EFM8的参考电压Vref引脚用于电压输出功能的经验
在某些应用中,需要一路低电流的电源,例如热敏电阻,为了减少LDO的使用,希望使用MCU的Vref输出电压。本文介绍Silicon Labs 8位MCU Vref输出电压使用有什么后果,需要注意什么。
【经验】8位单片机EFM8系列的SFR Page操作
Silicon Labs的8位单片机EFM8系列,集成丰富的外设,高性能,小封装。软件开发时,由于外设多,寄存器操作引入了SFR Page机制,注意SFR Page设置,防止程序错误,让EFM8系列芯片设计出稳定的优质产品。
【应用】基于双MCU的低成本400G PAM4光模块应用方案
基于双MCU的低成本400G PAM4光模块应用方案采用2个通用MCU,32位的MCU作为DSP的协处理器,8bit的MCU满足多路DAC来控制LD Driver,不但降低了设计难度同时降低了成本。采用多路电源输出解决方案比采用多颗单路电源芯片占用面积更小,且整体成本更低。
SILICON LABS EFM8 Sleepy Bee 8-bit Microcontrollers选型表
SILICON LABS 8位MCU选型,基于25MHz Frequency,2~64kB Flash,0.25~4kB RAM等参数进行选型
产品型号
|
品类
|
MCU Core
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
I2S
|
EMIF
|
CAN
|
LIN
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
VREF
|
Debug Interface
|
Temperature Range (ºC)
|
EFM8SB10F8G-QFN20
|
Microcontroller
|
8051
|
25
|
8
|
0.5
|
16
|
12-bit, 9-ch.
|
Temp Sensor
|
4
|
3
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1.8
|
3.6
|
QFN20
|
3x3
|
±2
|
VREF
|
C2
|
-40 to 85
|
选型表 - SILICON LABS 立即选型
SILICON LABS 8-bit Microcontroller选型表
SILICON LABS 8位MCU选型,MCU Core 8051,频率20MHz~100MHz,Flash存储2kB~120kB,RAM存储0.25kB~8kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
DAC
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
EMIF
|
CAN
|
LIN
|
VREF
|
Debug Interface
|
C8051F392-A-GM
|
8位MCU
|
C8051F39x Small Form Factor
|
50
|
16
|
1
|
1.8
|
3.6
|
QFN20
|
4x4
|
±2
|
17
|
10-bit, 16-ch., 500 ksps
|
Temp Sensor
|
6
|
3
|
10-bit, 2-ch.
|
1
|
1
|
1
|
2
|
0
|
0
|
0
|
0
|
VREF
|
C2
|
选型表 - SILICON LABS 立即选型
SILICON LABS EFM8 Universal Bee 8-bit Microcontrollers选型表
SILICON LABS 8位MCU选型,基于48MHz Frequency,8~64kB Flash,2~4kB RAM等参数进行选型
产品型号
|
品类
|
MCU Core
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
5 Volt Tolerant
|
ADC 1
|
USB
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
Comparators
|
UART
|
SPI
|
I2C
|
EMIF
|
CAN
|
LIN
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
VREF
|
Debug Interface
|
Temperature Range (ºC)
|
EFM8UB20F64G-QFP48
|
Microcontroller
|
8051
|
48
|
64
|
4
|
40
|
5 Volt Tolerant
|
10-bit, 32-ch.
|
USB
|
Temp Sensor
|
6
|
5
|
2
|
2
|
1
|
2
|
1
|
0
|
0
|
2.7
|
5.25
|
QFP48
|
7x7
|
±1.5
|
VREF
|
C2
|
-40 to 85
|
选型表 - SILICON LABS 立即选型
【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?
在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。
【经验】8位单片机EFM8BB51正确初始化ADC后不工作的问题处理经验
芯科最新推出的8位单片机EFM8BB51,EFM8BB51使用模拟部分功能(比如ADC,比较器),客户往往会忽略AMUXCP的初始化,导致模拟功能不能使用。本文介绍AMUXCP功能的使用。
【经验】8位单片机C2自制烧录器不能用于EFM8问题分析及解决
Silicon Labs公司推出的8位单片机,采用独特的C2调试接口,在占用极少的引脚资源的情况下,实现在线仿真调试,烧录功能,方便软件的开发设计。客户自制C2烧录器,可以更好的用于批量生产。以前用于C8051F系列的自制烧录器如果在EFM8烧写时出现问题,可以根据文章内容进行简单修改,解决烧写问题。
【经验】如何给Silicon Labs的集成开发环境IDE指定工具链?
Silicon Labs的集成开发环境IDE简单强大,是C8051F及EFM8等8位单片机软件开发的优秀武器。最近有客户问, 如何给Silicon Labs集成开发环境IDE指定工具链?本文总结了2个方法来解决这个问题。
【经验】如何解决8位单片机EFM8BB21F16G串口通信不正常问题?
本文以Silicon Labs的8位单片机EFM8BB21F16G为例,介绍如何通过软件程序置位中断标志位,通过串口中断方式来解决清除前如果有数据到来会引起数据丢失并无法产生中断的方法。
【经验】对EFM8系列8位单片机可编程逻辑单元CLU的作用及应用的理解
Silicon Labs的EFM8系列8位单片机,集成了独特数字外设可编程逻辑单元CLU,让EFM8单片机的功能更加强大。那么,这个CLU的作用及应用是什么呢?本文将详细为你解读。
【经验】如何基于Production Programmer实现EFM8系列8位单片机HEX文件下载?
当软件工程师调试并测试完毕代码后,下一个步骤,就是交给生产进入下载、生产环节。对于Silicon Labs的8位单片机,产线上下载方式有多种多样。本文将为你介绍一种简单、高效、低成本的下载方式,即基于原厂提供的通用软件“Production Programmer”+ U-EC6的方式。
【经验】如何通过解读M51文件确定EFM8系列的变量、函数定位?
Silicon Labs推出的EFM8系列8位单片机具有集成度高、速度高、体积小等优点,最近有使用的软件工程师询问笔者 “我的变量放哪里了?我的代码是如何分配的?”等问题,本文特做总结:通过解读M51文件确定EFM8系列的变量和函数定位。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
现货市场
服务
可定制ATD TE Dehumidifier的冷却功率:20~220W;工作电压:12V(DC)/ 220V(AC);控温精度:≤±0.5℃;尺寸:冷面:20*20~500*300;热面:60*60~540*400(长*宽;单位mm)。
最小起订量: 1 提交需求>
拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论