当前位置:首页 > 通信技术 > 移动通信
[导读] 引导加载器支持产品固件的现场更新。引导加载器可使用UART、I2C、SPI或USB等常见通信接口更新固件,而引导加载器主机和目标之间通常采用有线连接方式。在蓝牙到串行适配器的帮助下,这个引导加载

引导加载器支持产品固件的现场更新。引导加载器可使用UARTI2C、SPIUSB等常见通信接口更新固件,而引导加载器主机和目标之间通常采用有线连接方式。在蓝牙到串行适配器的帮助下,这个引导加载操作能通过无线方式实现。如果目标所处的位置难以物理地访问,或者目标位于密封设备内,那么这种无线连接功能就会特别有用。

使用引导加载器的第一步就是配置产品,让引导加载器(而不是应用)去执行。一旦引导加载器运行,主机就会通过通信通道发送“start bootload”命令。如果引导加载器发出“OK”回应,那么就会开始引导加载。在引导加载期间,主机读取新应用文件,将其解析为闪存写入命令,并发送命令到引导加载器。在整个文件发送后,引导加载器会确认文件完整性,并发送控制到新应用。

采用蓝牙到串行适配器的无线引导加载过程可在任何支持UART引导加载器的目标上进行,无需使用蓝牙串行端口配置文件(SPP)对运行在目标设备上的主机或引导加载器固件进行任何修改。蓝牙配置文件是指定蓝牙设备一般行为的蓝牙核心规范上额外的协议,可用于支持蓝牙设备与其它具有相同配置文件的设备进行通信。

SPP基于仿真RS-232串行端口的射频通信(RFCOMM)协议,它定义了如何设置两个设备之间的虚拟串行端口,如何利用蓝牙互联。支持蓝牙功能的PC能连接到目标侧的蓝牙串行适配器,并进行引导加载操作。引导加载命令可通过发送串行命令到当前运行在目标器件上的应用而实现无线触发。

引导加载器

引导加载过程会通过标准通信接口更新嵌入式系统的固件。主机可以是带引导加载器主机应用工具的PC,也可以是另一个微控制器。引导加载器是加电启动或系统重设后将要执行的第一行代码。引导加载器会预编程到微控制器中,与主机通信,并获得新的应用镜像,将其写入微控制器的内部闪存。在引导加载操作成功后,微控制器会开始执行新的应用固件。如果没有从主机接收到新的应用,那么引导加载器会执行微控制器中现有的应用。

应用固件镜像的格式取决于使用的微控制器。举例来说,PSoC控制器使用.cyacd(应用代码和数据)作为引导加载应用的格式。如果采用标准的蓝牙到串行适配器,那么我们可在支持UART引导加载器的目标器件上无线执行同样的引导加载操作。

在利用蓝牙到串行适配器进行无线引导加载的情况下,基本的引导加载操作保持不变。不过,我们需要在主机和目标器件之间建立虚拟串行连接,通过蓝牙无线发送应用镜像。SPP定义了如何设置虚拟串行端口和两个蓝牙设备的互联,随后允许设备进行RS232(或类似的)串行线缆仿真。这种配置文件涵盖的情境能支持传统应用,这里蓝牙作为线缆连接的替代,使用虚拟串行端口抽象。利用SPP,互联设备发送和接收数据就像互联的RX和TX线路一样。

图1显示了SPP中使用的协议和实体。基带、LMP和L2CAP是OSI 中的第1层和第2层蓝牙协议。RFCOMM是蓝牙版GSM TS 07.10标准,GSM手机用它在一个物理串行线缆上多路复用多个流,为串行端口仿真提供通信协议。SDP是蓝牙服务发现协议,支持蓝牙设备发现其它蓝牙设备提供的服务和相关参数。

图1:配置文件协议栈包括SPP使用的不同协议和实体。

就使用SPP的无线引导加载而言,两侧运行的应用为PC上的引导加载器主机应用或主机微控制器上的UART接口以及目标系统上的UART引导加载器。

Bluefruit EZ-Link模块或JY-MCU模块等标准蓝牙到串行适配器能配对具备蓝牙功能的计算机,并显示为串行COM端口。将蓝牙模块和PC配对后,设备管理器中会列出两个串行COM端口。之所以会出现这种情况,是因为蓝牙串行端口是基于RFCOMM,与物理串行端口不同,它在建立蓝牙虚拟连接时同时需要服务器和客户端。

设备管理器中列出的一个端口是入站端口(服务器),另一个则是出站端口(客户端)。然而,用其中一个串行端口建立连接后,它就是双向的。如果PC发起与蓝牙模块的连接,则使用出站端口。如果蓝牙模块发起连接,则使用入站端口。对于目标系统的无线引导加载而言,必须使用出站端口,因为PC是主机,它必须发起与蓝牙模块的连接。

蓝牙模块必须连接到运行UART引导加载器的目标系统上的UART接口。举例来说,在关闭电路板的USB到串行部分以无线引导加载PSoC 4的情况下,蓝牙模块可连接到CY8CKIT-049 PSoC 4原型设计套件。PSoC 4原型设计板易于使用,成本较低,能在主板兼容报头上提供PSoC 4微控制器的所有I/O引脚,从而支持快速原型设计,而且配套提供预编程的UART引导加载器。

蓝牙模块的波特率应匹配目标系统上引导加载器配置的波特率。大多数蓝牙模块支持AT命令来配置模块的波特率,这需要用到USB-UART桥接器或配备UART接口的微控制器。PSoC 4原型设计板的USB-串行器件部分也可利用AT命令配置蓝牙模块的波特率。引导加载器主机应用工具则用蓝牙虚拟串行端口来无线执行引导加载操作。图2给出了主机和目标系统的系统级方框图。

图2:系统级方框图显示主机和目标系统的不同组件。

如果引导加载器主机是另一个微控制器,那么无线引导加载程序仍会在其它蓝牙到串行适配器(连接到主机微控制器UART接口)的帮助下进行。对于不支持蓝牙的PC而言,标准的USB蓝牙收发器可用来建立蓝牙模块连接。

成功引导加载后,目标系统会开始执行新的应用。如果需要引导加载另一个新应用,那么目标系统必须重启,以再次启动引导加载器。如果应用调用引导加载器,就能避免这一过程。引导加载的应用响应于某种外部事件,如按下按键或主机发出的具体数据命令,从而再次启动引导加载操作,在目标系统上载入新的应用。

此外,低功耗蓝牙(BLE)模块也可用于无线引导加载。与传统蓝牙不同的是,低功耗蓝牙不使用SPP。不过,对于低功耗蓝牙而言,所有配置文件和服务支持全部位于应用空间内。产品开发人员能在通用属性配置文件(GATT)基础上开发自己的串行端口服务,满足BLE模块需求,并将其用于无线引导加载。

引导加载器的设计考虑因素:

稳健可靠的引导加载器应当能够检测、报告并有效处理无线引导加载过程中出现的错误,如传输过程中的数据包丢失、数据损坏和闪存写入错误等。通过存储应用的校验和或循环冗余码(CRC),可以执行闪存错误校验。在引导加载操作开始后,位会被清空。如果应用成功下载并安装,就会更新。举例来说,如果在引导加载时断电,那么在重启时引导加载器应检测无效的校验位,而且不会让部分加载的应用获得控制权,而是等待主机启动新的引导加载操作。

一旦新应用实现引导加载,那么引导加载器必须确认引导加载镜像是否有效,并让新应用获得控制权。引导加载器还应当能检查闪存中的自身镜像,判断其是否有效。另一个重要考虑因素是避免应用覆盖引导加载器本身。如果引导加载器损坏或被应用覆盖,那么系统就无法工作,需要对系统的引导加载器进行重新编程。为了避免这种情况,闪存的引导加载器区域必须进行保护,避免引导加载器代码被意外覆盖。

引导加载器设计的另一个重要考虑因素就是何时开始与主机通信。在确认应用有效后,引导加载器可等待一定时间让主机开始新的引导加载操作。如果等待时间过短,主机可能还无法可靠启动通信。如果等待时间过长,产品的整体启动时间就会太长。与引导加载新应用时避免设备重启的解决方案类似,这个时序问题可通过让应用调用引导加载器进行解决。

为了确保目标系统无错误,我们可用多应用引导加载器在闪存中存储多个应用镜像。如果引导加载器检测到某个应用镜像被损坏,那么引导加载器能跳到另一个应用镜像。能够保存的应用数量取决于目标系统的闪存大小。

此外,引导加载器中还可包含简单的调试功能,可用UART接口和Tera Term等终端仿真程序实现,从而在PC上显示调试信息。调试信息还能用相同的蓝牙到串行调试器无线发送。

定制引导加载器主机工具:

不同微控制器可直接使用标准的引导加载器主机工具应用,无需对SPP的无线引导加载进行任何修改。然而,引导加载器主机工具可以进行定制,从而更好地满足无线引导加载需求,并嵌入终端仿真器窗口,以查看调试信息,甚至能通过SPP无线发送具体数据来从应用中调用引导加载器。图3显示了具有嵌入式终端仿真器窗口的定制引导加载器主机工具应用实例。为充分利用终端仿真器,引导加载到目标系统的任何新应用都必须包含UART接口,并能在主机向目标系统发送具体数据时调用引导加载器。UART接口可在引导加载器和应用之间共享。

图3:具有嵌入式终端仿真器窗口的定制引导加载器主机工具应用实例。

如果采用稍微复杂的多应用引导加载器设计,我们也能利用SPP从主机向目标系统无线发送不同消息,从而在闪存中切换存储的多个应用,这就能节约新应用引导加载所需的时间。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭