當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要BOOTSTRAP用于在MSP430設(shè)計(jì)開發(fā)及系統(tǒng)更新時(shí)對(duì)Flash存儲(chǔ)器的編程。它可以用經(jīng)串口協(xié)議的命令來激活,使得用戶可以通過PC控制MSP430,并實(shí)現(xiàn)數(shù)據(jù)交換。燒斷Flash的熔絲是用

摘要BOOTSTRAP用于在MSP430設(shè)計(jì)開發(fā)及系統(tǒng)更新時(shí)對(duì)Flash存儲(chǔ)器的編程。它可以用經(jīng)串口協(xié)議的命令來激活,使得用戶可以通過PC控制MSP430,并實(shí)現(xiàn)數(shù)據(jù)交換。燒斷Flash的熔絲是用來保護(hù)用戶在Flash中的程序代碼。本文主要介紹我們制作的BOOTSTRAP這一開發(fā)工具的功能、軟硬件結(jié)構(gòu)以及熔斷工具的制作方法。

關(guān)鍵詞MSP430 BOOTSTRAP 熔斷

引言

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

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

1 BOOTSTRAP的功能與啟動(dòng)

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

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

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

 

圖1

圖2

如果發(fā)生以下情況,則不能啟動(dòng)BSL:

◇ 在RST/NMI引腳保持為低時(shí),TCK引腳上出現(xiàn)的上升沿少于2個(gè);

◇ 當(dāng)RST/NMI引腳電平從低跳變到高時(shí),TCK引腳還是保持為高;

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

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

退出BOOTSTRAP時(shí),要釋放單片機(jī)的程序計(jì)數(shù)器PC,有兩種情況:一種是在BSL中使用加載PC命令,從指定的程序地址繼續(xù)執(zhí)行;另一種是用標(biāo)準(zhǔn)的RESET序列強(qiáng)制使MSP430用0FFFEH的向量地址開始執(zhí)行程序。

2 BOOTSTRAP的軟硬件結(jié)構(gòu)

2.1 BOOTSTRAP的硬件結(jié)構(gòu)

BOOTSTRAP硬件完成PC機(jī)和MSP430單片機(jī)通信的接口功能,主要由電源供電、信號(hào)接口和電平轉(zhuǎn)換幾個(gè)部分構(gòu)成。

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

BOOTSTRAP使用的信號(hào)線與串口信號(hào)線的對(duì)應(yīng)情況如表1所列。信號(hào)線與MSP430系列引腳的對(duì)應(yīng)情況如表2所列。

表1

 

表2

 

2.2 BOOTSTRAP的軟件結(jié)構(gòu)

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

 

圖3

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

表3

 

PC機(jī)設(shè)置好串口之后就可以發(fā)一個(gè)字節(jié)的同步信號(hào)給MSP430,MSP430正確接收后會(huì)返回一個(gè)ACK應(yīng)答信號(hào),PC機(jī)判斷這個(gè)應(yīng)答信號(hào)正確后就可以按照設(shè)定的幀格式發(fā)送、接收數(shù)據(jù),MSP430每收到一幀,也會(huì)發(fā)一個(gè)應(yīng)答信號(hào)以供PC機(jī)確認(rèn)。其幀格式如圖4所示。

 

圖4

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

3 熔斷操作

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

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

4 小結(jié)

據(jù)了解,目前BSL的工具國外有SOFTBAUGH公司和GESLER公司制作的;國內(nèi)也有杭州一家公司制作的BSL與熔斷的綜合工具,目前正在測(cè)試中。不過對(duì)于入門級(jí)的用戶或個(gè)人,只要稍有一些軟硬件制作能力,就完全可以花很短的時(shí)間來制作自己的開發(fā)工具,包括JTAG控制器、BSL和熔斷器。

參考文獻(xiàn)

1 TI參考文檔slaa096b slaa149

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉