《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于USB接口的ARM9微控制器外部存儲器下載工具— MOLY-DO
基于USB接口的ARM9微控制器外部存儲器下載工具— MOLY-DO
互聯網
摘要: 目前市場上部分ARM系列微控制器沒有自帶燒寫外部存儲器的bootloader或者只能通過串口等實現對各種存儲器的燒寫。鑒于串口速度過慢、產品批量生產等原因,我們可以開發一個通過 USB 接口,對 ARM9微控制器(本文以LPC3250為例) 的外部存儲器進行讀寫操作,實現映像文件燒寫的 USB 下載工具 — MOLY-DO。
Abstract:
Key words :
       目前市場上部分ARM系列微控制器沒有自帶燒寫外部存儲器" title="存儲器">存儲器的bootloader或者只能通過串口等實現對各種存儲器的燒寫。鑒于串口速度過慢、產品批量生產等原因,我們可以開發一個通過 USB" title="USB">USB 接口,對 ARM9" title="ARM9">ARM9微控制器(本文以LPC3250為例) 的外部存儲器進行讀寫操作,實現映像文件燒寫的 USB 下載工具 — MOLY-DO

  MOLY-DO 分為兩個部分,其一為上位機,即常用的 Windows 應用程序,提供對 LPC3250的各種操作;其二為下位機,即可獨立運行在 LPC3250 上的固件程序,它包括 LPC3250 各種外圍設備的驅動程序以及下位機主體 USB Device 子系統。

  硬件工具:

  ○ ARM9 參考板一塊(本文以 LPC3250 終端設備為例);

  ○ 一臺有串口和 USB 接口的 PC 機;

  ○ 串口線(直連)和 USB 打印線各一根。

  工作原理

  使用串口線和 USB 打印線分別連接LPC3250 終端設備的 UART5 插槽和 USB-B 型接口到 PC 機。運行上位機 MOLY-DO 彈出一個登陸框,可選擇串口以及參考板類型,然后連接登錄 MOLY-DO 上位機主界面,其中在登錄的過程中通過串口下載usb_burn.bin 映像文件到LPC3250 SRAM,此時 LPC3250 終端運行 usb_burn.bin 映像中的固件程序,完成 LPC3250 下位機的初始化。

  在上位機主界面,可以對LPC3250 終端設備上的 SRAM、SDRAM、NANDFlash、NORFlash 以及 SPIFlash 進行讀寫操作。如:燒寫一級啟動代碼 restore.bin 到 NANDFlash 的第 0 塊,燒寫 u-boot 映像、linux 內核和文件系統映像到 NANDFlash 中。

  1.下位機

  開發工具:KEIL MDK 3.22a 或 GCC

  難點:LPC3250 中斷處理、USB Device 驅動程序以及 restore 等啟動程序的頭文件的燒寫。

  在 IRAM 中運行固件程序,自定義 USB Device 類型,配合 PC 機 USB Device 驅動程序與上位機通信。在下位機中實現各種外圍設備模塊的功能,特別是某種存儲器的讀寫操作。USB Device 子系統

  1.LPC3250 USB 設備控制器

  USB 是一種 4 線總線,它支持一個主機同時與多個外設(最多可達 127 個)之間的通信。主機控制器通過基于令牌的協議給相應的設備分配 USB 帶寬。USB 總線支持設備的熱插撥和動態配置。所有傳輸都由主機控制器來啟動。主機定義 1ms 幀的數據傳輸。每幀包含 SoF 標記和與設備端點之間傳輸的數據處理。每個設備最多包含有 16 個邏輯或 32 個物理端點。定義了 4 種類型的端點傳輸方式。控制傳輸主要用于在設備連接時對設備進行枚舉以及其他因設備而已的特定操作。中斷傳輸用于對延遲要求嚴格、小量數據的可靠傳輸,如鍵盤、游戲手柄等。批量傳輸用于對延遲要求寬松,大量數據的可靠傳輸,如U 盤等。同步傳輸用于對可靠性要求不高的實時數據傳輸,如攝像頭、USB 音響等。

  設備控制器使能與 USB 主機控制器之間的 12 Mb/s 的數據傳輸。它由寄存器接口、串行接口引擎、端點緩沖存儲器和 DMA 控制器組成。串行接口引擎對 USB 數據流進行譯碼,并將數據寫入相應的端點緩沖存儲器。結束后的 USB 傳輸或錯誤條件的狀態由狀態寄存器來指示,產生中斷(如果能中斷使能)。使能時,DMA 控制器將控制端點緩沖區和 USB RAM 之間的數據傳輸。MOLY-DO 下位機 USB

  MOLY-DO 采用 USB Full Speed 協議。邏輯端口 0 用于初始化 USB Device,在 USB 設備描述符中,我們采用自定義設備。選用邏輯端口 1、2 用于數據傳輸;其中邏輯端口 1 發送命令字,邏輯端口 2 用于數據傳輸。

  使用 DMA 模式傳輸,有關 DMA 模式傳輸,詳情請見 LPC32x0 用戶手冊。

  通過 USB 能夠對 SDRAM、SRAM、NANDFlash、NORFlash、SPIFlash 等存儲器外設進行操作,下面將對 NANDFlash 操作進行簡單介紹。

  1.NANDFlash 操作

  LPC3250 有兩個 NAND Flash 控制器,一個用于 multi level NAND Flash 設備而另外一個用于 single level NAND Flash 設備。

  在 MOLY-DO 下位機中,完全實現 SLC、MLC NAND 設備驅動程序,以供 application() 程序所調用。例如使用nand_write_sector() 函數燒寫 kickstart.bin 至 NANDFlash 中。

  目前,下位機系統已支持三星 K9F2808、K9F5608等小頁和 K9F1G08、K9F2G08等大頁以及 ST NAND128-A、NAND256-A、NAND512-A、NAND01G-A等多種 NANDFlash。

  同時,下位機還支持 SST 39VF6401B 等 NORFlash 以及 MX25L1605D 等 SPIFlash。

  2.USB Device 驅動程序

  開發工具:

  ○ DDK或WDK、BusHound 5.0、DriverStudio_3.0 和 VC++ 6.0

  原理:

  實現LPC3250 USB Device自定義設備類型驅動,開辟兩個邏輯端點分別用于指令和數據的傳輸。API 如下:Usb_Link_Data_Write、Usb_Link_Data_Read、Usb_Link_CMD_Write、Usb_Link_CMD_Read。

  生成:

  MOLY_DO_LIB.dll、MOLY_DO_LIB.lib、usb_link.inf、usb_link.sys上位機

  開發工具:Microsoft Visual Studio 2005、BusHound 5.0

  原理:通過串口使用 CComPort 類與 LPC3250 通信,完成固件代碼搬移;配置 USB 設備驅動程序,查找 LPC3250 USB 設備,實現與下位機通信,完成對各種存儲設備的操作。注:有關UART啟動握手,詳見上文或 LPC3250 用戶手冊。

  難點: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 秒之內被接收到,超時,開機程序跳至正常啟動程序。

  主應用程序

  MOLY-DO 主窗口類CMOLYDODlg 同樣是一個 CDialog 類。在 CMOLYDODlg 類中,實現 CScrollBar(滾動條)、CLRichEditCtrl(控制臺)、CControlPos(控制控件)、CSplitCtrl 等公用子類以及各種存儲器的操作窗口類:CTabNANDDlg、CTabNORDlg、CTabSPIDlg、CTabSDRAMDly、CTabSRAMDlg。

  自定義類 CMainOpt 用于 MOLY-DO 的主操作。在此類中,通過 USB 完成與下位機的各種通信任務,如:執行操作(發命令字)、發送文件、接收文件、對比文件等等。主應用程序結構圖如圖3。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线精品国产欧美| 中国日韩欧美久久久久久久久| 欧美日本国产一区| 久久久青草婷婷精品综合日韩 | 久久成人综合视频| 午夜在线精品偷拍| 亚洲自拍偷拍视频| 亚洲欧美另类在线观看| 亚洲影视在线| 亚洲欧美国产精品va在线观看| 中文一区在线| 亚洲天堂激情| 亚洲影视中文字幕| 亚洲资源在线观看| 亚洲欧美成人网| 亚洲欧美日韩国产另类专区| 午夜精品理论片| 欧美一区二区三区在线播放| 久久不见久久见免费视频1| 亚洲大片在线| 亚洲激情偷拍| 夜色激情一区二区| 亚洲天堂免费观看| 午夜精品免费在线| 久久久久九九九| 噜噜噜久久亚洲精品国产品小说| 美日韩精品免费观看视频| 欧美aⅴ99久久黑人专区| 男男成人高潮片免费网站| 欧美国产欧美综合| 欧美人成免费网站| 国产精品高潮呻吟久久av黑人| 国产精品一二| 狠狠色综合网| 亚洲日韩中文字幕在线播放| 一本在线高清不卡dvd| 一区二区三区高清在线| 亚洲欧美久久久| 欧美一区二区三区四区在线观看地址| 欧美综合国产| 亚洲精品一区二区三区樱花 | 一本色道精品久久一区二区三区 | 亚洲一区二区三区精品在线观看| 亚洲欧美日韩综合一区| 亚洲第一偷拍| 一区二区三区黄色| 香蕉久久a毛片| 久久久噜噜噜久久中文字免| 欧美电影在线| 国产精品色网| 影音先锋在线一区| 99re8这里有精品热视频免费| 亚洲永久精品国产| 久久国产精品一区二区| av成人免费观看| 亚洲欧美国产另类| 麻豆成人精品| 国产精品久久久对白| 国产一区二区三区在线观看免费视频| 在线观看日韩国产| 亚洲一区二区在线免费观看视频| 久久精品亚洲乱码伦伦中文| 一区二区三区日韩欧美| 久久精品99国产精品| 欧美日本中文字幕| 国产香蕉97碰碰久久人人| 亚洲人成在线观看网站高清| 亚洲欧美日韩中文视频| 亚洲美女少妇无套啪啪呻吟| 欧美永久精品| 欧美日韩一区免费| 国语自产在线不卡| 在线一区视频| 最新热久久免费视频| 性伦欧美刺激片在线观看| 欧美国产一区视频在线观看| 国产乱码精品一区二区三区忘忧草 | 国产美女精品视频免费观看| 亚洲精品国产精品国自产在线 | 一二三四社区欧美黄| 久久久久久穴| 国产精品白丝黑袜喷水久久久 | 欧美一级在线亚洲天堂| 中文高清一区| 欧美成人一区二免费视频软件| 国产伦一区二区三区色一情| 99re8这里有精品热视频免费| 亚洲黄色av| 久久成人精品一区二区三区| 欧美日韩一区二区在线视频| 亚洲高清av| 久久精品国亚洲| 亚洲欧美日韩国产成人精品影院 | 99成人在线| 亚洲剧情一区二区| 另类激情亚洲| 国产亚洲一区二区三区在线播放| 一区二区三区四区在线| 亚洲精品一区二区在线| 久久午夜精品一区二区| 国产欧美韩日| 亚洲自拍偷拍一区| 亚洲丝袜av一区| 欧美精品一区二区在线观看| 影音先锋欧美精品| 久久精品日韩欧美| 久久久久久一区二区| 国产日韩精品入口| 亚洲欧美日韩国产中文| 亚洲女同精品视频| 国产精品v日韩精品v欧美精品网站| 亚洲精品一区中文| 日韩亚洲欧美一区二区三区| 男女激情久久| 亚洲电影观看| 亚洲精品视频中文字幕| 欧美大胆人体视频| 在线欧美电影| 91久久线看在观草草青青| 裸体歌舞表演一区二区| 精品不卡一区| 亚洲国产精品成人一区二区| 久久天天躁狠狠躁夜夜av| 韩国av一区二区三区在线观看| 欧美一级专区| 久久久久网站| 极品av少妇一区二区| 久久精品国产视频| 美女精品在线观看| 亚洲国产婷婷香蕉久久久久久| 91久久精品网| 欧美精品在线观看一区二区| 亚洲精品一区二区网址| 亚洲丝袜av一区| 国产精品视频在线观看| 午夜精品亚洲一区二区三区嫩草| 欧美在线播放高清精品| 狠狠综合久久av一区二区老牛| 亚洲韩国精品一区| 欧美日本一区| 亚洲免费在线视频| 欧美一级成年大片在线观看| 国产一区二区0| 亚洲黑丝在线| 欧美日韩在线视频一区| 在线综合欧美| 欧美专区日韩专区| 在线欧美亚洲| 在线视频精品一| 国产精品一区免费观看| 亚洲第一福利在线观看| 欧美电影电视剧在线观看| 日韩一区二区精品在线观看| 午夜一区二区三区不卡视频| 国产亚洲福利| 亚洲日韩欧美视频| 国产精品白丝jk黑袜喷水| 欧美一区二区视频免费观看| 麻豆乱码国产一区二区三区| 日韩系列在线| 久久精品国产免费| 亚洲国产综合在线| 亚洲欧美日韩一区在线| 国产一区二区中文字幕免费看| 亚洲另类视频| 国产精品视频网址| 亚洲国产一区二区三区a毛片| 欧美日韩国产一区精品一区 | 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲一区二区在线播放| 欧美视频一区二区三区…| 午夜精品一区二区三区在线播放| 蜜桃久久精品乱码一区二区| 99国产一区| 久久一区二区三区四区| aa亚洲婷婷| 久久久噜噜噜久久久| 亚洲精品欧美日韩专区| 久久精品国产99国产精品澳门| 亚洲国产精品国自产拍av秋霞| 午夜精品福利一区二区三区av | 久久免费国产精品| 99精品热视频| 久久综合九色九九| 亚洲午夜成aⅴ人片| 免费欧美在线视频| 亚洲影视九九影院在线观看| 欧美国产成人在线| 午夜精品成人在线视频| 欧美欧美天天天天操| 欧美一区二区三区久久精品| 欧美日韩精品免费观看| 欧美尤物一区| 欧美性开放视频| 亚洲乱码国产乱码精品精可以看| 国产三级欧美三级日产三级99| 中文在线一区| 亚洲国产精品va在线看黑人| 久久精品人人做人人综合| 99热精品在线|