www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]摘要:為了實現(xiàn)飛思卡爾公司HCS12系列MCU的在線編程,通過軟件架構(gòu)和可移植性的方法設(shè)計了一個通用編程器。通過早期做的很多HCS12系列MCU芯片的編程實驗,獲得了它們的共性和差異性,通過軟件設(shè)計的方法實現(xiàn)了對HCS1

摘要:為了實現(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ù)即可。



3 PC方用戶程序設(shè)計
3.1 程序主流程
   
PC方用戶程序界面如圖2所示,主程序流程如圖3所示。S19是編程器生成的可下載的文件格式。


    啟動程序后首先檢測設(shè)備是否已經(jīng)連接,如果沒有連接則返回錯誤信息,禁止以下的擦除和寫入操作。
    初始化過程結(jié)束,成功進入BDM模式后,系統(tǒng)開始等待用戶的操作指令,根據(jù)相應(yīng)的指令作出操作。用戶在完成所需操作后按退出,關(guān)閉設(shè)備并退出主程序。
    為了實現(xiàn)編程器對HCS12系列MCU的通用性,“選擇芯片芯號”模塊的設(shè)計致關(guān)重要。要詳細分析HCS12系列MCU的特性,提取共性和相區(qū)別的信息,特別是RAM和ROM區(qū)的首尾地址信息,這些信息都需要存放到系統(tǒng)的相應(yīng)數(shù)據(jù)庫中,以供編程器系統(tǒng)運行時根據(jù)所選芯片型號進行讀取,作為擦寫程序的起始地址數(shù)據(jù)。
3.2 擦除操作
   
PC方擦除操作程序流程如圖4所示。在取得擦除命令后,程序首先載入對應(yīng)芯片的擦除程序,然后將擦除程序的S19數(shù)據(jù)寫入目標芯片的RAM區(qū)中,最后執(zhí)行GO PC指令,轉(zhuǎn)向芯片中擦除程序所在RAM區(qū)中的地址,執(zhí)行擦除程序。


3.3 打開和分析S19操作
   
執(zhí)行該操作,首先按行讀入打開的S1 9文件,并將S19數(shù)據(jù)保存到字符串數(shù)組中,每讀入一行同時驗證該行的校驗和,數(shù)組中一個單元就是S19一行的數(shù)據(jù)。然后對數(shù)據(jù)以頁為單位進行重新組合,并重新保存到新的字符串數(shù)組中,釋放先前的數(shù)組空間。
3.4 寫入操作
   
PC方寫入操作程序流程如圖5所示。在取得寫入命令后,程序首先取一頁數(shù)據(jù),將數(shù)據(jù)寫入RAM區(qū)相應(yīng)區(qū)域,接著判斷寫入程序是否已經(jīng)寫入RAM區(qū)中,若沒有則再將對應(yīng)芯片的寫入程序?qū)懭隦AM區(qū)。然后執(zhí)行GOPC指令轉(zhuǎn)向目標芯片寫入程序所在RAM區(qū)中的地址處,開始執(zhí)行寫入。寫入程序則進入等待寫入完成狀態(tài),如果等待超時則中途退出;否則,若一頁寫入完成,則接著進行下一頁的寫入操作,直到最后一頁。



4 MCU方擦寫程序設(shè)計
    MCU方的擦寫程序用于完成對目標芯片F(xiàn)lash的擦除和寫入操作。由于在Flash的擦除和寫入過程中,F(xiàn)lash是不能讀的,故擦除和寫入Flash的程序要放在RAM中,也就是說,在Flash的擦除和寫入前,要把擦除或?qū)懭氲目蓤?zhí)行代碼復制到RAM中去,并讓程序在RAM中執(zhí)行,這一部分操作是由PC方程序完成的。
    Flash的擦除和寫入操作應(yīng)按以下步驟進行:
    ①清除Flash狀態(tài)寄存器FSTAT中的出錯標志位ACCERR和PVIOL,這是由于如果過去的Flash操作中如果有過出錯的情況,上面提到的出錯標志位將被鎖存。與其檢查這些標志位是否需要清零,不如清零這兩個標志。方法是向狀態(tài)寄存器FSTAT的這兩位寫零。
    ②寫Flash配置寄存器FCNFG的b1和b0。以MC9S12DP256為例,這兩位表示選擇256 KB的Flash中的哪一個64 KB。這里0x00表示PPAGE號為0x3F、0x3E、0x3D、0x3C這64KB,0x01表示PPAGE號為0x3B、0x3A、0x39、0x38這64 KB,0x02表示PPAGE號為0x37、0x36、0x35、0x34這64 KB,0x03表示PPAGE號為0x33、0x32、0x31、0x30這64 KB。
    ③寫PPAGE寄存器。
    ④檢查上一次Flash處理的命令是否執(zhí)行完成,能否寫入新的命令。這是通過Flash狀態(tài)寄存器FSTAT中的命令緩沖區(qū)的標志位CBEIF是否為1,即命令緩沖區(qū)是否可以使用來實現(xiàn)的。若不能使用,則等待,直到可以使用。
    ⑤將要寫入的數(shù)據(jù)字寫到相應(yīng)的地址中,地址必須為偶數(shù)地址。對于擦除操作,則被擦除段的任意地址都可以。
    ⑥向FCMD命令寄存器寫命令字0x41表示整體擦除,0x20表示單字節(jié)寫入。
    ⑦向Flash狀態(tài)寄存器FSTAT中的命令緩沖區(qū)的標志位CBEIF寫1清零。這時狀態(tài)寄存器中的CCIF位將置位,說明操作成功。

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

本屆年會將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設(shè)計工程師推出25門技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

中國北京(2025年9月2日)—— 業(yè)界領(lǐng)先的半導體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)受邀出席2025智能汽車基礎(chǔ)軟件生態(tài)大會暨第四屆中國汽車芯片大會,并與國內(nèi)領(lǐng)先的AUTOSAR車用操作系...

關(guān)鍵字: 汽車電子 MCU 智能汽車

2025年8月26日,?Elexcon深圳國際電子展?在?深圳會展中心(福田)1號館?(展臺號:1L30)盛大舉行。作為全球電子產(chǎn)業(yè)鏈的重要盛會,展會匯聚創(chuàng)新技術(shù)與行業(yè)解決方案。米爾電子MYIR攜RZ系列核心板、開發(fā)板等...

關(guān)鍵字: 核心板 開發(fā)板 MCU

針對HMI應(yīng)用所需的段碼式LCD和電容式觸控進行優(yōu)化,為電磁爐提供精準控制;支持通過雙區(qū)閃存實現(xiàn)便捷、安全的OTA

關(guān)鍵字: MCU 智能家電 電磁爐

聚焦工業(yè)4.0及能源管理應(yīng)用對主控MCU的高性能需求,極海正式發(fā)布APM32F425/427系列高性能拓展型MCU,集合運算性能、ADC性能、Flash控制器性能與通信接口四大維度革新,進一步增強了EMC性能,重新定義C...

關(guān)鍵字: MCU 工業(yè)應(yīng)用 極海

MarketsandMarkets預測,到2027年,全球嵌入式AI市場規(guī)模將超過200億美元,年復合增長率高達30%。這一增長背后,是對高算力、低功耗、實時性和安全性的迫切需求,以及技術(shù)碎片化與跨界融合的復雜挑戰(zhàn)。在這...

關(guān)鍵字: Renesas AI 瑞薩電子 嵌入式AI MCU MPU

全新產(chǎn)品滿足DLMS Suite2表計應(yīng)用安全法規(guī),提供豐富的通信選項、電容式觸摸界面,以及支持軟件更新的雙區(qū)閃存

關(guān)鍵字: MCU 閃存 恒溫器

由于邊緣AI是指在邊緣設(shè)備上部署和運行AI模型,而不是將數(shù)據(jù)傳輸?shù)街醒敕?wù)器進行處理。這種方式具有低延遲、高響應(yīng)速度、保護隱私和降低數(shù)據(jù)傳輸成本等優(yōu)勢。微控制器(MCU)作為電子設(shè)備的主控制芯片,在邊緣AI的發(fā)展中扮演著...

關(guān)鍵字: MCU AI

隨著在線會議、直播和游戲語音交流的普及,高質(zhì)量的音頻輸入設(shè)備變得越來越重要。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷商飛騰云科技,利用其集邊緣AI、DSP、MCU和靈活I(lǐng)/O于一顆芯片的xcore處理器...

關(guān)鍵字: AI DSP MCU

【2025年8月19日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導體領(lǐng)導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)近日宣布,其AIROC? CYW20829低功耗藍牙? 微控制器(MC...

關(guān)鍵字: 藍牙 人機接口 MCU
關(guān)閉