一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何把IAP與APP程序進(jìn)行拼接在一起

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

掃碼添加小助手

加入工程師交流群

1寫在前面

在產(chǎn)品量產(chǎn)時(shí),產(chǎn)品具有IAP和APP兩部分程序時(shí),一般需要拼接成一個(gè)量產(chǎn)程序文件。

有人肯定會(huì)好奇,為什么要拼接成一個(gè)程序文件呢?

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

下面寫幾點(diǎn)內(nèi)容:

理解bin、hex、axf

IAP+APP拼接方法

bin和hex互相轉(zhuǎn)換

2

理解bin、hex、axf

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

先給一張三者的對(duì)比圖:

Bin文件

Bin文件就是一種沒(méi)有格式的程序文件,只是包含了程序數(shù)據(jù)。

Hex文件

Hex是由Intel制定的一種十六進(jìn)制標(biāo)準(zhǔn)文件格式,是由編譯器轉(zhuǎn)換而成的一種用于下載帶處理器里面的文件。

Hex文件格式是由一行一行的十六進(jìn)制數(shù)據(jù)組成,每行包含:開始、長(zhǎng)度、數(shù)據(jù)、類型、校驗(yàn)和等重要信息。

axf文件

axf文件是經(jīng)過(guò)編譯器編譯之后,包含具有程序、調(diào)試等更多信息的一種文件。

對(duì)比MDK-ARM編譯后三個(gè)文件大小

Objects目錄下:

Demo.axf(236K)

Demo.hex(4K)

Bin目錄下:

Demo.bin(2K)

請(qǐng)參看:關(guān)于bin、hex和axf文件格式的描述

3

IAP+APP拼接方法

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

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

燒錄軟件針對(duì)不同MCU,一般有不同的燒錄軟件。

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

拼接說(shuō)明

拼接IAP+APP兩段程序,一般簡(jiǎn)單方法就是:將兩個(gè)程序分別燒錄進(jìn)去,再統(tǒng)一讀取出來(lái),保存成一個(gè)量產(chǎn)文件。

拼接說(shuō)明

IAP和 APP程序的起始地址是不同的,因此燒錄進(jìn)芯片,是存儲(chǔ)在兩片區(qū)域的。

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

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

比如通過(guò)ST-LINK Utility讀取STM32程序:

通過(guò)STM32CubeProg讀取STM32程序:

再次提示:

燒錄bin文件時(shí),設(shè)置好起始地址;

讀取時(shí),設(shè)置起始地址,讀取大??;

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

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

4

bin、hex文件互相轉(zhuǎn)換

在某些情況下需要使用特定格式的文件,比如我們遠(yuǎn)程升級(jí),要求通過(guò)bin文件實(shí)現(xiàn)。

通過(guò)上面的介紹,其實(shí)你會(huì)發(fā)現(xiàn),使用編程軟件ST-LINK Utility,或STM32CubeProg,就能直接另存為hex,或bin文件格式。

ST-LINK Utility另存為:

STM32CubeProg另存為:

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

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

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

    關(guān)注

    2

    文章

    165

    瀏覽量

    25022
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1661

    瀏覽量

    50183
  • BIN文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    無(wú)法將Jlink調(diào)試器與CYBT263065EVAL COOLDIM_PRG_BOARD連接在一起怎么解決?

    我無(wú)法將 Jlink 調(diào)試器與 CYBT263065EVAL COOLDIM_PRG_BOARD連接在一起
    發(fā)表于 07-03 06:24

    ADS1217是需要2個(gè)電源隔離供電嗎?還是接在一起,對(duì)測(cè)量精度有多大影響?

    是需要2個(gè)電源隔離供電嗎,還是接在一起,對(duì)測(cè)量精度有多大影響 比如: 電路單片機(jī)供電VDD=5V,有路DCDC隔離出AVDD=5V,我在AD供電的時(shí)候是不是DVDD就接單片機(jī)的電源,AVDD接DCDC隔離的5V,而單片機(jī)IO和ADSPI引腳就不需要光耦隔離了?
    發(fā)表于 02-11 07:55

    ADS1198有兩個(gè)時(shí)鐘,CLK和SCLK,這兩個(gè)時(shí)鐘信號(hào)能接在一起嗎?

    最近在做這塊芯片,看到有兩個(gè)時(shí)鐘,CLK和SCLK,這兩個(gè)時(shí)鐘信號(hào)能接在一起嗎,就是說(shuō)CLK和SLCK能不能使用同個(gè)時(shí)鐘信號(hào)?另外,關(guān)于芯片的SPI輸入輸出,要不要做些初始化的工作,這些我好想在手冊(cè)上沒(méi)看到
    發(fā)表于 02-07 06:28

    ADS1274“模擬地”和“數(shù)字地”是接在一起好,還是分開連接好?

    地和模擬地需要全部接到模擬地上。那么請(qǐng)問(wèn)對(duì)于ADS1274而言,到底“模擬地”和“數(shù)字地”是接在一起,還是分開連接,性能更好呢。尤其是對(duì)于電路噪聲這性能來(lái)說(shuō)。
    發(fā)表于 12-30 07:24

    能否16個(gè)ADS1282的CLK、RESET、SCLK、SYNC管腳分別連在一起?

    我想用ADS1282做16個(gè)通道的同步采集系統(tǒng),輸出管腳通過(guò)SPI連接到FPGA上,但是接插件的管腳不夠用,能否16個(gè)ADS1282的CLK、RESET、SCLK、SYNC管腳分別連在一起?
    發(fā)表于 12-04 07:12

    TAS57XX當(dāng)BCLK為64*fs的頻率,BCLK和MCLK引腳連接在一起用,這個(gè)是對(duì)57XX所有芯片都適用嗎?

    TAS57XX當(dāng)BCLK為64*fs的頻率,并且采樣率在44.1KHz以上的時(shí)候可以使用。此時(shí),BCLK和MCLK引腳連接在一起用,這個(gè)是對(duì)57XX所有芯片都適用嗎?會(huì)對(duì)音頻指標(biāo)有什么影響嗎?
    發(fā)表于 11-06 08:33

    OLED拼接屏被經(jīng)常利用在哪些領(lǐng)域?

    OLED拼接屏是種高端的顯示技術(shù),它可以將多個(gè)OLED屏幕拼接在一起,形成個(gè)大屏幕顯示器。這種技術(shù)在廣告牌、展覽、演出、電影院等領(lǐng)域得到了廣泛的應(yīng)用。下面是OLED
    的頭像 發(fā)表于 11-01 11:14 ?568次閱讀
    OLED<b class='flag-5'>拼接</b>屏被經(jīng)常利用在哪些領(lǐng)域?

    請(qǐng)問(wèn)三片PCM1864如何級(jí)聯(lián)在一起

    現(xiàn)用三片PCM1864實(shí)現(xiàn)多路MIC信號(hào)實(shí)時(shí)采集,時(shí)鐘信號(hào)接在一起,數(shù)據(jù)信號(hào)分別接到DM8168的McASP接口的AXn的數(shù)據(jù)接口上。來(lái)做級(jí)聯(lián)是否可以。
    發(fā)表于 10-24 08:08

    隔離電源的地能接在一起嗎,隔離電源能不能直接共地使用

    不能接在一起。在使用隔離電源時(shí),需要將隔離電源的輸入和輸出端的地線分別接在接地柱和接地線上,而不能將它們接在一起。實(shí)際上,如果將隔離電源兩端的地線接在一起,會(huì)導(dǎo)致接地系統(tǒng)的干擾,降低系
    的頭像 發(fā)表于 10-01 16:27 ?8252次閱讀

    將5G信號(hào)鏈與電平轉(zhuǎn)換結(jié)合在一起

    電子發(fā)燒友網(wǎng)站提供《將5G信號(hào)鏈與電平轉(zhuǎn)換結(jié)合在一起.pdf》資料免費(fèi)下載
    發(fā)表于 09-18 14:49 ?1次下載
    將5G信號(hào)鏈與電平轉(zhuǎn)換結(jié)合<b class='flag-5'>在一起</b>

    模擬地和電源地能接在一起

    模擬地和電源地是否能接在一起,取決于電子系統(tǒng)的具體要求和設(shè)計(jì)。在電子系統(tǒng)中,地(Ground)是個(gè)共同的參考點(diǎn),用于構(gòu)建電位參考平面。電源地是所有電源網(wǎng)絡(luò)的參考點(diǎn),用于確保電源的穩(wěn)定性和系統(tǒng)的正常工作。模擬地則與模擬電路相關(guān),用于提供參考電位。
    的頭像 發(fā)表于 09-15 11:43 ?3418次閱讀

    請(qǐng)問(wèn)14引腳的VCA821的正負(fù)電源為什么有兩個(gè)?使用時(shí)怎么和電源接在一起?

    請(qǐng)問(wèn)14引腳的VCA821的正負(fù)電源為什么有兩個(gè)?使用時(shí)怎么和電源接在一起?是4個(gè)都要接嗎?GRAND引腳直接接地嗎?
    發(fā)表于 08-23 07:33

    DAC8771RGZ電流輸出端IOUT和電壓輸VOUT出端是連在一起的,是否可以不并在一起?

    請(qǐng)教下DAC8771RGZ這款芯片,看官方demo板,電流輸出端IOUT和電壓輸VOUT出端是連在一起的,是否可以不并在一起,分成兩路,單獨(dú)分別輸出電流或電壓?jiǎn)幔?/div>
    發(fā)表于 08-08 07:59

    使用CUBE IDE無(wú)法通過(guò)IAP跳轉(zhuǎn)APP進(jìn)行軟件升級(jí)怎么解決?

    FLASH APP代碼}} 上面的引導(dǎo)代碼使用兩個(gè)秒的閃燈進(jìn)行識(shí)別, 我也嘗試過(guò)直接跳轉(zhuǎn),代碼如下,依然無(wú)效,無(wú)效說(shuō)的是無(wú)法跳轉(zhuǎn)到IDE生成的APP
    發(fā)表于 07-31 07:48

    普通門電路的輸出端能否連在一起

    普通門電路的輸出端能否連在一起,取決于具體的應(yīng)用場(chǎng)景和需求。普通門電路的輸出端能否連在一起個(gè)復(fù)雜的問(wèn)題,涉及到數(shù)字電路設(shè)計(jì)、邏輯電路分析、信號(hào)完整性、電源管理等多個(gè)方面。 門電路的基本概念 在
    的頭像 發(fā)表于 07-30 15:13 ?1797次閱讀