S12單片機模塊應用及程序下載調試
表1 跳線J5、J6設置目標板工作電壓
5.2 安裝和使用BDM for S12(TBDML):
BDM for S12(TBDML)在PC上的配套軟件是Freescale的CodeWarrio for S12的V4.1以上的版本。用戶可調用該軟件自帶的Hiwave.exe程序,并通過BDM for S12(TBDML)來調試MC9S12各種型號單片機。當然,初次使用BDM for S12(TBDML)時,用戶還需要在PC上安裝相應的驅動程序和動態鏈接庫。具體的使用方法,請參閱用戶手冊。
5.3 使用BDM for S12(TBDML)的常見問題及解決辦法。
車模大賽啟動之處,中心在為廣大參賽選手提供培訓的同時,按照Freescale的安排,為各參賽隊提供了S12開發系統、BDM調試功能、車模等等一系列完整的參賽資源。時隔數月,從反饋信息來看,各參賽隊基本上都能熟練地使用BDM for S12(TBDML)。但也有個別隊伍遇到了一些問題,中心也及時進行了解答和總結,這里簡單匯總了各種問題,以期對參賽隊伍有所幫助。
【常見問題之一】正確安裝了BDM for S12(TBDML)的驅動程序和動態鏈接庫后,并用BDM連接了目標單片機后,在Hiwave.exe的【TBDML HCS12】菜單中,沒有出現“Flash...”項,無法對目標單片機進行調試。
解決辦法:首先,用戶應該確保目標板供電正常,BDM for S12(TBDML)默認的電源工作方式是目標板自供電;如果,還有問題,用戶應該打開BDM的包裝小盒,查看跳線J4是否已經短接,原因見上文。
【常見問題之二】驅動程序安裝正常,跳線也沒有問題,目標板也供電了,但BDM還是不工作。
解決辦法:出現這一問題,最大的可能是,用戶的CodeWarrio版本不對,沒有利用CodeWarrio V4.1以上的版本進行調試。安裝高版本的CodeWarrio即可解決問題。
【常見問題之三】BDM調試目標板基本正常,能夠下載程序、擦除FLASH、設斷點調試,但是,在某次使用中FLASH突然被“鎖死”,之后目標板無法繼續使用。
解決辦法:Freescale 公司的HCS12 系列單片機具有片內FLASH 的加密功能,對于加密或保護后的FLASH,用戶是無法通過BDM 調試工具對其FLASH 進行諸如程序擦除、讀取等操作。同時,如果用戶在利用BDM 調試單片機時操作不當,同樣會使單片機出現FLASH 無法讀取、擦除和下載等問題。我們的監控程序在$F000 到$$FFFF,這一段加了保護,但并沒有加密。即使對加了密的S12,也可以使用我們生產地串行接口地BDM 工具方便的解鎖和擦除。在2005 年第4 期《電子產品世界》雜志中,我中心曾經撰文講述了HCS12 單片機Flash 保護和加解密的原理和注意事項。在決定擦除保護了的程序時,請想好在出現單片機被鎖定的情況下有沒有能力解鎖。對于FLASH沒有進入“保護模式”的單片機,如果利用BDM for S12 (TBDML)調試單片機,當用戶點擊【TBDML HCS12】菜單下的【Flash…】命令時,會出現如圖12所示的正常情況。從圖中可以看出,當前目標板的單片機的FLASH_C000存儲區域已下載有程序,狀態為“Programmed”;其余模塊為空,狀態為“Blank”。因此,可以繼續對該單片機的FLASH進行讀取、擦除Erase和下載Load等操作。但是,在出現上述FLASH加密問題后,HCS12系列單片機就進入了“FLASH保護模式”,即Secure Mode。這時,如果利用BDM for S12(TBDML)調試單片機,當用戶點擊【TBDML HCS12】菜單下的【Flash…】命令時,圖12中部分FLASH區域的狀態就會顯示為“Skipped”。此時,用戶便無法再對FLASH進行正常操作。因此,需要解除FLASH的“保護模式”(Secure Mode),執行Unsecure的操作。BDM for S12(TBDML)提供了Unsecure的功能,具體的操作過程較為復雜,請參閱用戶手冊。
6 結語
上面提到的問題是在應用過程中發現的比較普遍的問題。在設計之前最好能完整地閱讀幫助文檔以及芯片的數據手冊,了解各個工作狀態,很多可能出現的問題其實在數據手冊里已有明確的說明。這樣做在程序設計的前期可能會影響一些進度,但到后期調試階段會帶來極大的方便。至于工具使用上的問題Freescale單片機/DSP應用開發研究中心會及時在大賽的官方網站上做出相應的說明,請大家留意。
參考文獻
1、 邵貝貝,單片機嵌入式應用的在線開發方法,北京:清華大學出版社,2004
2、 MC9S12DT128,Device User Guide,Freescale semiconductor,2005.10
評論