基于uip實現(xiàn)STM32的網(wǎng)絡IAP升級

IAP介紹

Iap,全名為in applacation programming,即在應用編程,與之相對應的叫做isp,in system programming,即在系統(tǒng)編程,兩者的不同是isp需要依靠燒寫器在單片機復位離線的情況下編程,需要人工的干預,而iap則是用戶自己的程序在運行過程中對User Flash 的部分區(qū)域進行燒寫栏赴,目的是為了在產(chǎn)品發(fā)布后可以方便地通過預留的通信口對產(chǎn)品中的固件程序進行更新升級磕秤。在工程應用中經(jīng)常會出現(xiàn)我們的產(chǎn)品被安裝在某個特定的機械結(jié)構(gòu)中,更新程序的時候拆機很不方便,使用iap技術(shù)能很好地降低工作量.

實現(xiàn)iap有兩個很重要的前提,首先,單片機程序能對自身的內(nèi)部flash進行擦寫,第二,單片機要有能夠和外部進行通訊的方式,無論是網(wǎng)絡還是別的方式,只要能傳輸數(shù)據(jù)就行。

通常實現(xiàn) IAP 功能時窖张,即用戶程序運行中作自身的更新操作,需要在設(shè)計固件程序時編寫兩個項目代碼谜诫,JTAG 或 ISP 燒入第一個項目程序缰揪,第一個項目程序(IAP部分)不執(zhí)行正常的功能操作,而只是通過某種通信方式(如 USB急膀、 USART、網(wǎng)絡)接收程序或數(shù)據(jù)龄捡,執(zhí)行對第二部分代碼的更新卓嫂;第二個項目代碼(用戶程序部分)才是真正的功能代碼。這兩部分項目代碼都同時燒錄在 User Flash 中聘殖,當芯片上電后晨雳,首先是IAP部分代碼開始運行,它作如下操作:


uip協(xié)議移植

uIP是一個簡單好用的嵌入式網(wǎng)絡協(xié)議棧就斤,易于移植且消耗的內(nèi)存空間較少悍募,非常適合學習和使用。uIP的功能遠不如LwIP強大洋机,但兩者并沒有孰優(yōu)孰劣之分坠宴,uIP和LwIP的作者同為Adam Dunkels,LwIP開發(fā)較早uIP開發(fā)較晚绷旗,uIP經(jīng)過這幾年的發(fā)展從IPV4遷移到IPV6喜鼓,最終可以適用于無線傳感網(wǎng)絡副砍。


示例代碼

以下代碼基于2014年在一師兄那兒做智能家居時,抽離出來的代碼:
https://github.com/woshizmxin/IAP_Stm32

參考

STM32_IAP詳解(有代碼,有上位機)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末庄岖,一起剝皮案震驚了整個濱河市豁翎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隅忿,老刑警劉巖心剥,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異背桐,居然都是意外死亡优烧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進店門链峭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畦娄,“玉大人,你說我怎么就攤上這事弊仪∥蹩ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵励饵,是天一觀的道長驳癌。 經(jīng)常有香客問我,道長曲横,這世上最難降的妖魔是什么喂柒? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮禾嫉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚊丐。我一直安慰自己熙参,他們只是感情好,可當我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布麦备。 她就那樣靜靜地躺著孽椰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凛篙。 梳的紋絲不亂的頭發(fā)上黍匾,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天,我揣著相機與錄音呛梆,去河邊找鬼锐涯。 笑死,一個胖子當著我的面吹牛填物,可吹牛的內(nèi)容都是我干的纹腌。 我是一名探鬼主播霎终,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼升薯!你這毒婦竟也來了莱褒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤涎劈,失蹤者是張志新(化名)和其女友劉穎广凸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛛枚,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡谅海,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坤候。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胁赢。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖白筹,靈堂內(nèi)的尸體忽然破棺而出智末,到底是詐尸還是另有隱情,我是刑警寧澤徒河,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布系馆,位于F島的核電站,受9級特大地震影響顽照,放射性物質(zhì)發(fā)生泄漏由蘑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一代兵、第九天 我趴在偏房一處隱蔽的房頂上張望尼酿。 院中可真熱鬧,春花似錦植影、人聲如沸裳擎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹿响。三九已至,卻和暖如春谷饿,著一層夾襖步出監(jiān)牢的瞬間惶我,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工博投, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绸贡,地道東北人。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像恃轩,于是被迫代替她去往敵國和親结洼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容