<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430串行寫入BOOTSTRAP與加密熔斷功能

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

          作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          表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的熔絲不能簡(jiǎn)單地以硬件給引腳加高電壓實(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的工具國(guó)外有SOFTBAUGH公司和GESLER公司制作的;國(guó)內(nèi)也有杭州一家公司制作的BSL與熔斷的綜合工具,目前正在測(cè)試中。不過對(duì)于入門級(jí)的用戶或個(gè)人,只要稍有一些軟硬件制作能力,就完全可以花很短的時(shí)間來制作自己的開發(fā)工具,包括JTAG控制器、BSL和熔斷器。

          參考文獻(xiàn)

          1 TI參考文檔slaa096b slaa149


          上一頁 1 2 下一頁

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();