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