新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于USB接口的ARM9微控制器外部存储器下载工具— MOLY-DO

基于USB接口的ARM9微控制器外部存储器下载工具— MOLY-DO

—— ARM9 MCU External Memory Download Tool Based on USB Interface — MOLY-DO
作者:深圳懋科科技有限公司 林鸿飞时间:2011-02-18来源:电子产品世界收藏

  上位机

本文引用地址:http://www.eepw.com.cn/article/116955.htm

  开发工具:Microsoft Visual Studio 2005、BusHound 5.0

  原理:通过串口使用 CComPort 类与 通信,完成固件代码搬移;配置 USB 设备驱动程序,查找 USB 设备,实现与下位机通信,完成对各种存储设备的操作。注:有关UART启动握手,详见上文或 用户手册。

  难点:CComPort类、主界面控件移动处理如:CControlPos、CSplitCtrl、CPTabCtrl等类的实现。

  1.LPC3250 UART5 启动

  LPC3250 支持多种启动方式。启动程序可以识别、复制到内部 SRAM(IRAM)并从如下外部源上执行一个外部程序:

  ○ 使用UART5 或 USB 收发器的 UART 启动。

  ○ SLC/MLC NAND Fflash 启动。

  ○ 使用 SSP0 的 SPI 启动。

  UART5 启动

  UART 数据下载协议假设一个外部设备已经连接到 UART5 或 设置为 UART 模式的 USB 收发器。数据下载协议的第一个动作就是从 UART5 发送一个 boot_id,外围设备预计回应一个 ‘A’(0x41)。如果收到一个 ‘A’,UART5 再发 boot_id。外围设备预计回应一个 ‘U’(0x55)和一个 ‘3’(0x33)。如果 ‘U’ 和 ‘3’ 被接收到,之后 UART5 回应一个 ‘R’(0x52)。外围设备然后会预计发送一个起始地址(32 位值;以 4 个 UART 字节连续发送),接下来是代码数量(32 位值;以 4 个 UART 字节连续发送)的传输。在此时,代码将被传输。传递的代码按字节高低顺序存放在起始地址,且当接收到正确数量的代码后,开机程序跳转到传输代码的起始地址并退出。开机程序已经放弃控制并转移到开始执行下载的程序。

  如果 ‘A’、’U’、’3’ 不是在 1 秒之内被接收到,超时,开机程序跳至正常启动程序。

  主应用程序

   主窗口类CMOLYDODlg 同样是一个 CDialog 类。在 CMOLYDODlg 类中,实现 CScrollBar(滚动条)、CLRichEditCtrl(控制台)、CControlPos(控制控件)、CSplitCtrl 等公用子类以及各种存储器的操作窗口类:CTabNANDDlg、CTabNORDlg、CTabSPIDlg、CTabSDRAMDly、CTabSRAMDlg。

  自定义类 CMainOpt 用于 的主操作。在此类中,通过 USB 完成与下位机的各种通信任务,如:执行操作(发命令字)、发送文件、接收文件、对比文件等等。主应用程序结构图如图3。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭