《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于USB總線的MC68HC908JB8 Flash在線編程
基于USB總線的MC68HC908JB8 Flash在線編程
摘要: 文中介紹了ATMEL公司的高性能AVR單片機ATmega103的主要性能特點,給出了ATmega103在FH跳頻系統數字信號處理模塊中的應用方法,詳細介紹了片內同步串口SPI的使用技巧,同時給出了SPI的通信應用程序。
Abstract:
Key words :

  Freescale公司的MC68HC908JB8(簡稱“JB8”)是HC908系列中的一種。它包括USB接口,是專為計算機人機接口設備設計的。

  諸如鼠標、鍵盤等應用。JB8包含8KB的Flash用戶存儲區和16字節的中斷復位向量,使用它內部產生的升壓泵就可以實現F1ash的燒寫和擦除,而不需要高電壓。

  ICP是一種在實際的目標電路板上燒寫和擦除芯片的方法,無需從目標板上將芯片卸下來再編程實現用戶程序的修改。這種方法適用于產品開發和代碼升級。目前市面上很多芯片(如Philips公司的P89C51、P89V51和LPC932A1,STC89C51和STC89L516RD+,以及AVR公司的ATmega8系列等)都支持串口ICP方式。本文采用USB接口的ICP方法,燒寫速度快,無需專用的電平轉換芯片,硬件通過微處理器JB8的USB接口與計算機USB口連接即可。

  1 底層軟件實現方法

  1.1 Flash配置

  為使用ICP通信連接的USB接口,必須修改JB8中的用戶代碼以識別預先為ICP定義的USB命令。因此在出廠前,必須將ICP代碼燒入JB8中。JB8的Flash配置如圖1所示。

JB8的Flash配置

  圖1中,用戶Flash區范圍為$DC00~$FBFF,用戶Flash向量區是從$FFFO到$FFFF。ICP的配置中:ICP的代碼是從$F800到 $FBFF。用戶Flash向量區在ICP操作中是不能再編程的,這兩個區是JB8事先寫入的,ICP操作可以對$DCOO~$F7FF的Flash區(圖1中陰影區)進行擦除和燒寫。

  1.2 向量重定位

  因為ICP的操作只能對用戶代碼進行編程和燒寫,不能擦除用戶Flash向量,且用戶F1ash向量是固定的,因此在用戶代碼中的中斷服務子程序地址必須重新定位到合適的地址。這種重新定位是通過“假”向量來實現的,3字節的假向量包括JMP指令和在用戶代碼中的中斷服務子程序的絕對地址。圖2中指出了假向量是如何重定位的。只有復位向量沒有重新定位,總是指向$F800(ICP代碼的入口地址)。

假向量的重定位

  表1列出了中斷向量地址和重定位“假”向量地址。

中斷向量地址和重定位

  1.3 安全密鑰防止非法訪問

  $FFF6~$FFFD的8字節內容用于進入JB8的監控模式。監控軟件能完全訪問F1ash區,正常情況下,8字節的安全密鑰是不可能被猜出的,因為這些中斷服務程序的起始地址是被固化到用戶代碼區中的。

  1.4 在ICP期間防止掉電的措施

  配置ICP時必須考慮到ICP子程序運行過程中有可能掉電,系統必須能夠恢復和完成ICP程序。ICP_FLAG字的設計正是基于此目的。復位后讀ICP_FLAG字,決定JB8是進入正常的工作模式還是ICP模式。該字地址是$F7FE,在用戶代碼區的最后2個字節。復位之后,復位向量地址$FFFE~$FFFF指向ICP程序入口地址$F800,一旦初始化完成,檢查進入ICP模式或用戶模式的條件。在以下2種情況下JB8進入ICP模式:

  ①“假”向量的高字節$FF7C是無效的,即不在$DC和$F7之間;

  ②ICP_FLAG字不等于校驗和。否則,JB8進入正常的工作模式。

  1.5 ICP編程

  ICP編程流程圖如圖3所示。

ICP編程流程圖

  一旦用戶代碼被燒入芯片,而“假”向量的高字節在無效的范圍($DC~$F7),同時ICP_FLAG被寫入校驗和(不能是$0000),則在插撥USB設備后,ICP代碼跳轉到正常操作的用戶模式。

  進入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所示。

USB ICP的Windows運行界面

  選擇燒寫文件(.SX格式),擦除Flash(Erase Flash)后執行空檢查(Blank Check),然后選擇燒寫(Program)芯片,最后執行校驗(Verify)。

  結語

  本文采用集成USBl.1協議的MC68HC908JB8,擴展了ICP在串行口的應用方式用于開發,調試方便,實際運行效果很好,有一定的應用價值。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美剧在线免费观看网站| 一本一本久久a久久精品综合麻豆| 欧美日韩亚洲一区二| 久久婷婷激情| 久久精品免费| 久久高清一区| 久久精品国产69国产精品亚洲| 性欧美videos另类喷潮| 亚洲欧美日韩国产综合精品二区| 一区二区三区四区国产精品| 亚洲精品一区二区三区av| 亚洲人成在线播放网站岛国| 亚洲国产精品久久| 亚洲国产成人久久综合一区| 久久精品亚洲一区| 亚洲风情亚aⅴ在线发布| 亚洲成人资源网| 亚洲黄色成人久久久| 91久久久久| 99视频在线观看一区三区| 99视频精品| 亚洲免费视频一区二区| 午夜精品久久久久久久99樱桃| 亚洲欧美在线视频观看| 欧美在线视频一区二区| 久久久久久久久久码影片| 久久久蜜臀国产一区二区| 久久在线观看视频| 欧美成人dvd在线视频| 欧美极品在线视频| 欧美色另类天堂2015| 国产精品老牛| 国产亚洲va综合人人澡精品| 国产一区二区三区免费在线观看| 国内久久婷婷综合| 亚洲狠狠婷婷| 中国日韩欧美久久久久久久久| 亚洲一区尤物| 亚洲国产99| 一区二区三区欧美激情| 亚洲欧美视频在线观看| 久久激情五月婷婷| 欧美超级免费视 在线| 欧美日韩在线另类| 国产欧美丝祙| 亚洲电影av| 中文网丁香综合网| 欧美在线播放| 一本色道久久综合狠狠躁篇的优点| 亚洲欧美另类在线| 久久亚洲图片| 欧美日韩免费一区二区三区视频| 国产美女精品视频免费观看| 国产一区在线观看视频| 亚洲黄网站在线观看| 欧美国产日韩亚洲一区| 久久精品一区四区| 欧美激情在线观看| 国产精品视频一| 在线精品高清中文字幕| 中文欧美在线视频| 亚洲第一精品影视| 亚洲一区二区av电影| 久久久久久91香蕉国产| 欧美欧美午夜aⅴ在线观看| 国产精品一区二区你懂的| 亚洲成人在线视频播放| 亚洲无玛一区| 91久久精品www人人做人人爽 | 久久精品欧美日韩| 一本久道久久综合婷婷鲸鱼| 久久国产精品一区二区三区四区| 欧美激情一区二区三区蜜桃视频 | aa国产精品| 久久米奇亚洲| 国产精品素人视频| 亚洲精品在线视频| 久久精品国产亚洲aⅴ| 亚洲一区二区三区777| 免费日韩视频| 国产日韩精品久久久| 99这里只有精品| 亚洲国产视频一区| 欧美综合国产| 欧美日韩免费高清一区色橹橹| 国外成人在线| 午夜精品福利一区二区三区av| 日韩一级免费观看| 另类天堂av| 国产午夜精品福利| 亚洲婷婷在线| 这里只有精品视频在线| 欧美黑人国产人伦爽爽爽| 狠狠色2019综合网| 亚洲欧美视频在线| 亚洲欧美日本伦理| 欧美视频亚洲视频| 亚洲精品一区在线观看香蕉| 亚洲精品一区二区在线| 老司机免费视频一区二区| 国产精品永久免费在线| 亚洲色图自拍| 亚洲线精品一区二区三区八戒| 欧美二区在线观看| 亚洲成人资源网| 亚洲国产精品久久91精品| 久久夜精品va视频免费观看| 国产日韩欧美精品| 亚洲欧美怡红院| 欧美亚洲视频| 国产精品欧美日韩一区| 欧美一区二视频| 久久精品夜夜夜夜久久| 国产精品一区二区在线观看不卡 | 欧美一区二区三区免费观看视频| 亚洲欧美国产毛片在线| 欧美午夜在线视频| av72成人在线| 亚洲一区二区成人在线观看| 欧美三级黄美女| 一本到12不卡视频在线dvd| 在线午夜精品| 欧美三区不卡| 亚洲网站在线看| 亚洲欧美国产精品va在线观看 | 亚洲欧洲一区二区在线观看 | 亚洲黄色尤物视频| 999在线观看精品免费不卡网站| 欧美刺激性大交免费视频| 亚洲国产精品尤物yw在线观看| 亚洲精品美女在线观看播放| 欧美国产一区二区三区激情无套| 亚洲国产合集| 一区二区国产在线观看| 国产精品二区影院| 亚洲欧美bt| 久久免费视频在线| 亚洲丁香婷深爱综合| 99精品福利视频| 欧美三级午夜理伦三级中视频| 一区二区三区 在线观看视频| 亚洲制服欧美中文字幕中文字幕| 国产精品美女久久久浪潮软件| 亚洲欧美日韩精品久久亚洲区 | 欧美日韩中文在线观看| 一区二区三区黄色| 欧美一区在线直播| 韩日精品视频| 日韩亚洲在线观看| 国产精品日韩久久久久| 久久9热精品视频| 欧美激情1区| 中日韩高清电影网| 久久久久网址| 91久久精品日日躁夜夜躁欧美 | 亚洲区欧美区| 欧美日韩国产片| 亚洲视频在线播放| 久久久久在线观看| 亚洲精品在线视频观看| 亚洲高清在线视频| 亚洲激情午夜| 久久久久久久精| 亚洲国产日韩综合一区| 亚洲在线观看视频网站| 国产视频欧美视频| 亚洲美女少妇无套啪啪呻吟| 国产精品久久久久aaaa| 亚洲第一久久影院| 欧美色大人视频| 亚洲高清二区| 欧美午夜宅男影院| 亚洲国产网站| 国产精品久久久久久久久婷婷| 久久国产精品色婷婷| 欧美日韩日本视频| 久久精品国产77777蜜臀| 欧美日韩视频一区二区| 性色av香蕉一区二区| 欧美大学生性色视频| 亚洲一区二区三区四区中文| 鲁大师影院一区二区三区| 这里只有精品电影| 玖玖在线精品| 亚洲午夜精品久久| 欧美freesex交免费视频| 亚洲欧美精品一区| 欧美激情一区二区三区在线| 午夜视频在线观看一区二区三区| 欧美激情第二页| 欧美一区二区高清在线观看| 欧美日韩美女| 亚洲激情电影在线| 国产精品资源| 亚洲视频久久| 亚洲国产二区| 久久国产精品久久久| 99精品视频免费观看视频| 美女脱光内衣内裤视频久久网站| 中文日韩在线|