• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 基于USB總線的MC68HC908JB8 Flash在線編程

    基于USB總線的MC68HC908JB8 Flash在線編程

    作者: 時間:2011-05-11 來源:網絡 收藏

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

    本文引用地址:http://www.czjhyjcfj.com/article/156311.htm

      1 底層軟件實現方法

      1.1 配置

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

      

    JB8的Flash配置

      圖1中,用戶區范圍為$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 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 石楼县| 灵台县| 上饶市| 来安县| 历史| 都安| 神池县| 三门峡市| 汉中市| 百色市| 阳山县| 保靖县| 平和县| 沈丘县| 大城县| 合川市| 锦屏县| 舒兰市| 吴旗县| 宜兰市| 大庆市| 龙泉市| 宁国市| 广南县| 田阳县| 长寿区| 甘南县| 手游| 阿图什市| 登封市| 安阳市| 宁安市| 沙田区| 七台河市| 车险| 文成县| 昭觉县| 肃北| 永登县| 锦州市| 新巴尔虎右旗|