Freescale HCS12系列MCU的通用編程器設(shè)計
摘要:為了實現(xiàn)飛思卡爾公司HCS12系列MCU的在線編程,通過軟件架構(gòu)和可移植性的方法設(shè)計了一個通用編程器。通過早期做的很多HCS12系列MCU芯片的編程實驗,獲得了它們的共性和差異性,通過軟件設(shè)計的方法實現(xiàn)了對HCS12微控制器的在線編程,并側(cè)重于研究編程器的通用性和高速下載特性。編程器具有通用性和使用便捷性。
關(guān)鍵詞:BDM;HCS12;編程器;通用性;Flash擦除;Flash寫入
引言
隨著Flash技術(shù)在微處理器上的廣泛應(yīng)用,單片機在開發(fā)和應(yīng)用手段上有了革命性的變化,從傳統(tǒng)的仿真器(ICE)到目前流行的JTAG等。設(shè)計人員仍然在不斷地尋找一種移植性更高、更易操作、費用更低的開發(fā)手段。隨著微處理器制造工藝的提高,一些高端微處理器(如CPU12/16/32、PowerPC、ColdFire等)內(nèi)部已經(jīng)包含了用于調(diào)試的微代碼,都可以通過BDM等進行調(diào)試。由于這種方法省去了仿真器,因此避免了高頻操作、交直流電的不匹配等問題,而且隨著BDM標準的不斷規(guī)范和普及,用BDM調(diào)試模式進行嵌入式開發(fā)已經(jīng)成為首選。
Freescale公司HCS12系列MCU通用編程器是支持Freescale公司MC9S12系列、MC9S12X系列單片機的BDM調(diào)試工具,它可以用于對Freescale公司所有16位MCU的寫入和擦除操作。
1 編程器概述
Freescale公司16位MCU通用編程器是用于Freescale公司16位MCU的BDM調(diào)試工具,編程器采用MC68HC908JB8為主控芯片,與目標板以BDM方式進行通信,與PC方則采用USB接口通信,由USB提供電源。編程器系統(tǒng)框圖如圖1所示。編程器的主要功能是實現(xiàn)對目標芯片F(xiàn)lash的擦除和寫入。
編程器采用M68HC908JB8為主控芯片。與PC方通過USB進行通信,與目標板則通過BDM驅(qū)動模塊以BDM方式進行通信,系統(tǒng)由USB提供電源。
2 系統(tǒng)軟件設(shè)計
軟件系統(tǒng)的設(shè)計主要包括:通信程序接口設(shè)計、PC方用戶程序設(shè)計、MCU方擦寫程序設(shè)計。系統(tǒng)在對目標芯片F(xiàn)lash進行擦除和寫入操作時,首先由PC方程序獲取用戶操作指令,然后調(diào)用相應(yīng)的MCU方擦寫程序。通過通信程序接口將需要執(zhí)行的擦除或?qū)懭氤绦驅(qū)懭肽繕诵酒腞AM區(qū),最后在PC方程序的控制下轉(zhuǎn)向擦寫程序所在RAM區(qū)的地址執(zhí)行程序以完成對應(yīng)操作。
編程器使用USB方式與目標板進行通信。PC方的用戶程序與底層MCU方程序進行通信時,通信程序使用Freescale公司提供的相應(yīng)動態(tài)鏈接庫來實現(xiàn)。
BDM通信程序動態(tài)鏈接庫主要包含的函數(shù)如表1所列。具體實現(xiàn)時只需要直接在PC方用戶程序中調(diào)用動態(tài)鏈接庫的函數(shù)即可。
評論