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

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

  諸如鼠標、鍵盤等應(yīng)用。JB8包含8KB的Flash用戶存儲區(qū)和16字節(jié)的中斷復(fù)位向量,使用它內(nèi)部產(chǎn)生的升壓泵就可以實現(xiàn)F1ash的燒寫和擦除,而不需要高電壓。

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

  1 底層軟件實現(xiàn)方法

  1.1 Flash配置

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

JB8的Flash配置

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

  1.2 向量重定位

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

假向量的重定位

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

中斷向量地址和重定位

  1.3 安全密鑰防止非法訪問

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

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

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

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

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

  1.5 ICP編程

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

ICP編程流程圖

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

  進入JB8 ICP模式有2種方式:ICP_FLAG被寫入$0000,或者PTA0被下拉成低電平。用戶代碼包括特別的命令來編寫ICP_FLAG,一旦ICP_FLAG被寫入零,則再次插撥上電后,JB8進入ICP模式。ICP指令支持有限的USB標準協(xié)議,如讀取描述符和狀態(tài)字,設(shè)置地址和配置字,以及清特征字。

  本文使用了一些必要的擦除、編程、校驗Flash命令,如表2所列。

一些必要的擦除

  在使用讀取狀態(tài)命令后,程序返回1字節(jié)的應(yīng)答命令來表示Program Row(行編程命令)、Erase Block(塊擦除命令)和Verify Row(行校驗命令)命令是否成功。字節(jié)$01表示命令執(zhí)行成功,字節(jié)$04表示命令執(zhí)行失敗。

  1.6 ICP_FLAG的編程

  由于JB8是為HID應(yīng)用設(shè)計的,最好使用HID命令來編寫ICP_FLAG,這樣可以無需額外的驅(qū)動。本文使用8字節(jié)的Set_Feature指令來設(shè)置ICP_FLAG,使用8字節(jié)的Get_Ack指令(只有1字節(jié)是有用的)來校驗設(shè)置是否正確(響應(yīng)為$0O表示命令成功,為$01表示命令失敗)。設(shè)置8字節(jié)足出于安全的考慮,如果這8字節(jié)與JB8中$FFE6~$FFED的8字節(jié)相匹配,那么命令才是有效的。只有命令有效,ICP_FLAG才會被寫入0。指令使用格式如表3所列。

 

指令使用格式

  2 應(yīng)用軟件

  USB ICP驅(qū)動程序的安裝與普通的硬件驅(qū)動程序安裝一樣,需要安裝USB ICP.SYS文件和注冊表文件USBICP.INF。USB ICP的Windows運行界面如圖4所示。

USB ICP的Windows運行界面

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

  結(jié)語

  本文采用集成USBl.1協(xié)議的MC68HC908JB8,擴展了ICP在串行口的應(yīng)用方式用于開發(fā),調(diào)試方便,實際運行效果很好,有一定的應(yīng)用價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99精品久久| 久久成人免费电影| 亚洲一区免费网站| 亚洲精品影视| 亚洲欧洲精品一区二区三区波多野1战4 | 国产综合久久| 国产一级揄自揄精品视频| 国产精品亚洲成人| 国产精品午夜在线观看| 国产精品入口麻豆原神| 国产精品永久免费| 国产精品夜夜夜| 国产精品人人做人人爽人人添| 国产精品99一区| 欧美亚洲第一区| 欧美亚州一区二区三区 | 亚洲欧美日韩精品久久亚洲区| 亚洲新中文字幕| 亚洲永久免费精品| 午夜精品免费| 久久精品国产清自在天天线| 久久久www| 美国成人毛片| 欧美看片网站| 国产精品成人一区二区三区吃奶| 欧美色图首页| 国产精品午夜在线观看| 国产一区二区三区视频在线观看| 经典三级久久| 亚洲精品1区2区| 99国产精品私拍| 亚洲一区二区三区精品动漫| 午夜精品免费| 久久精品国产第一区二区三区最新章节 | 亚洲国产免费| 一区二区av在线| 亚洲综合大片69999| 欧美在线播放| 裸体一区二区| 欧美日韩国产三区| 国产精品久久网| 国产一区亚洲一区| 亚洲欧洲免费视频| 在线亚洲观看| 久久精品成人| 99综合精品| 午夜激情综合网| 久热精品视频在线| 欧美色图首页| 国内精品久久久久久久影视蜜臀 | 亚洲人成高清| 亚洲一区视频在线| 亚洲国产一区在线观看| 这里只有精品在线播放| 久久成人国产| 欧美精品成人一区二区在线观看| 国产精品久久久久久久久搜平片 | 国产曰批免费观看久久久| 亚洲黄色在线观看| 亚洲欧美变态国产另类| 亚洲欧洲精品一区二区三区波多野1战4 | 99成人免费视频| 欧美一区二区视频观看视频| 美腿丝袜亚洲色图| 国产精品久久77777| 一区二区三区在线观看欧美| 亚洲精品在线观看免费| 午夜久久福利| 日韩一级大片| 久久九九免费| 欧美日韩亚洲一区三区| 国语自产在线不卡| 宅男噜噜噜66一区二区66| 久久精品国产一区二区三区| 亚洲一级黄色av| 欧美成人午夜激情在线| 国产精品稀缺呦系列在线| 亚洲国内在线| 亚洲福利一区| 欧美一区二区三区四区视频| 欧美激情亚洲精品| 国产综合色在线| 国产精品99久久久久久久久| 亚洲国产一区二区三区a毛片 | 久久精品人人做人人综合| 欧美日韩在线看| 亚洲国产精品va在线观看黑人| 亚洲在线观看| 亚洲午夜精品一区二区| 牛牛影视久久网| 国产亚洲成av人片在线观看桃| 一区二区日韩精品| 亚洲九九九在线观看| 久久久久久噜噜噜久久久精品| 国产精品久久久久影院色老大| 亚洲精品韩国| 最新中文字幕亚洲| 久久蜜桃资源一区二区老牛| 国产精品一区二区在线观看网站| 99精品国产99久久久久久福利| 亚洲精品自在久久| 免费人成精品欧美精品| 国内成人自拍视频| 午夜精品久久久久久久白皮肤| 亚洲在线播放| 欧美视频在线免费| 亚洲三级网站| 亚洲精品欧美极品| 欧美成人精品一区二区三区| 精品电影在线观看| 亚洲第一在线综合在线| 久久久国产成人精品| 国产精品色午夜在线观看| 一区二区电影免费观看| 在线视频免费在线观看一区二区| 欧美激情精品久久久| 亚洲福利免费| 91久久亚洲| 欧美激情精品久久久久久| 亚洲国产精品一区二区三区| 亚洲精品视频在线| 欧美精品一二三| 亚洲日本无吗高清不卡| 亚洲精品在线观看视频| 欧美电影在线观看完整版| 亚洲第一精品影视| 亚洲日本一区二区三区| 你懂的亚洲视频| 最近中文字幕mv在线一区二区三区四区| 亚洲精品久久久久久一区二区| 蜜桃久久av一区| 亚洲国产视频一区| 一本综合精品| 欧美亚一区二区| 亚洲在线观看视频网站| 欧美一区综合| 国产在线一区二区三区四区| 亚洲国产99精品国自产| 免费看的黄色欧美网站| 亚洲欧洲精品一区二区三区不卡| 夜夜嗨av色一区二区不卡| 欧美私人啪啪vps| 亚洲免费影视| 久久久久久高潮国产精品视| 一区在线视频| 99国产精品视频免费观看一公开| 欧美日韩麻豆| 午夜精品久久久久久久| 久久婷婷成人综合色| 亚洲国产精品久久久久秋霞蜜臀| 一本在线高清不卡dvd| 国产精品日韩在线播放| 久久精品国产亚洲a| 欧美激情综合五月色丁香| 在线综合亚洲| 久久在线免费观看| 亚洲理论在线| 欧美一区二区三区免费大片| 黄网站色欧美视频| 一区二区三区黄色| 国产欧美日韩一区二区三区在线观看 | 欧美三区免费完整视频在线观看| 亚洲自拍偷拍色片视频| 久久天天躁狠狠躁夜夜av| 亚洲精品社区| 欧美一区=区| 在线日韩视频| 午夜精品久久久久久久蜜桃app| 国产曰批免费观看久久久| 99国产精品| 国产日韩欧美综合| 99视频精品| 国产欧美日韩一区| 亚洲精品在线一区二区| 国产精品免费看片| 亚洲欧洲在线观看| 国产精品丝袜久久久久久app| 亚洲欧洲精品成人久久奇米网| 国产精品国产a| 91久久精品网| 国产精品永久| 一本色道久久综合亚洲精品不卡 | 午夜欧美不卡精品aaaaa| 欧美成人精品激情在线观看 | 99re热这里只有精品免费视频| 国产女主播一区| 日韩一级黄色大片| 国产亚洲成年网址在线观看| 在线综合欧美| 精品动漫一区| 欧美影院成人| 亚洲精品一二三| 久久久精品性| 亚洲一二三四久久| 欧美激情一二三区| 久久国产乱子精品免费女| 国产精品久久福利| 亚洲精品久久| 狠狠色噜噜狠狠色综合久| 午夜精品久久久久久久99水蜜桃 |