精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IAP代碼和APP代碼合并燒錄過程示范

茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2021-01-02 18:20 ? 次閱讀

我們使用STM32芯片開發產品時,有時需要自帶升級功能。因此,開發時除了需要準備基本的應用代碼外,還得準備一套升級代碼。通常稱前者為IAP代碼或BOOT代碼,后者稱之為APP代碼。一般來講,這兩套代碼基于兩個工程完成并生成相應的執行文件,首次燒錄時往往希望兩套代碼合并在一起進行燒錄,這樣方便、省事。

這里就該需求,利用ST提供的工具軟件STLINKUtility來示范下合并過程。

因為只是模擬兩個不同地址區的文件合并,所以這里的兩個工程代碼幾乎一樣,也很簡單,只是存放的地址空間不同。

我使用的開發板是STM32L476RGNucleo板。代碼功能都是接受按鍵,每收到1次按鍵動作,就打印出目前所在工作區。當收到3次按鍵后則從當前工作區跳往另一工作區。

兩個工程的內存及中斷矢量安排如下兩幅圖:

e43ef9b2-445e-11eb-8b86-12bb97331649.png

e488793e-445e-11eb-8b86-12bb97331649.png

除了上面的配置差異外,兩個工程的代碼幾乎一樣,只是輸出提示有別。

e4cd8632-445e-11eb-8b86-12bb97331649.png

這里使用的是IAR IDE環境,基于上面兩個工程分別生成IAP.HEX和APP.HEX兩個執行文件。

然后打開STLINKUtility工具,連接開發板,將芯片擦除干凈。接著,開始燒錄,先燒IAP.hex文件。【其實先燒錄誰無所謂】

e528d3f2-445e-11eb-8b86-12bb97331649.png

之后,將當前IAP.HEX文件關閉,再調APP.hex文件進行燒錄。注意這次燒錄時選擇跳過FLASH的擦除操作,因為剛開始已經全擦,而且前面已經寫了IAP代碼。

e5656fce-445e-11eb-8b86-12bb97331649.png

到此,兩個工程的代碼都寫進芯片了。

現在,先在VIEW菜單里點擊下Device Memory,然后在File菜單里選擇文件另存操作。你選擇HEX或BIN格式都可以。

e59cc6a4-445e-11eb-8b86-12bb97331649.png

使用BIN格式的話注意燒錄時給出正確的起始地址。這個另存出來的文件就是合并過的文件了,可以直接拿來燒錄。

下面是我基于合并文件燒錄的測試結果。跟實際預期效果一樣,每按鍵1次做1次輸出,3次后跳轉,這樣往返操作。

e61d1778-445e-11eb-8b86-12bb97331649.png

操作很簡單,也很方便。之前偶爾也會有人問起這個話題。這次整理本文做驗證時,結果在做合并時總是失敗。因為之前有驗證過,堅信這個操作是可行的。后來懷疑可能是我電腦系統方面的原因,換成家里那臺電腦測試起來就很順暢,來回驗證多次都正常。看來,我那臺電腦該重裝或換掉了。

原文標題:IAP代碼與APP代碼合并燒錄示例

文章出處:【微信公眾號:ST MCU 信息交流】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2266

    文章

    10873

    瀏覽量

    354845
  • IAP
    IAP
    +關注

    關注

    2

    文章

    163

    瀏覽量

    24251
  • 代碼
    +關注

    關注

    30

    文章

    4751

    瀏覽量

    68359

原文標題:IAP代碼與APP代碼合并燒錄示例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機燒錄程序的線比單片機上的少還能燒錄

    的存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運行過程中的數據。燒錄過程就是將程序代碼寫入ROM中。 單片機
    的頭像 發表于 09-02 09:54 ?413次閱讀

    單片機程序燒錄成功為什么不運行

    燒錄問題 : 確保燒錄過程沒有中斷或錯誤。 檢查燒錄器和連接線是否工作正常。 確認燒錄器設置(如電壓、波特率等)與單片機兼容。 電源問題 : 檢查單片機是否獲得了正確的電源電壓。 確保
    的頭像 發表于 09-02 09:45 ?1569次閱讀

    晶華微多用戶代碼燒錄器解決方案

    隨著杭州晶華微電子股份有限公司(股票代碼:688130)芯片產品線的擴展,對燒錄器的需求也逐漸增加。當前燒錄器支持單個用戶代碼的在線燒錄和離
    的頭像 發表于 08-29 17:34 ?441次閱讀
    晶華微多用戶<b class='flag-5'>代碼</b><b class='flag-5'>燒錄</b>器解決方案

    使用CUBE IDE無法通過IAP跳轉APP進行軟件升級怎么解決?

    。 int main(void) { while(1){ iap_load_app(FLASH_APP1_ADDR);//執行FLASH APP代碼}} 上面的
    發表于 07-31 07:48

    請問怎么基于stm32實現IAP功能?

    以下boot leader 是設想最簡單的功能,就是跳轉到下一塊程序地址為0x08008000,截圖: 然后APP是從0x0800 8000 開始的,也在網絡上的教程更改了偏移,但是boot一跳轉就卡死,不知道怎么實現IAP最基礎的功能(即boot和
    發表于 05-20 06:59

    IAP跳轉APP開始可以,如果從APP跳回IAP后再跳到APP失敗的原因?

    IAP 跳轉APP 開始可以,但如果從APP跳回IAP后,再跳到APP失敗。 我是按照 下面ST官方文檔來的: AN4657 Applic
    發表于 04-23 07:24

    stm32f1使用IAP升級后STemwin顯示圖片速度變慢的原因?

    IAP升級標志區,存放IAP升級標志。 app程序中使用了ucos操作系統和STemwinGUI。 我遇到的問題是,同一個app程序燒錄
    發表于 03-29 08:08

    使用STM32CubeIDE無法通過IAP跳轉APP進行軟件升級的原因?

    ); iap_load_app(FLASH_APP1_ADDR);//執行FLASH APP代碼}} 上面的引導代碼使用兩個一秒的閃燈進行識
    發表于 03-28 06:47

    STM32G070 IAP燒錄功能正常,一進入app就跑飛是怎么回事?

    我的FLASH燒錄是沒有問題的,我不知道為什么會出現現在的這個問題,這個代碼在F103上是可以正常使用的, 這是我進入APP的地方 這是我程序燒錄的地方 ![image.png](d
    發表于 03-28 06:17

    STM32 IAP升級,KEIL如何一份代碼運行于兩個APP區?

    校驗。目前的問題是,沒辦法使用一份代碼運行兩個APP。兩個APP,則IAP跳轉不同的APP,跳轉的地址不一樣,則
    發表于 03-26 07:20

    g代碼和m代碼表示什么功能

    加工的動作指令。在程序中,多條G代碼指令按順序組成一個工藝過程,以實現工件的形狀加工。G代碼可分為基本功能代碼和輔助功能代碼。 基本功能
    的頭像 發表于 02-14 15:49 ?4027次閱讀

    什么是燒錄?怎么判別IC是否燒錄過

     IC燒錄的基本流程,有時候我們會買來新料,新料一般是空白的可以跳過清除這道程序。
    的頭像 發表于 02-02 14:14 ?5539次閱讀

    CS32G020燒錄配置代碼選項?

    CS32G020軟件上修改代碼選項值后,燒錄如何配置代碼選項一樣進行燒錄
    發表于 02-02 02:37

    keil中GD32 MCU IAPAPP的存儲地址如何設置?

    前面和大家聊過什么是IAP(有不懂的小伙伴請看下前面的視頻哦),那么IAPAPP的存儲地址該如何設置呢?
    的頭像 發表于 01-29 09:37 ?1007次閱讀
    keil中GD32 MCU <b class='flag-5'>IAP</b>中<b class='flag-5'>APP</b>的存儲地址如何設置?

    燒錄機速覽:自動管裝進料燒錄過程#自動燒錄

    燒錄
    acroview123
    發布于 :2024年01月11日 17:53:38