chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹通過IAP的在線升級方法

AGk5_ZLG_zhiyua ? 2018-02-05 14:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在電子產(chǎn)品出廠前,可以通過離線燒錄器,燒錄夾具,或者用在線燒錄器通過預(yù)留的燒錄接口輕松將應(yīng)用代碼下載到MCU中。但是,如果產(chǎn)品已售出或不在研發(fā)端,又要怎樣升級程序呢?今天,我們就來介紹通過IAP的在線升級方法。

先來理解兩個概念I(lǐng)SP和IAP:

1、ISP(In-System Programming)在系統(tǒng)可編程,指電路板上的空白器件可以編程寫入最終用戶代碼, 而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程;

2、IAP(In-Application Programming) 指MCU可以在系統(tǒng)中獲取新代碼并對自己重新編程,即可用程序來改變程序。

介紹通過IAP的在線升級方法

IAP編程的實(shí)現(xiàn)辦法

實(shí)現(xiàn)IAP功能,需要在設(shè)計產(chǎn)品的時候編寫兩個程序,第一部分程序是不執(zhí)行正常的功能的,只是通過某種通信方式(如USBUart)接收固件或新的應(yīng)用程序,執(zhí)行對第二部分代碼的更新,我們稱之為Bootloader;第二部分代碼是用戶的應(yīng)用代碼,實(shí)現(xiàn)產(chǎn)品的真正功能。第一部分代碼必須事先燒寫(通過燒錄器或仿真器)到單片機(jī)內(nèi),第二部分代碼可以通過燒錄器或仿真器燒錄,也可以使用第一部分的IAP功能燒錄。當(dāng)芯片上電后,首先運(yùn)行第一部分代碼,如果不需要更新,則跳轉(zhuǎn)到第二部分代碼執(zhí)行;如果檢測到需要更新,則執(zhí)行更新程序,更新完成后跳轉(zhuǎn)到第二部分代碼執(zhí)行。以STM32為例,如下圖:

介紹通過IAP的在線升級方法

如上圖例子,Bootloader的起始地址存放在0x08000000(也是STM32芯片F(xiàn)lash的起始地址),程序由此執(zhí)行后,跳轉(zhuǎn)至復(fù)位中斷入口向量地址,隨后跳轉(zhuǎn)到Bootloader的main函數(shù)入口, 當(dāng)檢測到需要升級程序,執(zhí)行更新第二部分應(yīng)用程序代碼到地址為0x08000000 + N的Flash區(qū)域,更新完成后,跳轉(zhuǎn)至第二部分應(yīng)用程序的復(fù)位中斷向量地址(0x08000004 + N +M), 隨后跳轉(zhuǎn)至第二部分應(yīng)用程序的main函數(shù),在main函數(shù)的運(yùn)行過程中,如果CPU遇到一個中斷請求,PC指針強(qiáng)制跳轉(zhuǎn)至Bootloader的中斷向量表(上圖中0x08000004),而不是第二部分的中斷向量表,程序再根據(jù)我們設(shè)置的中斷向量表偏移量,跳轉(zhuǎn)到對應(yīng)中斷源新的中斷服務(wù)程序中執(zhí)行,執(zhí)行完成后返回第二部分應(yīng)用程序的main函數(shù)。

需要注意的地方是:第一部分程序(Bootloader)跳轉(zhuǎn)的地址和第二部分應(yīng)用程序的起始地址必須要保持一致,相應(yīng)的中斷向量表也要修改,否則程序無法正確運(yùn)行。

總結(jié)

通過IAP在應(yīng)用編程,在一些產(chǎn)品發(fā)布后可以方便地通過預(yù)留的通信口(如USB,串口,網(wǎng)絡(luò)端口或無線傳輸)對產(chǎn)品中的固件程序進(jìn)行更新升級。在使用IAP功能之前,芯片必須先通過燒錄工具將實(shí)現(xiàn)IAP功能的Bootloader燒錄到單片機(jī)內(nèi)。如果Bootloader程序被破壞,產(chǎn)品必須返廠才能重新燒寫程序,這是很麻煩并且非常耗費(fèi)時間和金錢的。針對這樣的需求,STM32在對Flash區(qū)域?qū)嵭凶x保護(hù)的同時,自動地對用戶Flash區(qū)的開始4頁設(shè)置為寫保護(hù),這樣可以有效地保證IAP程序區(qū)域不會被意外地破壞。

ZLG致遠(yuǎn)電子的P800isp是一款多通道在線脫機(jī)燒錄器,用戶只需將產(chǎn)品的燒錄接口預(yù)留出來,使用P800isp即可輕松對程序進(jìn)行一次燒錄、二次更新,即使產(chǎn)品Bootloader被破壞,也能輕松解決更新問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18587

    瀏覽量

    385856
  • ISP
    ISP
    +關(guān)注

    關(guān)注

    6

    文章

    498

    瀏覽量

    54486

原文標(biāo)題:使用IAP在應(yīng)用編程輕松更新固件

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32 IAP在線升級

    STM32很強(qiáng)大的一個功能是支持IAP在線升級IAP(In-Application Programming),即在“應(yīng)用程序中編程 ",通俗的來將是程序自己可以往程序存儲器里寫數(shù)據(jù)或
    發(fā)表于 03-09 15:56

    IAP在線升級

    flash。IAP在線升級的確是個好東西,對于那些已經(jīng)安裝好的設(shè)備來說,真是一大利器。IAP的核心理論其實(shí)比較簡單:總共有兩個程序,一個叫bootloader,一個叫app。其中bo
    發(fā)表于 08-06 07:07

    IAP在線升級是什么

    IAP在線升級是什么?怎樣去設(shè)計應(yīng)用程序?
    發(fā)表于 10-19 09:27

    如何去實(shí)現(xiàn)stm32的IAP在線升級

    如何去實(shí)現(xiàn)stm32的IAP在線升級呢?需要注意哪些事情呢?
    發(fā)表于 11-29 07:35

    如何實(shí)現(xiàn)STM32的在線升級IAP功能?

    如何實(shí)現(xiàn)STM32的在線升級IAP功能?
    發(fā)表于 11-30 06:22

    怎樣通過IAP來對STM32進(jìn)行在線升級

    STM32的啟動流程是怎樣的?怎樣通過IAP來對STM32進(jìn)行在線升級呢?
    發(fā)表于 11-30 07:39

    串口藍(lán)牙IAP在線升級的相關(guān)資料推薦

    串口藍(lán)牙IAP在線升級轉(zhuǎn)載:https://www.it610.com/article/1279095852547194880.htm(https://www.it610.com/article
    發(fā)表于 12-10 06:55

    IAP在線升級相關(guān)資料分享

    最近做了一個工程需要用到IAP在線升級這個功能,當(dāng)時在學(xué)的時候,了解到IAP的功能當(dāng)時就覺得很雞肋,明明有燒寫器干嘛那么費(fèi)事,現(xiàn)在覺得當(dāng)時確實(shí)淺薄了,
    發(fā)表于 12-13 08:01

    STM8在線升級:關(guān)于IAP與APP互相跳轉(zhuǎn)的實(shí)現(xiàn)

    詳細(xì)介紹STM8中,實(shí)現(xiàn)在線升級時,IAP與APP互相跳轉(zhuǎn)的過程。
    發(fā)表于 05-04 16:10 ?34次下載

    ARM在線升級的應(yīng)用IAP代碼

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計實(shí)例精講--ARM在線升級的應(yīng)用IAP代碼
    發(fā)表于 07-08 11:08 ?6次下載

    ARM在線升級的應(yīng)用IAP代碼

    電子專業(yè)單片機(jī)相關(guān)知識學(xué)習(xí)教材資料——ARM在線升級的應(yīng)用IAP代碼
    發(fā)表于 09-13 17:23 ?0次下載

    STM32三種啟動模式以及IAP在線升級

    stm32 iap在線升級
    發(fā)表于 01-13 14:28 ?17次下載

    51單片機(jī)IAP在線升級

    51單片機(jī)IAP在線升級愛矽半導(dǎo)體E85F3325單片機(jī)IAP在線升級教程,此處可查看更新及de
    發(fā)表于 11-11 19:21 ?16次下載
    51單片機(jī)<b class='flag-5'>IAP</b><b class='flag-5'>在線</b><b class='flag-5'>升級</b>

    關(guān)于在線升級IAP的基礎(chǔ)知識

    本文主要講解在線升級IAP的基礎(chǔ)知識, 主要是針對IAP 從原理分析, 分區(qū)劃分, 到代碼編寫和實(shí)驗(yàn)驗(yàn)證等過程闡述這一過程. 幫助大家加深對在線
    的頭像 發(fā)表于 05-31 17:24 ?3234次閱讀

    AT32 MCU如何使用IAP通過USART實(shí)現(xiàn)對固件的在線升級更新

    AT32 MCU如何使用IAP通過USART實(shí)現(xiàn)對固件的在線升級更新
    的頭像 發(fā)表于 09-19 16:51 ?3771次閱讀
    AT32 MCU如何使用<b class='flag-5'>IAP</b><b class='flag-5'>通過</b>USART實(shí)現(xiàn)對固件的<b class='flag-5'>在線</b><b class='flag-5'>升級</b>更新