女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]在電子產(chǎn)品出廠前,可以通過離線燒錄器,燒錄夾具,或者用在線燒錄器通過預(yù)留的燒錄接口輕松將應(yīng)用代碼下載到MCU中。但是,如果產(chǎn)品已售出或不在研發(fā)端,又要怎樣升級(jí)程序呢?今天,這里就給大家介紹通過IAP的在線升級(jí)方法。

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

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

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

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

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

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

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

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 作者:strongerHuang 微信公眾號(hào):strongerHuang 編碼器是一種比較常見的產(chǎn)品(也可以理解為傳感器),最常見的就是配合電機(jī)一起工作,那么,你對(duì)編碼器有多了解呢? 一...

關(guān)鍵字: 應(yīng)用編程 編碼器 接口

谷歌人工智能工具用于標(biāo)記圖像中的內(nèi)容,將不再給人們貼性別標(biāo)簽。 周四,《商業(yè)內(nèi)幕》報(bào)道稱,谷歌的云視覺應(yīng)用編程接口服務(wù)(Cloud Vision API service)將不再給照片中的

關(guān)鍵字: 人工智能 接口 組件 應(yīng)用編程

最近本人在學(xué)習(xí)ARM7的遠(yuǎn)程升級(jí),在這里將自己的學(xué)習(xí)過程與大家分享,有錯(cuò)誤的地方還請(qǐng)大家指出便于改正! ISP(In-System Programming)即“在系統(tǒng)可編程”,指電路板...

關(guān)鍵字: iap isp

寫在前面:三個(gè)周之前,我突然想寫一個(gè)遠(yuǎn)程升級(jí)的程序。那個(gè)時(shí)候我只是大概知道IAP的意思是在應(yīng)用編程,但怎么編,我還一無所知。我給自己定下一個(gè)個(gè)階段目標(biāo),從最基礎(chǔ)的代碼一點(diǎn)點(diǎn)寫起,解決一個(gè)又一個(gè)的問題。三個(gè)

關(guān)鍵字: iap keil mdk 遠(yuǎn)程升級(jí)

STC89C51、52內(nèi)部都自帶有2K字節(jié)的EEPROM,54、55和58都自帶有16K字節(jié)的EEPROM,STC單片機(jī)是利用IAP技術(shù)實(shí)現(xiàn)的EEPROM,內(nèi)部Flash擦寫次數(shù)可達(dá)100,000 次以上,先來介紹下IS...

關(guān)鍵字: eeprom iap stc單片機(jī)

  之前說了stm32的iap編程,今天天氣真好,順手就來說說lpc1788的iap編程(沒看前面的請(qǐng)查看stm筆記下的內(nèi)容)  首先是flash的算法,lpc1768并沒有寄存器來讓我們操作flash,他內(nèi)置了iap的...

關(guān)鍵字: iap lpc1768 上位機(jī)

搞了一天才發(fā)現(xiàn) 在MDK設(shè)置選項(xiàng)中有個(gè)"linker"選項(xiàng)卡 ,需要在Project->Options->Linker中將UseMemoryLayoutfromTargetDialog前面...

關(guān)鍵字: iap STM32 在線更新程序

所謂IAP其實(shí)就相當(dāng)于一個(gè)小小的bootloader 用來更新程序的很多產(chǎn)品基本都是程序做好后就直接在產(chǎn)線燒錄一次就OK了,但是,但是BUG有時(shí)候是無可避免的,經(jīng)常有產(chǎn)品裝好后又要重新拆外殼 取下板子重新上燒錄架燒的慘痛

關(guān)鍵字: iap STM32 使用關(guān)鍵點(diǎn)

最近涉及到STM32F0XX的IAP,找了很多相關(guān)資料,感覺不是特別清楚,所以綜合一些資料分享一下。剛開始做的時(shí)候以為很簡單,在程序中寫了個(gè)跳轉(zhuǎn)函數(shù)(跳轉(zhuǎn)到System Memory,并運(yùn)行MCU自己的Bootloade...

關(guān)鍵字: cortex-m0 iap stm32f0xx

//Cortex-M0內(nèi)核中斷向量共有48個(gè)。//由于M0內(nèi)核不具有M3、M4內(nèi)核的中斷向量表重定位功能,須采用以下方式解決IAP向量問題:// 1:復(fù)制用戶代碼中的中斷向量表到SRAM首地址// 2: 開啟SRAM...

關(guān)鍵字: iap stm32f0 中斷向量表 用戶程序
關(guān)閉