日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]深入談?wù)処AP升級(jí)

 最近做過(guò)51_IAP和ARM_IAP升級(jí),感覺(jué)到他們的相同點(diǎn)和不同點(diǎn),特記錄如下:

共同點(diǎn):

做好IAP的關(guān)鍵都是中斷向量映射(REMAP)問(wèn)題

一般都分為bootloader區(qū)和用戶區(qū)

不同點(diǎn):

單片機(jī)的中斷向量位置是固定的,位于0x0000的底部。

ARM的中斷向量也一般是在0x0000的底部,但有的ARM可以中斷向量的映射機(jī)制,可以將RAM或其他地址的FLASH映射到0x0000底部

單片機(jī)沒(méi)有中斷向量管理機(jī)制。一般0x0000-0x0002是一個(gè)3個(gè)字節(jié)的LJMP指令(該指令跳轉(zhuǎn)到用戶程序,注意不一定是main函數(shù),可能是包括一些堆棧,寄存器初始化的匯編的初始化部分,然后跳轉(zhuǎn)到main函數(shù)),后面是各種具體中斷的跳轉(zhuǎn)函數(shù)的入口地址,例如串口,I2C等等。

ARM有中斷管理機(jī)制。(cortex-M3內(nèi)核又不一樣)

在ARM體系中,異常中斷向量表的大小為32字節(jié),其中每個(gè)異常中斷占據(jù)4個(gè)字節(jié)大小,保留了4個(gè)字節(jié)空間

0x00 復(fù)位

0x04 未定義的指令

0x08 軟件中斷

0x0C 指令預(yù)取終止

0x10 數(shù)據(jù)訪問(wèn)終止

0x14 保留 未使用

0x18 IRQ模式 這個(gè)就是我們常用各種中斷(串口,i2c等)的一個(gè)總中斷入口,后面再根據(jù)中斷其他寄存器進(jìn)行判斷處理

0x1C FIQ模式

中斷向量從0x0000000--0x00000001C共4*8=32個(gè)字節(jié),還應(yīng)包括后面到0x00000040之前的代碼都應(yīng)該映射,因?yàn)楹竺姘ň唧w跳轉(zhuǎn)的地址。(所以要映射從0x0000000----0x000003F共64個(gè)字節(jié),自己看匯編覺(jué)得)

對(duì)于下載的程序,必須要在KEIL設(shè)置好Ro_Base地址,然后將生成好的bin文件下載到R0_Base地址處。原因是絕對(duì)地址不同造成,也就是說(shuō)對(duì)某個(gè)bin文件并不是想下載到哪個(gè)地方都可以運(yùn)行。

值得注意:

1.MC51設(shè)置R0_Base, 只表示用戶代碼的存放區(qū),R0_Base這個(gè)地址并不存放中斷向量表,也不是main的入口地址

2.ARM設(shè)置R0_Base, R0_Base開(kāi)始處就是中斷向量表

MC51設(shè)置Ro_Base位置在于BL51 Locate--》Code Range

ARM設(shè)置ro_base位置在于target-->IROM

做過(guò)升級(jí)的例子:

(1)C8051F02*將用戶的中斷向量復(fù)制到0x0003之后,同時(shí)0x000-0x0002保留bootloader跳轉(zhuǎn)地址,另外找個(gè)地方保存用戶跳轉(zhuǎn)地址,用于從bootloader區(qū)跳轉(zhuǎn)到用戶區(qū)。值得注意:bootloader區(qū)由于其他中斷向量表被用戶中斷向量表占用,bootloader代碼中不能出現(xiàn)中斷函數(shù)。

(2) STR912 內(nèi)部有bank0,bank1的映射功能,即可將bank0映射到0x0000,亦可將bank1映射到0x0000,這樣就可以將一個(gè)bank作為bootloader ,另一個(gè)作為用戶程序

(3) 2410 中斷向量表位于底部,沒(méi)有重映射機(jī)制。采用將中斷向量二次映射的方法,將中斷向量映射到指定的RAM區(qū),然后在RAM寫(xiě)入用戶的中斷向量表。

(4) ADU7020 中斷向量表位于底部,有重新映射機(jī)制,REMAP寄存器,可以將中斷向量映射到FLASH或RAM選擇,可以將用戶的中斷向量拷貝到RAM區(qū),然后選擇將中斷向量映射到RAM,然后跳轉(zhuǎn)

(5) STM32 支持中斷向量映射。cortex-M3核有專門(mén)的向量偏移寄存器,該寄存器決定:

1. 向量表是位于FLASH還是RAM,向量表的基址

2. 向量表的偏移量

注:

一個(gè)優(yōu)秀的IAP升級(jí)程序,必須做好升級(jí)中出現(xiàn)故障等異常的處理。保證系統(tǒng)不會(huì)崩潰

(1) 接收到升級(jí)命令,準(zhǔn)備升級(jí)

(2) 接收升級(jí)數(shù)據(jù)完成,每個(gè)包最好有包序號(hào)和校驗(yàn)

(3) 整個(gè)數(shù)據(jù)接收完,進(jìn)行總的校驗(yàn)

(4) 試運(yùn)行剛升級(jí)的版本,發(fā)送讀取版本信息或其他指令測(cè)試當(dāng)前版本是否工作正常,如果不正常,外界通過(guò)對(duì)外專門(mén)的RESET引腳,恢復(fù)到原版本

(5) 接收到版本確認(rèn)命令,將升級(jí)版本作為當(dāng)前運(yùn)行版本,并將原版本進(jìn)行保存

另外:

(1)要保證升級(jí)過(guò)程中任何時(shí)候掉電,下次上電后,系統(tǒng)能正常工作。例如新的程序正在搬運(yùn)到運(yùn)行區(qū)時(shí)候掉電,下次上電要實(shí)現(xiàn)自動(dòng)搬運(yùn)

(2)正常情況下,系統(tǒng)一般由bootloader區(qū)跳轉(zhuǎn)到用戶區(qū)。如果用戶區(qū)程序有問(wèn)題的話,就玩OVER了,因此一定要在跳轉(zhuǎn)之前加一定延時(shí),可以響應(yīng)升級(jí)命令

(3)執(zhí)行bootloader區(qū)和用戶區(qū)跳轉(zhuǎn)指令,由于只是PC指針的跳轉(zhuǎn),寄存器并未恢復(fù)到默認(rèn)值,因此對(duì)bootloader和用戶區(qū)代碼中的寄存器初始化要小心。

說(shuō)到底最重要的還是bootloader程序一定要寫(xiě)好,這個(gè)畢竟是出廠前固化在FLASH中

給手機(jī)升級(jí),主板升級(jí),其中強(qiáng)調(diào)的就是不能中途掉電,否則就要。。。這個(gè)應(yīng)該就是沒(méi)做好升級(jí)處理吧

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

北京2025年2月5日 /美通社/ -- 2024年河北省科技獎(jiǎng)總評(píng)審結(jié)果已正式發(fā)布,軟通動(dòng)力及旗下河北雄安軟通動(dòng)力數(shù)字科技有限公司深度參與研發(fā)的可信數(shù)字孿生關(guān)鍵技術(shù)及應(yīng)用示范項(xiàng)目獲評(píng)"2024年度河北省科學(xué)技...

關(guān)鍵字: 映射 物聯(lián)網(wǎng) 數(shù)據(jù)采集 模型匹配

上海, 2022年10月27日 /美通社/ -- 近日,LucaNet藍(lán)科聯(lián)合中國(guó)德商會(huì)開(kāi)展了一場(chǎng)以【中國(guó)境內(nèi)外資企業(yè)面臨的財(cái)報(bào)管理流程的挑戰(zhàn)和解決方案】為主題的線上研討會(huì)。 外資企業(yè)財(cái)報(bào)管理流程挑戰(zhàn)及解決方案線上研討...

關(guān)鍵字: 研討會(huì) 數(shù)字化 映射 數(shù)據(jù)庫(kù)

(全球TMT2022年9月9日訊)2022中國(guó)智能科技展覽會(huì)及論壇9月6日在吉隆坡開(kāi)幕。聲智科技作為新興的科技智能公司,受邀參與本次展會(huì)及論壇。聲智在馬來(lái)西亞成立的子公司SoundAl Technology (M) S...

關(guān)鍵字: API SOUND TECHNOLOGY 映射

云啟天府 · 夢(mèng)享桃源 成都2022年5月29日 /美通社/ -- 凱德投資旗下全資子公司、全球知名的服務(wù)公寓及酒店業(yè)主和住宿運(yùn)營(yíng)商 -- 雅詩(shī)閣有限公司(以下簡(jiǎn)稱"雅詩(shī)閣")旗下物業(yè)...

關(guān)鍵字: MIDDOT 新加坡 映射 燈光

北京2022年2月16日 /美通社/ -- 近日,體育大生意發(fā)表了題為《谷愛(ài)凌“放心咬金牌”,冬奧獎(jiǎng)牌映射中國(guó)科技大國(guó)側(cè)面》的文章(原文鏈接:https://mp.weixin.qq.com/s/V_R13BfqdFEV...

關(guān)鍵字: 映射

關(guān)注星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容來(lái)源?|痞子衡嵌入式一、Cortex-M中斷向量表對(duì)齊原則中斷向量表就是一個(gè)集中保存系統(tǒng)全部中斷處理函數(shù)(xxxIRQHandler)地址的常量數(shù)組(函數(shù)地址要占4個(gè)字節(jié),因此數(shù)組中每個(gè)元素...

關(guān)鍵字: Cortex-M 中斷向量

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是Cortex-M中斷向量表原理及其重定向方法。接著前文《嵌入式Cortex-M裸機(jī)環(huán)境下臨界區(qū)保護(hù)的三種實(shí)現(xiàn)》繼續(xù)聊,嵌入式代碼設(shè)計(jì)里有時(shí)候一些特殊操作(比...

關(guān)鍵字: Cortex-M 中斷向量

大家好,我是bug菌!最近一些朋友在玩在線升級(jí),所以這里bug菌挑選了一篇原理與實(shí)踐結(jié)合的技術(shù)文章,在stm32上實(shí)現(xiàn)還是比較詳細(xì)的,以前bug也跟大家介紹過(guò)這一塊的設(shè)計(jì)方案:【重磅】剖析MCU的IAP升級(jí)軟件設(shè)計(jì)(設(shè)計(jì)...

關(guān)鍵字: STM32 IAP升級(jí)

1 數(shù)據(jù)傳輸層 數(shù)據(jù)傳輸層的主要功能將AD轉(zhuǎn)換器采樣的數(shù)據(jù)映射成8bit位寬的字節(jié)數(shù)據(jù),并且根據(jù)應(yīng)用的情況不同,分為4中情況: 一個(gè)AD轉(zhuǎn)換器內(nèi)的單個(gè)轉(zhuǎn)換單元對(duì)應(yīng)一條數(shù)據(jù)傳輸通道

關(guān)鍵字: 拓?fù)浣Y(jié)構(gòu) 映射

1、簡(jiǎn)單聊一聊 ? ? ?今天為大家推薦一首毛不易的《像我這樣的人》,上面鏈接是現(xiàn)場(chǎng)版本音效上略有打折,不過(guò)歌曲所要傳遞的那份感情全在詞里了,在成長(zhǎng)的過(guò)程中人總會(huì)遇到幾個(gè)情緒低落的階段,面對(duì)現(xiàn)實(shí)的世界會(huì)覺(jué)得非常的力不從心...

關(guān)鍵字: MCU 軟件設(shè)計(jì) IAP升級(jí)
關(guān)閉