哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

介紹通過(guò)IAP的在線(xiàn)升級(jí)方法

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

介紹通過(guò)IAP的在線(xiàn)升級(jí)方法

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

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

介紹通過(guò)IAP的在線(xiàn)升級(jí)方法

如上圖例子,Bootloader的起始地址存放在0x08000000(也是STM32芯片F(xiàn)lash的起始地址),程序由此執(zhí)行后,跳轉(zhuǎn)至復(fù)位中斷入口向量地址,隨后跳轉(zhuǎn)到Bootloader的main函數(shù)入口, 當(dāng)檢測(cè)到需要升級(jí)程序,執(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)行過(guò)程中,如果CPU遇到一個(gè)中斷請(qǐng)求,PC指針強(qiáng)制跳轉(zhuǎn)至Bootloader的中斷向量表(上圖中0x08000004),而不是第二部分的中斷向量表,程序再根據(jù)我們?cè)O(shè)置的中斷向量表偏移量,跳轉(zhuǎn)到對(duì)應(yīng)中斷源新的中斷服務(wù)程序中執(zhí)行,執(zhí)行完成后返回第二部分應(yīng)用程序的main函數(shù)。

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

總結(jié)

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

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

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

    關(guān)注

    147

    文章

    19094

    瀏覽量

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

    關(guān)注

    6

    文章

    498

    瀏覽量

    55085

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32 IAP在線(xiàn)升級(jí)

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

    IAP在線(xiàn)升級(jí)

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

    IAP在線(xiàn)升級(jí)是什么

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

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

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

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

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

    怎樣通過(guò)IAP來(lái)對(duì)STM32進(jìn)行在線(xiàn)升級(jí)

    STM32的啟動(dòng)流程是怎樣的?怎樣通過(guò)IAP來(lái)對(duì)STM32進(jìn)行在線(xiàn)升級(jí)呢?
    發(fā)表于 11-30 07:39

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

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

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

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

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

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

    ARM在線(xiàn)升級(jí)的應(yīng)用IAP代碼

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

    ARM在線(xiàn)升級(jí)的應(yīng)用IAP代碼

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

    STM32三種啟動(dòng)模式以及IAP在線(xiàn)升級(jí)

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

    51單片機(jī)IAP在線(xiàn)升級(jí)

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

    關(guān)于在線(xiàn)升級(jí)IAP的基礎(chǔ)知識(shí)

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

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

    AT32 MCU如何使用IAP通過(guò)USART實(shí)現(xiàn)對(duì)固件的在線(xiàn)升級(jí)更新
    的頭像 發(fā)表于 09-19 16:51 ?4195次閱讀
    AT32 MCU如何使用<b class='flag-5'>IAP</b><b class='flag-5'>通過(guò)</b>USART實(shí)現(xiàn)對(duì)固件的<b class='flag-5'>在線(xiàn)</b><b class='flag-5'>升級(jí)</b>更新
    新乐市| 祥云县| 淮阳县| 盐津县| 墨竹工卡县| 时尚| 蒲城县| 四川省| 滕州市| 浑源县| 油尖旺区| 叶城县| 永城市| 永吉县| 武定县| 兰溪市| 海晏县| 福州市| 临洮县| 林口县| 南开区| 山东省| 阿瓦提县| 治县。| 松桃| 云梦县| 科尔| 库伦旗| 县级市| 阿尔山市| 永和县| 陆河县| 阜康市| 屏东县| 玉树县| 承德县| 卢湾区| 长葛市| 罗甸县| 花莲县| 额敏县|