APP下载

基于C8051F34x单片机的USB Bootloader设计

2011-07-28刘云龙张伟霞

网络安全与数据管理 2011年23期
关键词:单片机程序设计

刘云龙 ,张伟霞

(1.广州海格通信集团股份有限公司,广东 广州 510663;2.广州广电运通金融电子股份有限公司,广东 广州 510663)

Bootloader(以下简称BL)是一段引导程序,在单片机上电或复位后在应用程序(以下简称APP)之前先运行,来判断当前是否需要进入升级状态。如果不需要升级,就直接跳转到APP运行;如果需要升级,首先擦除旧的APP,然后通过某种通信接收APP固件程序,同时写入Flash中。

BL固件程序能以多种方式获取数据,包括串口、并口、I2C、SPI、USB等,但是从实际使用和成熟度来看,使用串口无疑是最方便的。如今,USB总线凭借其方便、快速、灵活、稳定、应用范围广等优点被广泛地应用、发展和普及,使用USB进行数据传输是一种趋势。本文设计的BL主要基于USB通信,同时考虑到模块兼容,保留了串口通信。

一般来说,一个BL应该能够完成以下功能:(1)通过某种通信收发数据;(2)擦除并升级APP应用固件程序;(3)判断APP固件的完整性;(4)APP与BL的中断跳转问题。而基于USB通信的BL,除了要完成一般BL的功能,还需要考虑BL与APP共用除USB中断外的USB一般处理函数等问题。下面对BL固件程序设计、APP固件程序设计以及上层软件设计进行详细介绍。

1 USB Bootloader设计

1.1 硬件平台

本文设计的USB BL是基于SiliconLabs公司C8051F34x系列单片机实现的;C8051F34x器件是完全集成的混合信号片上系统型MCU,具有片内上电复位、VDD监视器、电压调整器、看门狗定时器、时钟丢失检测器、时钟振荡器、USB、SMBus/I2C、UART、SPI、定时器、I/O、多达4 352 B片内RAM和64 KB的片内Flash存储器,Flash存储器还具有在系统重新编程的能力,可用于非易失性数据存储,并允许现场更新8051固件。……

登录APP查看全文

猜你喜欢

单片机程序设计
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
试论我国未决羁押程序的立法完善
瞒天过海——仿生设计萌到家
“程序猿”的生活什么样
设计秀
有种设计叫而专
英国与欧盟正式启动“离婚”程序程序
创卫暗访程序有待改进