<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    MSP430串行寫入BOOTSTRAP與加密熔斷功能

    發布時間:2010-11-17 16:32    發布者:designer
    關鍵詞: BOOTSTRAP , MSP430 , 串行 , 加密 , 熔斷
    BOOTSTRAP用于在MSP430設計開發及系統更新時對Flash存儲器的編程。它可以用經串口協議的命令來激活,使得用戶可以通過PC控制MSP430,并實現數據交換。燒斷Flash的熔絲是用來保護用戶在Flash中的程序代碼。本文主要介紹我們制作的BOOTSTRAP這一開發工具的功能、軟硬件結構以及熔斷工具的制作方法。

    對于MSP430單片機的開發調試有多種技術方案,例如EPROM方式、OTP方式、仿真開發系統方式、JTAG和BOOTSTRAP方式。BOOTSTRAP(又名BootStrap Loader,簡稱BSL)可與另一種Flash仿真工具JTAG控制器配合使用。對于Flash型的MSP430單片機初期開發進行的仿真,只需要1臺PC機和1個FET(Flash Emulator Tool)的JTAG控制器即可實現。進入產品級開發階段,為了保護用戶代碼,燒斷Flash的保護熔絲以后就無法再通過JTAG口訪問單片機,這時用戶對Flash中的程序再進行檢查或更新就只能通過BOOTSTRAP進行。不用擔心用戶代碼會泄露,BOOTSTRAP提供了32字節256位的密碼保護,能完全確保代碼的安全性。

    BOOTSTRAP的硬件制作并不費力,只要與調試環境軟件配合(TI網站提供免費下載限制功能的軟件,不過用戶可以輕松地制作完全功能軟件),就能很方便地構建自己的開發環境。對于熔斷的方法,從以前TI公布的資料看,只要在功能引腳上施加一個6.5V左右的電壓數ms就可以了。當然,各類芯片熔斷的方法也有一些差異。但是,除了11x系列的單片機有人用這種方法試驗成功外,對其余系列的單片機無法實現,甚至有毀壞芯片的可能,F在,隨著為TI公司的各類FET仿真器及BOOTSTRAP開發工具的相繼推出,在一篇TI資料中,給出了MSP430熔斷的方案和指令結構,這樣,我們用DIY的完全功能開發調試系統就可以構建成功了。

    1 BOOTSTRAP的功能與啟動

    通過BOOTSTRAP可以訪問單片機的全部存儲器,包括程序Flash、ROM、RAM,并可對其進行擦除、讀寫。它能用于批量下載程序,監測程序使用情況和各個變量與寄存器的使用情況,并可對其進行修改。因此,使用BOOTSTRAP能夠方便地進行軟件升級。

    用戶燒斷Flash熔絲的目的在于保護程序代碼,通過BOOTSTRAP讀取MSP430,需要32字節即256位的密碼口令;但是,BOOTSTRAP又表現了其極大的靈活性,其功能分為需要密碼保護的功能與不需要密碼保護的功能。其中,受密碼保護的操作有從MSP430的存儲器中讀數據、寫數據、Flash段擦除和讀取程序計數器;不受密碼保護的操作就是接收密碼口令與Flash全擦除,擦除之后32個字節的密碼口令全為0xFFH。這樣使得用戶的程序代碼受到完全的保護,而且芯片也能保持應用的靈活性。

    對于MSP430系列Flash型單片機,依靠RST/NMI引腳與TCK引腳(有的型號如MSP430F11x1使用TEST引腳)和一定的時序就進入標準的復位過程,即使用地址0FFFEH處的RESET向量,然后進入正常的程序入口。改變RST/NMI引腳與TCK引腳的時序配合,就可以啟動BOOTSTRAP,即地址0C00H處的BSL RESET向量用做程序入口,單片機執行BOOT ROM里的程序。MSP430F13x/14x的正常復位時序如圖1所示,BSL復位時序如圖2所示。







    圖1
       









    圖2

    如果發生以下情況,則不能啟動BSL:

    ◇ 在RST/NMI引腳保持為低時,TCK引腳上出現的上升沿少于2個;

    ◇ 當RST/NMI引腳電平從低跳變到高時,TCK引腳還是保持為高;

    ◇ JTAG接口已控制了MSP430的資源;

    ◇ 因Vcc下降引起POR(復位)。

    退出BOOTSTRAP時,要釋放單片機的程序計數器PC,有兩種情況:一種是在BSL中使用加載PC命令,從指定的程序地址繼續執行;另一種是用標準的RESET序列強制使MSP430用0FFFEH的向量地址開始執行程序。

    2 BOOTSTRAP的軟硬件結構

    2.1 BOOTSTRAP的硬件結構

    BOOTSTRAP硬件完成PC機和MSP430單片機通信的接口功能,主要由電源供電、信號接口和電平轉換幾個部分構成。

    MSP430采用的是3.3 V電源,BOOTSTRAP可以采用外部給單片機供電再將電引到BOOTSTRAP板上,或直接利用PC機串口的電壓再轉換成3.3 V的方案。利用PC機串口電壓的方案由于不需要外部供電,適用于批量下載、修改程序,使用方便。PC機通過串口和MSP430通信,串口用的是232電平,MSP430單片機用的是3.3 V的供電系統,因此存在一個電壓轉換的問題。對于電壓轉換,TI公司提供兩個系列的電壓調整芯片TPS770xx和TPS760xx系列。這兩款芯片都能滿足輸入從 -0.3"13.5 V,穩定輸出50 mA 電流1.2"5 V的要求。  

    BOOTSTRAP使用的信號線與串口信號線的對應情況如表1所列。信號線與MSP430系列引腳的對應情況如表2所列。

    表1




    表2





    2.2 BOOTSTRAP的軟件結構

    對于PC機來講,主要就是解決通過串口與MSP430通信和可視化界面的問題,可以使用VC、VB、Delphi等各種軟件開發工具,界面如圖3所示。



    圖3

    對于MSP430來講,與PC機進行串口通信,接收、發送數據與擦寫Flash的程序是已經固化在BOOT ROM里的,所以必須根據MSP430的設置來編寫上位機程序。啟動BSL后,MSP430會首先關閉看門狗、關中斷、定義基礎時鐘模塊,由DCO(Digitally-Controlled Oscillator)產生系統主時鐘脈沖MCLK和輔助時鐘脈沖SMCLK,使最小時鐘頻率為1.5 MHz。用TIMER_A做軟串口實現與PC機通信,建立軟件異步通信協議,連續模式,時鐘源為MCLK,DIV=1,CCR0用于比較,CCTL0用于查詢CCIFG0標志。P1.1為TX發送端(設置為輸出高),P2.2為RX接收端(設置為輸入)。BSL初始化系統后,處于就緒狀態,等待PC機的同步序列和第一個命令。BOOTSTRAP的串口設置如表3所列。

    表3




    PC機設置好串口之后就可以發一個字節的同步信號給MSP430,MSP430正確接收后會返回一個ACK應答信號,PC機判斷這個應答信號正確后就可以按照設定的幀格式發送、接收數據,MSP430每收到一幀,也會發一個應答信號以供PC機確認。其幀格式如圖4所示。





    圖4

    BSL的程序代碼在BOOT ROM中(0C00H…0FEFH),0FF0H…0FFFH保存有芯片的標識,其中BOOTSTRAP的版本信息就存儲在地址為0FFAH的地方。BSL的初期版本(1.10及其以下)需要一些補丁來寫Flash(參見TI有關資料Bug Ids:BSL2、BSL3和BSL4),其補丁也是MSP430的程序代碼。先將其寫到RAM中,使用LOAD PC的命令,將目標程序的起始地址裝入程序計數器中,就可以執行補丁程序了。然后,在程序最后加一句跳轉到0x0c00的語句就可以返回BOOTSTRAP了。通過這種方法,用戶也可以自己對BOOTSRTAP做一些改動,以滿足用戶實際應用中的需要。  

    3 熔斷操作

    MSP430Fxx的芯片中設置有保護熔絲。熔斷需要在TDI引腳上加上一個6.5 V±0.5 V的電壓再加上一定的時序才能進行,一般采用PC機發出時序。TI的開發工具中,串口JTAG編程器能熔斷,但它不能在線仿真。用戶可以自己制作一個全套的開發工具,使之具有TI所有開發工具的功能。

    燒Flash的熔絲不能簡單地以硬件給引腳加高電壓實現,還需要用軟件對MSP430發出指令來配合。以MSPF14x/13x為例,首先,通過IR_SHIFT指令使JTAG口控制MSP430單片機,通過DR_SHIFT_IN將TDO/TDI腳設置成TDI,發出指令IR_SHIFT(“IR_PREPARE_BLOW”)后等待1 ms,再將熔斷電壓Vpp加在TDI腳上,送IR_SHIFT(“IR_EX_BLOW”)后再等1 ms就可以將Vpp移開了。具體指令情況可以參見TI文檔。

    4 小結

    據了解,目前BSL的工具國外有SOFTBAUGH公司和GESLER公司制作的;國內也有杭州一家公司制作的BSL與熔斷的綜合工具,目前正在測試中。不過對于入門級的用戶或個人,只要稍有一些軟硬件制作能力,就完全可以花很短的時間來制作自己的開發工具,包括JTAG控制器、BSL和熔斷器。
    本文地址:http://www.portaltwn.com/thread-40252-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關在線工具

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷