【技术】基于 AN945对EFM8系列MCU BootLoader使用说明的分析和补充
EFM8系列MCU是SILICON LABS公司在C8051Fxxx系列基础上推出的高性能低价格8位单片机。在工业、医疗、智能家居、传感器、通讯等行业已经得到广泛运用。MCU在产品的应用过程中,往往需要具有在线升级的功能。针对这一需求,Silicon Labs公司提供全套的解决方案。
Silicon Labs公司提供的bootloader在文档AN945中有详细的使用说明。在使用之前,需要先熟悉该文档内容。本文根据AN945内容进行分析和补充。
Silicon Labs公司的bootloader提供UART、SMBUS、USB三种升级接口。其中UART接口模式的bootloader支持所有的EFM8系列MCU。SMBUS接口主要针对EFM8LB系列的特殊运用。USB接口适用于带USB接口的EFM8UB系列。出厂时,除了部分EFM8LB系列MCU带有SMBUS模式的bootloader之外,其余MCU都需要通过Flash Programer工具将bootloader.hex文件烧入MCU中。
Bootloader代码存放在Flash的末尾,代码大小不超过2KB。UART/SMBUS的代码大概只有512Byte,USB的代码大概为1.5KB。应用程序仍然从0地址开始,所以设计应用程序时,不需要做特殊设置处理。
Silicon Labs公司提供efm8load.exe和hex2boot.exe两个在windows下的MSDOS环境运行的软件,用于bootloader升级。由于bootloader程序不能解析HEX文件,所以需要hex2boot.exe软件将应用程序HEX文件转换为botloader升级使用的efm8后缀名的烧写文件。efm8load.exe软件用于PC到MCU之间数据传输,将efm8文件下载到MCU。Efm8load.exe软件有提供代码,采用Python语言设计,在"./EFM8_bootloader/AN945SW/Tools/Source"目录下,可以在PC端软件开发时作为参考。PC端设计升级软件,只需要将efm8后缀的文件按顺序传输到MCU,不需要额外添加控制指令(efm8文件类似于bin文件)。程序升级步骤如图1。
图1:通过bootloader升级程序流程
MCU复位后,bootloader会判断0x0000地址是否为0xFF,即判断是否存在APP程序,如果为0xFF,则进入bootloader,等待烧写APP程序。升级程序时,会先将程序的0x0000地址数据修改为0xFF,烧写完成后,进行数据CRC校验,校验通过后,再将0x0000地址数据修改为0x02。如果出现程序升级错误,由于0x0000地址数据为0xFF,复位后可直接进入bootloader,进行重新升级。不会产生升级失败后不能进入bootloader的风险。
在进入APP程序后,如果需要唤醒bootloader进行升级。可以设置R0=0xA5,再启动软件复位功能,复位后将进入bootloader等待升级。
图2:在程序中进入bootloader
该方案还提供外部引脚(C2D引脚,48PIN封装除外)控制方式进入bootloader。如果需要进入bootloader,只需要将C2D引脚拉低后复位MCU,MCU将绕过APP,直接进入bootloader程序。
MCU是运行bootloader还是APP程序,是在bootloader源代码的boot_startup.asm文件中进行设置,如有需要,可以自定义设置。代码如下:
世强元件电商版权所有,转载请注明来源及链接。
- |
- +1 赞 0
- 收藏
- 评论 7
本网站所有内容禁止转载,否则追究法律责任!
评论
全部评论(7)
-
小伟 Lv7. 资深专家 2018-07-30不错
-
terrydl Lv9. 科学家 2018-07-19不错,学习了
-
mark-chen Lv6. 高级专家 2018-07-14学习
-
宇宙星神 Lv6. 高级专家 2018-07-04学习了
-
zizhangshu Lv7. 资深专家 2018-06-10学习
-
OutstandingEngineer Lv6. 高级专家 2018-04-23bootloader在程序升级上很重要,这个说的不错。
-
用户18396822 Lv8 2018-02-17学习了
相关推荐
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的8位微控制器EFM8BB5和EFM8BB21性能差异对比
为了方便客户了解EFM8BB5系列和EFM8BB21系列的区别,更好的进行选型,本文例举出了Silicon Labs的8位微控制器EFM8BB21、EFM8BB51和EFM8BB52三者之间的不同点,来进行性能差异对比。
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 立即选型
世界上最节能的微控制器EFM32之十大低功耗奥秘
Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。
【应用】微控制器CKS32F103RBT6用于智能家居系统,采用ARM® Cortex®-M3 32位的RISC内核
中科芯着手推出一份高性价比智能家居系统应用方案,以CKS32F103RBT6微控制器(MCU)为主控芯片,这些丰富和外设配置,使得适用于多种应用场合:电机驱动和应用控制、医疗和手持设备、智能家居系统、视频对讲等。
【产品】16位微处理器S1C17M33、SICI17W3X,睡眠电流分别低至0.2uA、0.15uA
EPSON推出的微处理器S1C17M33、SICI17W34/SICI17W35/SICI17W36都属于低电压、低电流微处理器,可大幅延长产品电池寿命,它们嵌入式电路部分可帮助客户降低总产品数量、节省板子空间和减少软件开发时间,也均可驱动LCD显示模式,可广泛应用于通信设备、工业电子、汽车电子及消费电子领域。
Silicon Labs(芯科科技) C8051F39x可靠性报告
描述- 本报告为Silicon Laboratories的C8051F39x系列微控制器产品的资格报告,包括W7101F1产品的资格计划与报告。报告详细描述了该系列产品的加速环境应力测试、加速寿命模拟测试、电气验证等测试结果,所有测试均通过。报告涉及高温数据保持/循环耐久性、低温数据保持/循环耐久性、ESD抗扰度、闩锁效应等多项测试内容。
型号- C8051F391-A-GMR,C8051F390,C8051F392,C8051F391,C8051F394,C8051F393,C8051F397-A-GM,C8051F393-A-GMR,C8051F398-A-GMR,C8051F392-A-GM,C8051F394-A-GMR,C8051F399-A-GMR,C8051F396-A-GMR,C8051F396-A-GM,C8051F393-A-GM,C8051F392-A-GMR,C8051F399-A-GM,C8051F397-A-GMR,C8051F390-A-GMR,C8051F390-A-GM,C8051F395-A-GMR,C8051F391-A-GM,C8051F398-A-GM,C8051F395-A-GM,C8051F394-A-GM,C8051F396,C8051F395,C8051F39X,C8051F398,C8051F397,C8051F399
雅特力携工业控制、电机控制、消费电子、智能家居及汽车电子等领域近百款产品与方案亮相ELEXCON 2022
雅特力作为32位微控制器的创新领导者,携工业控制、电机控制、消费电子、智能家居及汽车电子等五大领域近百款产品与方案亮相此次展会,全面展示了雅特力最新技术与成果,吸引了众多电子行业人士参观交流!
C8051系列MCU用外部振荡器作为时钟源,在软件中该如何配置这些外部振荡器引脚?
对于具有专用振荡器引脚的 MCU (如 C8051F12x系列),这些引脚将自动配置为所选的外部振荡模式。 对于那些外部振荡器引脚与GPIO引脚复用的器件(如C8051F30x),这些与外部振荡器相关的GPIO引脚必须按照下面描述配置: 1. 对于一个外部晶体振荡器,XTAL1和XTAL2两个引脚必须配置为模拟输入。 2. 对于“RC”模式或“C”模式,XTAL2 或 EXTCLK引脚必须配置为模拟输入。 3. 对于CMOS时钟模式,XTAL2或EXTCLK引脚必须配置为数字输入。 对于振荡器引脚与GPIO复用的器件,任何时候使用外部振荡器,相关的Crossbar必须配置跳过这些被振荡器电路使用的引脚,以避免任何与Crossbar外设之间的 冲突。
使用KEIL C51开发环境,仿真调试正常,手动切换内部默认20MHz时钟到24.5MHz时钟后,调试仿真MCU和开发环境卡死,仿真器USB接口不断尝试连接不成功,是不是仿真器的问题?应该如何解决?
在KEIL C51环境和Eclipse环境下操作时钟切换要特别小心,一定要先确认切换到的时钟已经正常振荡,否则一旦切换到没有起振的时钟源,将导致开发环境和目标板卡死的现象,这并非仿真器的问题。解决办法:重新启动开发环境软件或者计算机,连接仿真器和目标板,检查程序是否先打开了24.5MHz的内部高速振荡器,循环判断等待振荡标志位生效,然后再切换主时钟到内部高速24.5MHz时钟源上。
8位混合信号单片机能够降低汽车电子设计的成本和复杂度
芯科科技提供的是C8051F58x单片机提供了高精度的振荡器,高精准的电压参考器,5V整流模块等相当多的片上外设,这些让混合信号单片机在汽车电子系统设计中的应用系统的设计难度降低了,并减少了元器件的数量和印制板的尺寸。
【产品】最大工作频率48MHz的微控制器,嵌入式应用最佳选择
Silicon Labs新推出微控制器EFM8UB3系列,Flash容量为40kB,在512字节扇区内支持在线可编程,提供非易失性数据存储,同时支持固件的现场升级。提供独立的片上系统解决方案,具有多功能的外设接口。
【产品】Silicon Labs多用途 8 位微控制器EFM8UB2,所有全速USB应用的理想选择
Silicon Labs发布了一款带有USB功能集的多用途 8 位微控制器EFM8UB2。该芯片集成高精度振荡器的 USB 外围设备接口、时钟恢复电路、以及集成收发器,无需外部组件,是所有全速 USB 应用的理想选择。
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
可来图定制均温板VC尺寸50*50mm~600*600 mm,厚度1mm~10mm,最薄0.3mm。当量导热系数可达10000W/M·K,散热量可达10KW, 功率密度可达50W/cm²。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论