首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于USB总线的MC68HC908JB8 Flash在线编程

基于USB总线的MC68HC908JB8 Flash在线编程

进入JB8 ICP模式有2种方式:ICP_FLAG被写入$0000,或者PTA0被下拉成低电平。用户代码包括特别的命令来编写ICP_FLAG,一旦ICP_FLAG被写入零,则再次插拨上电后,JB8进入ICP模式。ICP指令支持有限的USB标准协议,如读取描述符和状态字,设置地址和配置字,以及清特征字。  本文使用了一些必要的擦除、编程、校验Flash命令,如表2所列。

  在使用读取状态命令后,程序返回1字节的应答命令来表示Program Row(行编程命令)、Erase Block(块擦除命令)和Verify Row(行校验命令)命令是否成功。字节$01表示命令执行成功,字节$04表示命令执行失败。
  1.6 ICP_FLAG的编程
  由于JB8是为HID应用设计的,最好使用HID命令来编写ICP_FLAG,这样可以无需额外的驱动。本文使用8字节的Set_Feature指令来设置ICP_FLAG,使用8字节的Get_Ack指令(只有1字节是有用的)来校验设置是否正确(响应为$0O表示命令成功,为$01表示命令失败)。设置8字节足出于安全的考虑,如果这8字节与JB8中$FFE6~$FFED的8字节相匹配,那么命令才是有效的。只有命令有效,ICP_FLAG才会被写入0。指令使用格式如表3所列。

  2 应用软件
  USB ICP驱动程序的安装与普通的硬件驱动程序安装一样,需要安装USB ICP.SYS文件和注册表文件USBICP.INF。USB ICP的Windows运行界面如图4所示。

  选择烧写文件(.SX格式),擦除Flash(Erase Flash)后执行空检查(Blank Check),然后选择烧写(Program)芯片,最后执行校验(Verify)。
  结语
  本文采用集成USBl.1协议的MC68HC908JB8,扩展了ICP在串行口的应用方式用于开发,调试方便,实际运行效果很好,有一定的应用价值。
继承事业,薪火相传
返回列表