999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Freescale HCS12系列MCU 的通用編程器設計

2013-08-27 08:33:08聶章龍
單片機與嵌入式系統應用 2013年2期
關鍵詞:程序用戶系統

聶章龍

(常州信息職業技術學院,常州213164)

引 言

隨著Flash技術在微處理器上的廣泛應用,單片機在開發和應用手段上有了革命性的變化,從傳統的仿真器(ICE)到目前流行的JTAG 等。設計人員仍然在不斷地尋找一種移植性更高、更易操作、費用更低的開發手段。隨著微處理器制造工藝的提高,一些高端微處理器(如CPU12/16/32、PowerPC、ColdFire等)內部已經包含了用于調試的微代碼,都可以通過BDM 等進行調試。由于這種方法省去了仿真器,因此避免了高頻操作、交直流電的不匹配等問題,而且隨著BDM 標準的不斷規范和普及,用BDM 調試模式進行嵌入式開發已經成為首選。

Freescale公司HCS12系列MCU 通用編程器是支持Freescale公司MC9S12 系列、MC9S12X 系列單片機的BDM 調試工具,它可以用于對Freescale公司所有16 位MCU 的寫入和擦除操作。

1 編程器概述

Freescale公司16位MCU 通用編程器是用于Freescale公司16 位MCU 的BDM 調試工具,編程器采用MC68HC908JB8[1]為主控芯片,與目標板以BDM 方式進行通信[2],與PC方則采用USB接口通信,由USB提供電源。編程器系統框圖如圖1所示。編程器的主要功能是實現對目標芯片Flash的擦除和寫入。

圖1 編程器的系統框圖

編程器采用M68HC908JB8為主控芯片。與PC方通過USB 進行通信,與目標板則通過BDM 驅動模塊以BDM 方式進行通信,系統由USB提供電源。

2 系統軟件設計

軟件系統的設計主要包括:通信程序接口設計、PC方用戶程序設計、MCU 方擦寫程序設計。系統在對目標芯片Flash進行擦除和寫入操作時,首先由PC 方程序獲取用戶操作指令,然后調用相應的MCU 方擦寫程序。通過通信程序接口將需要執行的擦除或寫入程序寫入目標芯片的RAM 區,最后在PC方程序的控制下轉向擦寫程序所在RAM 區的地址執行程序以完成對應操作。

編程器使用USB 方式與目標板進行通信。PC 方的用戶程序與底層MCU 方程序進行通信時,通信程序使用Freescale公司提供的相應動態鏈接庫來實現[3]。

BDM 通信程序動態鏈接庫主要包含的函數如表1所列。具體實現時只需要直接在PC 方用戶程序中調用動態鏈接庫的函數即可。

表1 動態鏈接庫函數表

3 PC方用戶程序設計

3.1 程序主流程

PC方用戶程序界面如圖2所示,主程序流程如圖3所示[4]。S19是編程器生成的可下載的文件格式。

圖2 PC方用戶程序界面

啟動程序后首先檢測設備是否已經連接,如果沒有連接則返回錯誤信息,禁止以下的擦除和寫入操作。

圖3 主程序流程圖

初始化過程結束,成功進入BDM 模式后,系統開始等待用戶的操作指令,根據相應的指令作出操作。用戶在完成所需操作后按退出,關閉設備并退出主程序。

為了實現編程器對HCS12 系列MCU 的通用性[5],“選擇芯片芯號”模塊的設計致關重要。要詳細分析HCS12系列MCU 的特性,提取共性和相區別的信息,特別是RAM 和ROM 區的首尾地址信息,這些信息都需要存放到系統的相應數據庫中,以供編程器系統運行時根據所選芯片型號進行讀取,作為擦寫程序的起始地址數據。

3.2 擦除操作

PC方擦除操作程序流程如圖4所示。在取得擦除命令后,程序首先載入對應芯片的擦除程序,然后將擦除程序的S19數據寫入目標芯片的RAM 區中,最后執行GO PC 指令,轉向芯片中擦除程序所在RAM 區中的地址,執行擦除程序。

圖4 擦除操作程序流程圖

3.3 打開和分析S19操作

執行該操作,首先按行讀入打開的S19 文件,并將S19數據保存到字符串數組中,每讀入一行同時驗證該行的校驗和,數組中一個單元就是S19一行的數據。然后對數據以頁為單位進行重新組合,并重新保存到新的字符串數組中,釋放先前的數組空間[6]。

3.4 寫入操作

PC方寫入操作程序流程如圖5所示。在取得寫入命令后,程序首先取一頁數據,將數據寫入RAM 區相應區域,接著判斷寫入程序是否已經寫入RAM 區中,若沒有則再將對應芯片的寫入程序寫入RAM 區。然后執行GO PC指令轉向目標芯片寫入程序所在RAM 區中的地址處,開始執行寫入。寫入程序則進入等待寫入完成狀態,如果等待超時則中途退出;否則,若一頁寫入完成,則接著進行下一頁的寫入操作,直到最后一頁。

圖5 寫入操作程序流程圖

4 MCU方擦寫程序設計

MCU 方的擦寫程序用于完成對目標芯片Flash的擦除和寫入操作。由于在Flash的擦除和寫入過程中,Flash是不能讀的,故擦除和寫入Flash的程序要放在RAM 中,也就是說,在Flash的擦除和寫入前,要把擦除或寫入的可執行代碼復制到RAM 中去,并讓程序在RAM 中執行,這一部分操作是由PC方程序完成的[7]。

Flash的擦除和寫入操作應按以下步驟進行:

①清除Flash狀態寄存器FSTAT 中的出錯標志位ACCERR和PVIOL,這是由于如果過去的Flash操作中如果有過出錯的情況,上面提到的出錯標志位將被鎖存。與其檢查這些標志位是否需要清零,不如清零這兩個標志。方法是向狀態寄存器FSTAT 的這兩位寫零。

②寫Flash 配置寄存器FCNFG 的b1 和b0。以MC9S12DP256為例,這兩位表示選擇256KB的Flash中的哪一個64 KB。這里0x00 表示PPAGE 號為0x3F、0x3E、0x3D、0x3C這64KB,0x01表示PPAGE號為0x3B、0x3A、0x39、0x38這64KB,0x02表示PPAGE號為0x37、0x36、0x35、0x34這64KB,0x03表示PPAGE 號為0x33、0x32、0x31、0x30這64KB。

③寫PPAGE寄存器。

④檢查上一次Flash處理的命令是否執行完成,能否寫入新的命令。這是通過Flash狀態寄存器FSTAT 中的命令緩沖區的標志位CBEIF是否為1,即命令緩沖區是否可以使用來實現的。若不能使用,則等待,直到可以使用。

⑤將要寫入的數據字寫到相應的地址中,地址必須為偶數地址。對于擦除操作,則被擦除段的任意地址都可以。

⑥向FCMD命令寄存器寫命令字0x41表示整體擦除,0x20表示單字節寫入。

⑦向Flash狀態寄存器FSTAT 中的命令緩沖區的標志位CBEIF寫1清零。這時狀態寄存器中的CCIF 位將置位,說明操作成功。

結 語

利用MC68HC908JB8 作為主控芯片,通過USB 與PC方交互通信,以BDM 方式與目標芯片進行通信,實現了一種用于Freescale HCS12系列MCU 的通用編程器。系統選用MC68HC908JB8MCU 進行設計,不僅是因為這款芯片性價比高,而且在于其USB模塊使操作更加方便和可靠,本文所提出的16位通用編程器工作可靠,成本低。讀者可以以本系統為藍本,設計自己的應用于其他系列芯片的編程器,應用到支持BDM 標準的其他系列微控制器中。

[1]Freescale.Technical Data-MC68HC908JB8,2005.

[2]Freescale.Background Debug Module(BDM)V4,2003.

[3]Daniel Malík.Turbo BDM Light interface[OL].[2012 10].http://read.pudn.com/.

[4]曹金華,劉曉升,王宜懷.Freescale HC08 系列MCU 集成開發環境的設計[J].微計算機信息,2009(9):77-79.

[5]蔣銀珍.M68HC08系列MCU 通用編程器及配套軟件開發[D].蘇州:蘇州大學,2004.

[6]劉曉升,曹金華,沈安東.HC08系列微控制器編程調試器通用性設計[J].計算機工程,2008(12):253-255.

[7]王艷春,王宜懷.M68HC08 MCU 通用編程器的設計與實現[J].自動化與儀表,2008(9):58-60.

猜你喜歡
程序用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 中文字幕无码中文字幕有码在线| 日韩国产精品无码一区二区三区| 欧美成a人片在线观看| 91啦中文字幕| 麻豆精选在线| 91无码网站| 亚洲 欧美 偷自乱 图片 | 国产在线视频导航| 亚洲第一黄片大全| 国产区91| 手机在线看片不卡中文字幕| 黄色免费在线网址| 日韩福利视频导航| 57pao国产成视频免费播放| 九九热这里只有国产精品| 亚洲第一区精品日韩在线播放| 精品乱码久久久久久久| 亚洲日韩高清无码| 国产欧美日本在线观看| 国产性精品| 国产精品极品美女自在线网站| 国产精品无码影视久久久久久久| 日韩a级毛片| 91美女视频在线| 国产乱人伦偷精品视频AAA| 久久婷婷六月| 亚洲天堂网在线视频| 午夜天堂视频| 色吊丝av中文字幕| 狠狠v日韩v欧美v| 亚洲最大在线观看| 露脸国产精品自产在线播| 99尹人香蕉国产免费天天拍| 在线国产毛片| 综合人妻久久一区二区精品 | 亚洲AV无码一区二区三区牲色| 中国美女**毛片录像在线| 无码人中文字幕| 在线无码av一区二区三区| 亚洲人成网站在线观看播放不卡| 天天操天天噜| 国产在线视频自拍| 日本午夜影院| 亚洲人在线| 国产剧情伊人| 色综合婷婷| 日韩成人午夜| 中文字幕在线播放不卡| 高清精品美女在线播放| 日韩AV无码免费一二三区| 国产chinese男男gay视频网| 色欲国产一区二区日韩欧美| 国产精品丝袜视频| 亚洲乱码在线播放| 免费A级毛片无码免费视频| 久久国产乱子| 久久久无码人妻精品无码| 香蕉eeww99国产在线观看| 国产精品视频久| 精品少妇人妻无码久久| 亚洲成AV人手机在线观看网站| 18禁色诱爆乳网站| 国产视频大全| 精品欧美视频| 情侣午夜国产在线一区无码| 日韩二区三区| 婷婷六月在线| 在线精品视频成人网| 一级毛片高清| 久操中文在线| 伊人色婷婷| 亚洲天堂网在线观看视频| 国产精品30p| 成人午夜网址| 国产日韩欧美精品区性色| 亚洲最大福利网站| 亚洲精品成人福利在线电影| 欧美 亚洲 日韩 国产| 日本AⅤ精品一区二区三区日| 在线人成精品免费视频| 国产精品欧美激情| 国产粉嫩粉嫩的18在线播放91|