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

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

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

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

MCUXpresso IDE下生成鏡像文件的方法及其與IAR,MDK差異

jf_pJlTbmA9 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2023-09-28 17:05 ? 次閱讀

本人很久以前寫過一篇文章 《ARM Cortex-M鏡像文件(.bin/.hex/.s19)》,詳細(xì)介紹了三種流行的鏡像文件格式,這些鏡像文件不同于可執(zhí)行文件(.elf),它們主要保存的是芯片能夠執(zhí)行的二進制機器碼數(shù)據(jù),以及輔助的地址信息和校驗和,其他像 .elf 文件里有的工程信息、代碼信息、調(diào)試信息全部被去除了,說白了鏡像文件主要是為最終量產(chǎn)過程而生的。

一般情況下,在 IDE 開發(fā)環(huán)境里編譯鏈接生成的是可執(zhí)行文件,然后可以在工程選項做一些設(shè)置能進一步生成鏡像文件。不同 IDE 下生成鏡像文件的方法不同,今天主要介紹來MCUXpresso IDE下生成鏡像文件的方法以及與 IAR/MDK 的對比。

注:本文測試的MCUXpresso IDE版本是v11.6.0_8187。

一、各種IDE下生成鏡像文件的方法

我們先來看看MCUXpress以外的其它IDE下是如何生成各種格式鏡像文件的。我們以 SDK_2.11.1_MIMXRT1170-EVKboardsevkmimxrt1170demo_appshello_worldcm7 目錄下的工程文件為例。

1.1 IAR EWARM下

編譯hello_world_demo_cm7.eww工程(隨便選擇 debug build),會在工程目錄 debug文件夾下生成可執(zhí)行文件hello_world_demo_cm7.out。如果在工程選項Output Converter里開啟Generate additional output,則可以指定生成想要的鏡像文件(bin/hex/srec)。

1666314917271216.png

如果你仔細(xì)看Build窗口的log信息,會發(fā)現(xiàn)IDE其實是在可執(zhí)行文件生成之后,再借助 IAR SystemsEmbedded Workbench 9.10.2armbinielftool.exe 小工具對可執(zhí)行文件做的二次轉(zhuǎn)換生成的鏡像文件。

ielftool.exe --bin app.out app.binielftool.exe --ihex app.out app.hexielftool.exe --srec app.out app.s19

所以其實在工程選項Build Actions里的Post-build command line添加如下調(diào)用 ielftool.exe做轉(zhuǎn)換的命令(CMD /C 的意思是以 bat 文件內(nèi)容方式打開后面的命令;命令需要用雙引號括起來;路徑也需要單獨用雙引號括起來,防止路徑中存在空格,導(dǎo)致命令出錯),也能達(dá)到一樣的效果。

CMD /C ""$TOOLKIT_DIR$binielftool.exe" --bin "$PROJ_DIR$/debug/hello_world_demo_cm7.out" "$PROJ_DIR$/debug/hello_world_demo_cm7.bin""

1666314927512976.png

1.2 Keil MDK下

編譯hello_world_demo_cm7.uvprojx工程(也選擇debug build),會在工程目錄debug文件夾下生成可執(zhí)行文件hello_world_demo_cm7.out。如果在工程選項Output里開啟Create HEXfile,則可以生成hex格式鏡像文件,不過要想生成其他bin/srec格式鏡像文件需要想其他辦法。

1666314938586124.png

MDK下其實也有類似IAR下的鏡像文件轉(zhuǎn)換小工具,即 Keil_v5ARMARMCCbinfromelf.exe,這個小工具可以幫助生成其他格式的鏡像文件。

fromelf.exe --bin app.out --output app.binfromelf.exe --i32 app.out --output app.hexfromelf.exe --m32 app.out --output app.srec

在工程選項User里的After build添加如下調(diào)用formelf.exe做轉(zhuǎn)換的命令就可以得到指定格式的鏡像文件了。

$KARMARMCCbinfromelf.exe --bin --output=debug@L.bin !L

1666314947389132.png

二、MCUXpresso下生成鏡像文件的方法

MCUXpresso IDE 下生成鏡像文件的方法與IAR/MDK稍有不同,其并不是在工程選項里去開啟,而是工程目錄里會有Binaies虛擬文件夾(如果看不到該文件夾,可以按 F5 刷新一下),編譯完成后在Binaies文件夾下會看到可執(zhí)行文件(evkmimxrt1170_hello_world_demo_cm7.axf),右擊可執(zhí)行文件在Binary Utilities里可以看到不同格式鏡像文件生成選項。

1666315038818044.png

我們知道MCUXpresso IDE是基于標(biāo)準(zhǔn)ARMGCC的二次封裝,所以其生成鏡像文件的能力其實是依靠MCUXpressoIDE_11.6.0_8187idetoolsbinarm-none-eabi-objcopy.exe 小工具。

arm-none-eabi-objcopy.exe -O binary app.axf app.bin

arm-none-eabi-objcopy.exe -O ihex app.axf app.hex

arm-none-eabi-objcopy.exe -O srec app.axf app.srec

因此在MCUXpresso IDE下我們也可以像IAR/MDK那樣添加Post-build steps命令來完成鏡像文件的生成。

arm-none-eabi-objcopy -O binary "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin"

1666315049509349.png

來源:恩智浦MCU加油站

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理

審核編輯 黃宇

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

    關(guān)注

    5

    文章

    367

    瀏覽量

    37123
  • IDE
    IDE
    +關(guān)注

    關(guān)注

    0

    文章

    346

    瀏覽量

    47360
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用MDK/MCUXpresso IDE/IAR工具編譯生成燒錄固件文件

    使用MDK/MCUXpresso IDE/IAR工具編譯生成燒錄固件文件。使用MCU BootU
    發(fā)表于 11-04 06:55

    如何在MCUXpresso IDE生成.bin文件?

    是盟友,我們在哪里閃存代碼 0x00000000?,0x60000000 我們?nèi)绾卧?MCUXpresso IDE生成 .bin 文件
    發(fā)表于 04-26 06:55

    MDK生成bin格式的可執(zhí)行文件

    MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV
    發(fā)表于 08-02 10:52 ?71次下載

    如何制作光盤鏡像文件

    如何制作光盤鏡像文件 NERO軟件不管是刻錄還是做鏡像文件,都是很好用的。下面介紹一下如何制作:有的時候我們不喜歡Nero
    發(fā)表于 09-11 16:03 ?3.1w次閱讀
    如何制作光盤<b class='flag-5'>鏡像文件</b>

    centos5.5鏡像文件

    centos5.5鏡像文件下載文檔后可以看到百度網(wǎng)盤鏈接及密碼。
    發(fā)表于 03-11 14:26 ?15次下載

    ZYNQ-7000如何生成從Flash和SD卡啟動的鏡像文件

    ZYNQ-7000如何生成從Flash和SD卡啟動的鏡像文件 將PL與PS部分一起使用,并且通過JTAG下載到板子運行。對于ZYNQ,有多種啟動方式
    的頭像 發(fā)表于 12-01 08:38 ?7770次閱讀
    ZYNQ-7000如何<b class='flag-5'>生成</b>從Flash和SD卡啟動的<b class='flag-5'>鏡像文件</b>

    如何才能生成MDKIAR的庫文件

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何才能生成MDKIAR的庫文件。 問題:該問題由某客戶提出,主要是想自己做一個庫給第三方,但是又不想讓別人得到源代碼,不知道如何去做,嘗試了幾種辦法,
    發(fā)表于 10-25 08:00 ?0次下載
    如何才能<b class='flag-5'>生成</b><b class='flag-5'>MDK</b>和<b class='flag-5'>IAR</b>的庫<b class='flag-5'>文件</b>

    鏡像文件下載到SD卡中的方法

    本文介紹如何將事先制作好的鏡像文件下載到SD卡中,然后做一些基本配置,讓樹莓派(Raspberry pi 4B)能夠連上wifi,并且通過wifi登錄控制臺。
    的頭像 發(fā)表于 10-23 10:38 ?1.2w次閱讀
    <b class='flag-5'>鏡像文件</b>下載到SD卡中的<b class='flag-5'>方法</b>

    一種Keil MDK生成BIN文件的簡易方法

    一種Keil MDK生成BIN文件的簡易方法。
    發(fā)表于 01-13 10:18 ?2次下載

    MCUXpresso IDE下生成鏡像文件方法

    我們先來看看MCUXpress以外的其它IDE下是如何生成各種格式鏡像文件的。我們以 SDK_2.11.1_MIMXRT1170-EVKoardsevkmimxrt1170demo_appshello_worldcm7 目錄下
    的頭像 發(fā)表于 10-20 09:16 ?1760次閱讀

    三種常用IDE下花式生成鏡像文件方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下生成鏡像文件方法
    的頭像 發(fā)表于 10-24 14:08 ?1750次閱讀

    MCUXpresso IDE下工程鏈接文件配置管理與自動生成機制介紹

    我們知道不同 IDE 下鏈接文件語法是不一樣的,而恩智浦 MCUXpresso IDE 底層編譯器是 Arm GCC,因此其鏈接文件就是標(biāo)準(zhǔn)
    的頭像 發(fā)表于 11-17 10:41 ?3372次閱讀
    <b class='flag-5'>MCUXpresso</b> <b class='flag-5'>IDE</b>下工程鏈接<b class='flag-5'>文件</b>配置管理與自動<b class='flag-5'>生成</b>機制介紹

    Linux內(nèi)核常用的幾種鏡像文件

    簡述幾種常用的內(nèi)核鏡像文件:vmlinux、Image、zImage、bzImage、uImage、bootpImage、XIPImage等等。
    發(fā)表于 06-23 11:49 ?1.3w次閱讀
    Linux內(nèi)核常用的幾種<b class='flag-5'>鏡像文件</b>

    MCUXpresso IDE下將源碼制作成Lib庫方法及其IAR,MDK差異

    MCUXpresso IDE下將源碼制作成Lib庫方法及其IAR,MDK
    的頭像 發(fā)表于 11-07 17:13 ?1595次閱讀
    <b class='flag-5'>MCUXpresso</b> <b class='flag-5'>IDE</b>下將源碼制作成Lib庫<b class='flag-5'>方法</b><b class='flag-5'>及其</b>與<b class='flag-5'>IAR</b>,<b class='flag-5'>MDK</b><b class='flag-5'>差異</b>

    怎么下載centos鏡像文件

    CentOS 是一個基于 Linux 的操作系統(tǒng),它是一種穩(wěn)定、強大且易于使用的發(fā)行版。CentOS 鏡像文件是用于安裝和部署 CentOS 操作系統(tǒng)的文件。在本文中,我們將詳細(xì)介紹如何下載
    的頭像 發(fā)表于 11-23 10:48 ?1476次閱讀