国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何把IAP與APP程序進行拼接在一起

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-03 14:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1寫在前面

在產品量產時,產品具有IAP和APP兩部分程序時,一般需要拼接成一個量產程序文件。

有人肯定會好奇,為什么要拼接成一個程序文件呢?

這個答案很簡單:為了提高生產效率,在量產只燒錄一個程序文件(而不是燒錄IAP + APP兩個程序文件)。

下面寫幾點內容:

理解bin、hex、axf

IAP+APP拼接方法

bin和hex互相轉換

2

理解bin、hex、axf

想要掌握程序IAP+APP程序拼接,需要理解程序文件hex、bin文件格式內容。

先給一張三者的對比圖:

Bin文件

Bin文件就是一種沒有格式的程序文件,只是包含了程序數據。

Hex文件

Hex是由Intel制定的一種十六進制標準文件格式,是由編譯器轉換而成的一種用于下載帶處理器里面的文件。

Hex文件格式是由一行一行的十六進制數據組成,每行包含:開始、長度、數據、類型、校驗和等重要信息。

axf文件

axf文件是經過編譯器編譯之后,包含具有程序、調試等更多信息的一種文件。

對比MDK-ARM編譯后三個文件大小

Objects目錄下:

Demo.axf(236K)

Demo.hex(4K)

Bin目錄下:

Demo.bin(2K)

請參看:關于bin、hex和axf文件格式的描述

3

IAP+APP拼接方法

用于產品量產,燒錄的程序文件,一般是hex,或bin文件。

不管是hex文件,還是bin文件,我們都需要通過燒錄軟件 +燒錄(編程)工具實現。

燒錄軟件針對不同MCU,一般有不同的燒錄軟件。

針對STM32,一般建議使用官方提供的STVP、ST-LINK Utility和STM32CubeProg這三種編程軟件。

拼接說明

拼接IAP+APP兩段程序,一般簡單方法就是:將兩個程序分別燒錄進去,再統一讀取出來,保存成一個量產文件。

拼接說明

IAP和 APP程序的起始地址是不同的,因此燒錄進芯片,是存儲在兩片區域的。

燒錄程序的時候,特別是燒錄bin文件(沒有地址)時,要注意設置好起始地址。hex文件有地址地址,不用自己設置地址。

讀取“合并”程序的時候,同樣要注意起始地址,還有讀取大小,保證讀取全部程序。

比如通過ST-LINK Utility讀取STM32程序:

通過STM32CubeProg讀取STM32程序:

再次提示:

燒錄bin文件時,設置好起始地址;

讀取時,設置起始地址,讀取大小;

保存可選擇hex,還是bin文件;

這里推薦閱讀:我的ST-Link專欄

4

bin、hex文件互相轉換

在某些情況下需要使用特定格式的文件,比如我們遠程升級,要求通過bin文件實現。

通過上面的介紹,其實你會發現,使用編程軟件ST-LINK Utility,或STM32CubeProg,就能直接另存為hex,或bin文件格式。

ST-LINK Utility另存為:

STM32CubeProg另存為:

之前我有介紹在MDK-ARM中,直接轉換成bin文件的文章:MDK-ARM如何生產Bin文件

當然,bin和hex格式文件互相轉換的工具,網上有很多,感興趣的朋友可以搜索了解一下。

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

    關注

    2

    文章

    169

    瀏覽量

    26061
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51607
  • BIN文件
    +關注

    關注

    0

    文章

    27

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么不能將 USB 磁盤與 exFat 一起使用?

    不能將 USB 磁盤與 exFat 一起使用
    發表于 03-04 06:27

    阿里狗16.6,層疊表能打開,但是打開后內容縮在一起,調整間距之后,關閉在打開還是縮在一起,怎么處理呢

    阿里狗16.6,層疊表能打開,但是打開后內容縮在一起,調整間距之后,關閉在打開還是縮在一起,怎么處理呢 試過初始化窗口,重新破解,還有重新加載補丁,都不行
    發表于 02-13 11:01

    在CW32F030的IAP應用介紹

    部分區域進行燒寫,目的是為了在產品發布后可以方便地通過 預留的通信口對產品中的固件程序進行更新升級。 1 功能實現 IAP 功能的實現,
    發表于 01-22 07:20

    聚是鴻蒙氣,散是滿天星!《鴻蒙星光盛典》詮釋“在一起”的群像力量

    在“數字中國”戰略邁入十周年、“十四五”規劃收官之際,各地追光人用特別的方式相聚《鴻蒙星光盛典》。這場以“在一起”為主題的盛典,是中國科技自立自強之路的深情回望,是千行百業共建數字中國的生動展示,更是場面向未來的集體期許。
    發表于 12-22 17:58 ?1036次閱讀
    聚是鴻蒙氣,散是滿天星!《鴻蒙星光盛典》詮釋“<b class='flag-5'>在一起</b>”的群像力量

    AS32A601型MCU芯片如何進行IAP升級?

    、什么是IAPIAP(In Application Programming,在應用編程)是種技術,旨在實現用戶應用程序的動態更新,而
    的頭像 發表于 12-19 11:39 ?2011次閱讀
    AS32A601型MCU芯片如何<b class='flag-5'>進行</b><b class='flag-5'>IAP</b>升級?

    如何在CW32F030上實現IAP功能實現遠程升級?

    區域進行燒寫,目的是為了在產品發布后可以方便地通過預留的通信口對產品中的固件程序進行更新升級。 IAP 功能的實現,般將
    發表于 12-11 06:15

    硬件融合拼接器與軟件融合拼接的區別?

    、內存和存儲設備等組成,具備強大的計算和數據處理能力。它可以將多個圖像拼接個大的全景圖像,這個過程是在硬件設備中進行的,因此速度較快。 而軟件融合拼接則是通過軟件算法來實現圖像的
    的頭像 發表于 09-28 14:33 ?529次閱讀

    BootLoader app程序反復重啟,IAP升級失敗怎么處理?

    keil開發的BootLoader程序,用RT-Thread Studio開發的app程序,板子每次上電后,從BootLoader程序跳轉到app
    發表于 09-10 07:36

    AT32 MCU如何使用IAP

    。 AT32微控制器的IAP功能允許用戶在產品發布后方便地通過預留的通信口對產品中的固件程序進行更新升級。要實現IAP功能,需要設計兩個項目代碼:
    發表于 08-08 17:13

    AT32 IAP using the USART

    -app1工作,LED4閃爍-app2工作 圖 2. IAP demo 上位機 AT32 USART IAP 程序設置 地址分布 表 1.
    發表于 07-11 10:51

    如何對CYBT-223058-02模塊(非 EVAL)進行編程?

    )的電源。 我電源的接地、TTL 電纜和模塊全部連接在一起。 我在 modustoolBox3.1 上為 EVAL 板構建了 rfcomm_serial_Port 示例(沒有變化),然后在快速面板中點
    發表于 07-04 06:27

    無法將Jlink調試器與CYBT263065EVAL COOLDIM_PRG_BOARD連接在一起怎么解決?

    我無法將 Jlink 調試器與 CYBT263065EVAL COOLDIM_PRG_BOARD連接在一起
    發表于 07-03 06:24

    實現IAP功能,使用cubeide生成APP程序的bin文件寫入Flash之后,無法跳轉到APP程序中,為什么?

    實現IAP功能,使用cubeide生成APP程序的bin文件寫入Flash之后,無法跳轉到APP程序中。 但是使用KEIL編譯生成的bin文
    發表于 06-09 07:32

    CUEBIDE生成的APP程序,在寫入FLASH之后無法正常跳轉怎么解決?

    實現IAP的功能,使用CUEBIDE生成的APP程序的bin文件,寫入到FLASH之后,無法正常跳轉。 程序卡在/[i] 檢查棧頂地址是否合法 / 但是用KEIL生成的bin文件寫入后
    發表于 06-05 07:15

    STM32F103 flash的app區域有上次的殘留代碼,會造成死機怎么解決?

    的代碼是連接在一起。 右圖為正常的flash中的代碼。 所以想請教下,左圖中的那種flash,從理論上來講,連接在正常代碼后面的異常代碼,會造成那些影響,或者隱患。 備注:圖中邊條里,其它位置的紅色
    發表于 03-11 07:29