PSoC Bootloader理解(参考PSoC3整理),持续更新...
[复制链接]
固件更新方式的两种实现方式:在系统程序烧录和驻留更新程序; 系统程序烧录就是大家经理使用的直接通过工具对Soc flash烧写 而驻留程序在生产时被烧录,一般只能通过硬件烧录的方式更新,从机的运行代码中实现一段驻留程序,主机通过某种通讯接口与驻留程序通信,将固件数据先发送给驻留程序,然后由该程序更新至Flash; Cypress PSoC芯片族和PSoC Creator 1.0开发环境提供了一套完整的Bootloader开发框架,开发者无需编写代码,即可获得基于I2C和USB接口的Bootloader功能;或者仅做简单的二次开发,实现基于其他通讯接口或更新协议的Bootloader功能,从而缩短产品的研发周期;
>>>>>>>>>>>亮点: Cypress提供了与PSoC3配套的开发环境PSoC Creator 1.0,将其丰富的片内资源抽象成众多的可配置功能模块,开发者可以像设计电路板原理图一样,将所需模块拖放在设计图纸上,连接模块之间的输入输出,然后使用C语言实现产品需求即可。
实现上PSoC Bootloader分三个层次: ---------------------------------- 核心功能层 ---------------------------------- 通讯协议处理层 ----------------------------------- 基本通讯层 I2C USB UART SPI …… ----------------------------------- 基本通讯层关注通讯接口原子级的数据收发,不同的通讯接口具有不同的原子级数据收发,如SPI和UART一次数据收发都是基于单个字节,而I2C的一次完整数据收发由多个字节组成的I2C协议数据包。在基本通讯之上,PSoC3 Bootloader已定义了一套与主机通讯的更新协议,以便接收主机发送的命令帧,并将处理结果以状态帧通知主机,此部分功能由协议处理层完成。核心功能层与具体的数据收发无关,此部分仅关注数据帧的解析,处理,Flash的读写等核心功能操作
[ 本帖最后由 wuyanyanke 于 2013-8-4 12:06 编辑 ]
|