《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于MSP43F149系列單片機的IAP功能設(shè)計
基于MSP43F149系列單片機的IAP功能設(shè)計
單片機與嵌入式系統(tǒng)
北京DAT科技有限公司 胡敬鳳 李志宇
摘要: TI公司的MSP430系列單片機是具有很高實用性價值的產(chǎn)品,在許多領(lǐng)域得到廣泛的應(yīng)用,特別是它的超級低功耗特性,是目前所有其他單片機無法比擬的。IAP(InApplicationProgramming)是用戶自己的程序在運行過程中對用戶
Abstract:
Key words :

     TI公司的MSP430系列單片機是具有很高實用性價值的產(chǎn)品,在許多領(lǐng)域得到廣泛的應(yīng)用,特別是它的超級低功耗特性,是目前所有其他單片機無法比擬的。IAP(InApplication Programming)是用戶自己的程序在運行過程中對用戶Flash的部分區(qū)域進行燒寫,目的是為了在產(chǎn)品發(fā)布后可以方便地通過預(yù)留的通信口對產(chǎn)品中的固件程序進行更新升級。

  要實現(xiàn)IAP功能,通常需要在設(shè)計固件程序時編寫兩個項目代碼:第一個項目程序不執(zhí)行正常的功能操作,而只是通過某種通信管道(如USB、USART、一些無線設(shè)備)接收程序或數(shù)據(jù)(可執(zhí)行HEX文件),執(zhí)行對第二部分代碼的更新;第二個項目代碼才是真正的功能代碼。這兩部分項目代碼同時燒錄在用戶Flash中,當(dāng)芯片上電后,首先是第一個項目代碼開始運行,再去更新第二段代碼。

  根據(jù)IAP的特性,以及MSP430系列沒有自帶IAP功能的特點,必須自行編寫IAP程序來進行片內(nèi)Flash的燒寫,這樣才能達到升級的目的。以下將詳細(xì)介紹如何進行IAP升級設(shè)計。

  系統(tǒng)設(shè)計的總體構(gòu)想是,通過無線的方式,將需要升級的二進制文件直接下載到相應(yīng)的地址空間,然后讓單片機系統(tǒng)自動執(zhí)行IAP升級。

  這里的重點是要編寫一個“螞蟻搬家”代碼,因為它不是在MSP4 30F149片內(nèi)Flahs區(qū)里運行的,而是在設(shè)定的RAM區(qū)運行。RAM空間有限,所以用匯編代碼編寫(推薦,也可以用C語言寫,然后再精簡為匯編語言),不能有堆棧的操作,代碼不能超過2 KB。

  1 硬件設(shè)計

  (1)系統(tǒng)主芯片的內(nèi)部結(jié)構(gòu)

  首先簡單介紹一下MSP430F149的內(nèi)部存儲地址結(jié)構(gòu)圖,如圖1所示,這樣有助于對它進行IAP的升級設(shè)計。

MSP430F149的內(nèi)部存儲地址結(jié)構(gòu)圖

  由圖1可以看出,ROM和RAM同一個地址空間,尋址空間為64 KB,采用馮·諾依曼結(jié)構(gòu),使用一組地址數(shù)據(jù)總線,地址為0000H~FFFFH,RAM地址區(qū)域為0200H~09FFH,代碼區(qū)ROM為1000H~FFFF。

  (2)外擴的Flash芯片結(jié)構(gòu)

  為了能夠?qū)⒁壍奈募?一般是IAR編譯出來后,要經(jīng)過第三方軟件換為二進制文件)先保存在一個地方,系統(tǒng)必須外擴1片F(xiàn)lash(當(dāng)然也可是其他介質(zhì))。由于MSP430F149系列單片機的SPI接口有2個,因此選擇了具有SPI接口的Flash芯片,如SST25VF016(16 Mb)等系列。該芯片電壓為2.7~3.6 V,剛好符合MSP系列單片機低功耗電壓的要求,操作指令非常簡單。外擴Flash硬件框圖如圖2所示。根據(jù)保存數(shù)據(jù)的要求,可以設(shè)計為多片,使保存的空間更多。在軟件設(shè)計時,設(shè)計好存放升級文件的首地址和該文件的大小。在MSP430F149系列中,該文件一般大小為64 KB。

外擴Flash硬件框圖

  (3)存儲空間地址劃分

  為了能詳細(xì)清晰的說明,可以把HEX文件保存在SST25VF016的開頭地址上,即地址從0x000000~0x010000即可。當(dāng)然也可以根據(jù)項目要求,自定義空間地址。

  2 通信傳輸

  對于如何將編譯好的可執(zhí)行文件(BIN文件)從第三方下載到相應(yīng)的外擴存儲空間里,這里主要推薦幾款無線遠程升級方案:

  ①無線GPRS方案,優(yōu)點是可以遠程控制下載;缺點是GPRS需要收費,而且是一卡對應(yīng)一設(shè)備(在即將解決費用問題的同時,這也許是未來發(fā)展的趨勢)。

  ②紅外線方案,現(xiàn)在很多的PDA都帶有該功能,在該單片機的系統(tǒng)加接一個紅外模塊,并且在PDA上寫個小軟件,就可以輕松地將升級文件下載到外擴的Flash指定的位置;缺點是需要人員到現(xiàn)場作業(yè)。

  ③藍牙技術(shù)方案,這個技術(shù)和紅外線技術(shù)類似,優(yōu)點是數(shù)據(jù)傳輸沒有方向性,速度較紅外線快得多。

  其他不一一介紹,希望讀者能有更多的升級方案。為了簡要說明,這里用紅外線方案作為下載升級軟件的媒體介質(zhì),其他無線或者有線的媒體介質(zhì),其原理都一樣,讀者可以根據(jù)自己的項目自行選擇。

  3 軟件設(shè)計

  首先假設(shè)已經(jīng)將要升級的文件下載到相應(yīng)的外擴Flash中了,對于整個IAP程序的設(shè)計,分為兩個部分:第一,先編寫“螞蟻搬家”程序,即一字節(jié)一字節(jié)地從相應(yīng)的外擴Flash地址(事先已經(jīng)定義好了)中搬移到片內(nèi)Flash中(從0x1100開始至0xFFFF);第二,編寫引導(dǎo)程序(COPY程序),將“螞蟻搬家”程序拷貝到相應(yīng)的RAM空間(0x0200)中,并將PC指向0x0200。系統(tǒng)升級程序流程如圖3所示。

系統(tǒng)升級程序流程

 注意:從片外的Flash拷貝到片內(nèi)Flash中時,一定要將60 KB全部拷貝完畢,否則系統(tǒng)將為不正常。最后要開啟看門狗,復(fù)位,即PC從0x0000開始。“螞蟻搬家”程序流程如圖4所示。

“螞蟻搬家”程序流程

 圖4中必須注意:

  ①必須先固定該程序的入口地址,這樣引導(dǎo)程序才能將之拷貝到RAM中,大小要控制在2 KB之內(nèi)。該程序比較小,一般不超過2 KB 。


 

  ②必須將Flash狀態(tài)鎖住,這樣在寫的時候不容易出錯。

  ③在讀取60 KB數(shù)據(jù)后,打開看門狗。IAP升級系統(tǒng)是根據(jù)看門狗不喂狗來自動復(fù)位重啟系統(tǒng)的。

  用戶只要根據(jù)上面的流程進行編程,就很容易實現(xiàn)IAP升級(這里是重點,也是一個難點)。引導(dǎo)程序流程如圖5所示。

  圖5說明:聲明一個入口函數(shù),便于外部程序升級時調(diào)用。這個引導(dǎo)程序比較簡單。由于在片內(nèi)執(zhí)行,所以使用匯編語言(mov指令)很容易就可以把螞蟻搬家程序?qū)氲絉AM中。

  由于IAR編譯出來的最終文件為*.a(chǎn)43文件,建議使用類似(HexToBin.exe)軟件將*.a(chǎn)43文件轉(zhuǎn)化成二進制文件,就可直接下載了。

  4 注意事項

  這段代碼必須在RAM里運行,所以暫時不使用SP來“RET”。也就是說,不可以使用CALL指令,也不可以使用壓棧處理(如PUSH或者POP等指令),所以這里將不可以開設(shè)堆棧區(qū)。通過某種無線手段執(zhí)行代碼(BIN文件),然后根據(jù)自定義無線協(xié)議,將該可執(zhí)行代碼下載并保存到片外的Flash相應(yīng)地址空間,最后啟動升級程序。最后通過啟動看門狗并復(fù)位來啟動系統(tǒng)。

  結(jié) 語

  通過長期的實踐證明,本方案具有非常高的可靠性。這里雖然只介紹了MSP430系列產(chǎn)品的IAP升級方法,但對于其他沒有自帶IAP功能單片機的升級,其設(shè)計思路卻都一樣。這里提醒廣大的開發(fā)愛好者,對于一串串的二進制文件數(shù)據(jù),我們不要害怕;只要獨立思考,抓住單片機的特性,靈活應(yīng)用,只有想不到,沒有做不到。祝大家共同進步!

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美韩国| 亚洲精品中文字幕在线| 在线观看av不卡| 国产欧美成人| 国产精品久久久久婷婷| 欧美三级小说| 欧美日韩在线播放一区| 欧美精品啪啪| 欧美人在线观看| 欧美日韩1区| 欧美日韩美女| 欧美色欧美亚洲高清在线视频| 欧美伦理一区二区| 欧美精品一区二区久久婷婷| 欧美精品久久久久a| 欧美国产日韩精品免费观看| 男女精品网站| 欧美精品久久天天躁| 欧美日韩99| 欧美日韩视频在线观看一区二区三区 | 亚洲日韩中文字幕在线播放| 亚洲欧洲偷拍精品| a4yy欧美一区二区三区| 一区二区高清视频| 亚洲一线二线三线久久久| 先锋影音国产一区| 久久乐国产精品| 欧美+日本+国产+在线a∨观看| 欧美精品www| 国产精品vvv| 国产日韩欧美高清| 一区二区在线视频| 亚洲精品中文字幕在线| 亚洲一区自拍| 久久精品91久久香蕉加勒比| 亚洲精品国产品国语在线app | 欧美精品亚洲精品| 欧美亚洲日本一区| 久久香蕉国产线看观看网| 你懂的国产精品| 欧美日韩三级电影在线| 国产精品美女在线观看| 国产在线成人| 亚洲精品小视频在线观看| 亚洲一级二级| 亚洲第一二三四五区| 99精品久久久| 午夜精品一区二区三区在线播放| 久久精品视频亚洲| 欧美精品七区| 国产精品香蕉在线观看| 一区在线观看| 亚洲网站视频福利| 91久久在线| 亚洲欧美网站| 欧美电影免费观看高清| 国产精品人人做人人爽| 在线免费高清一区二区三区| 亚洲天堂网站在线观看视频| 久久精品国产亚洲aⅴ| 亚洲深夜福利在线| 老司机久久99久久精品播放免费| 欧美视频在线观看免费网址| 国产有码在线一区二区视频| 亚洲理论在线观看| 久久精品国产99精品国产亚洲性色 | 麻豆精品在线视频| 国产精品色午夜在线观看| 在线日韩日本国产亚洲| 亚洲免费在线观看视频| 亚洲毛片在线看| 久久精品中文字幕一区二区三区| 欧美日本一区| 韩国女主播一区| 亚洲一区二区免费视频| 日韩午夜精品| 久久蜜桃香蕉精品一区二区三区| 欧美三级日本三级少妇99| 在线观看一区欧美| 亚洲欧美在线一区| 亚洲一区二区精品视频| 欧美电影在线播放| 国内精品一区二区三区| 亚洲性图久久| 一本色道久久综合狠狠躁篇怎么玩| 久久久中精品2020中文| 国产老女人精品毛片久久| 日韩视频免费在线| 亚洲精品国产精品国自产观看浪潮 | 麻豆久久婷婷| 国内精品视频一区| 亚洲欧美影音先锋| 亚洲欧美日韩国产综合在线 | 亚洲大胆人体视频| 欧美一区三区二区在线观看| 亚洲午夜精品网| 欧美美女喷水视频| 亚洲高清自拍| 亚洲欧洲一区二区三区久久| 久久久亚洲高清| 国产亚洲欧美日韩日本| 亚洲综合精品四区| 亚洲欧美日韩在线观看a三区 | 亚洲一区综合| 亚洲影视在线| 欧美三区美女| 一区二区免费在线播放| 中文亚洲免费| 欧美日韩午夜视频在线观看| 亚洲三级视频在线观看| 99国产成+人+综合+亚洲欧美| 欧美成人精品h版在线观看| 在线电影院国产精品| 亚洲国产另类久久精品| 久久亚洲影院| 在线观看中文字幕不卡| 亚洲韩国青草视频| 欧美jjzz| 亚洲激情自拍| 宅男66日本亚洲欧美视频| 欧美三级韩国三级日本三斤| av不卡免费看| 午夜精品久久久久久久99樱桃| 国产精品日韩电影| 午夜精品成人在线视频| 久久精品视频网| 精品成人国产| 亚洲精品色图| 欧美日韩精品免费观看视一区二区| 亚洲美女91| 亚洲免费网址| 国产欧美日韩视频| 欧美有码在线观看视频| 免费观看30秒视频久久| 亚洲人成人99网站| 亚洲视频一二区| 国产精品亚洲综合天堂夜夜| 欧美亚洲一区| 免费影视亚洲| 日韩视频免费大全中文字幕| 亚洲欧美中文日韩在线| 国产日韩在线视频| 亚洲国产精品久久| 欧美日本韩国一区| 亚洲欧美精品在线观看| 久久香蕉国产线看观看av| 亚洲欧洲一区二区天堂久久| 亚洲午夜久久久| 国产麻豆日韩欧美久久| 亚洲国产成人精品视频| 欧美日韩精品一区二区三区四区| 亚洲图片欧洲图片日韩av| 久久精品一二三区| 91久久久在线| 性8sex亚洲区入口| 精品69视频一区二区三区| 一本色道久久综合亚洲精品婷婷 | 欧美在线啊v| 欧美精品1区2区3区| 亚洲一区亚洲| 麻豆av一区二区三区久久| 99国产精品久久久久久久成人热| 性色av一区二区怡红| 亚洲大胆在线| 午夜精品久久久久久久白皮肤| 国产综合久久| 中国成人黄色视屏| 国产日韩一区二区三区在线| 亚洲精品一区中文| 国产精品视频1区| 亚洲精品黄色| 国产婷婷色一区二区三区| 一区二区三区久久| 国产亚洲精品一区二555| 夜夜嗨av一区二区三区| 国产免费成人| 一区二区三区视频观看| 国产一区二区三区无遮挡| 制服诱惑一区二区| 激情久久影院| 午夜精品久久久久久99热软件| 在线日韩欧美| 久久精品国产96久久久香蕉| 日韩视频一区| 另类酷文…触手系列精品集v1小说| 99视频精品全国免费| 麻豆久久婷婷| 亚洲欧美日本在线| 欧美日韩免费观看一区| 久久精品99久久香蕉国产色戒| 欧美性猛交一区二区三区精品| 亚洲国产精品热久久| 国产精品无码永久免费888| 亚洲精品在线视频观看| 国产一区二区日韩精品欧美精品 | 亚久久调教视频| 日韩网站在线观看| 欧美h视频在线| 欧美一区二区在线免费观看| 欧美日韩一区在线观看视频|