色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

MCUXpresso IDE下生成鏡像文件的方法

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-10-20 09:16 ? 次閱讀
本人很久以前寫過一篇文章 《ARM Cortex-M鏡像文件(.bin/.hex/.s19)》,詳細介紹了三種流行的鏡像文件格式,這些鏡像文件不同于可執行文件(.elf),它們主要保存的是芯片能夠執行的二進制機器碼數據,以及輔助的地址信息和校驗和,其他像 .elf 文件里有的工程信息、代碼信息、調試信息全部被去除了,說白了鏡像文件主要是為最終量產過程而生的。

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

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

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

我們先來看看MCUXpress以外的其它IDE下是如何生成各種格式鏡像文件的。我們以 SDK_2.11.1_MIMXRT1170-EVKoardsevkmimxrt1170demo_appshello_worldcm7 目錄下的工程文件為例。1.1 IAR EWARM下編譯hello_world_demo_cm7.eww工程(隨便選擇 debug build),會在工程目錄 debug文件夾下生成可執行文件hello_world_demo_cm7.out。如果在工程選項Output Converter里開啟Generate additional output,則可以指定生成想要的鏡像文件(bin/hex/srec)。

63a85118-5014-11ed-a3b6-dac502259ad0.png

如果你仔細看Build窗口的log信息,會發現IDE其實是在可執行文件生成之后,再借助 IAR SystemsEmbedded Workbench 9.10.2arminielftool.exe 小工具對可執行文件做的二次轉換生成的鏡像文件。

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添加如下調用 ielftool.exe做轉換的命令(CMD /C 的意思是以 bat 文件內容方式打開后面的命令;命令需要用雙引號括起來;路徑也需要單獨用雙引號括起來,防止路徑中存在空格,導致命令出錯),也能達到一樣的效果。

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

63bc9baa-5014-11ed-a3b6-dac502259ad0.png

1.2 Keil MDK下

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

63c51794-5014-11ed-a3b6-dac502259ad0.png

MDK下其實也有類似IAR下的鏡像文件轉換小工具,即 Keil_v5ARMARMCCinfromelf.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添加如下調用formelf.exe做轉換的命令就可以得到指定格式的鏡像文件了。

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

63d909b6-5014-11ed-a3b6-dac502259ad0.png

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

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

63e335a8-5014-11ed-a3b6-dac502259ad0.png

我們知道MCUXpresso IDE是基于標準ARMGCC的二次封裝,所以其生成鏡像文件的能力其實是依靠MCUXpressoIDE_11.6.0_8187ide oolsinarm-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"

63f1a688-5014-11ed-a3b6-dac502259ad0.png


審核編輯 :李倩


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

    關注

    146

    文章

    17458

    瀏覽量

    354460
  • IDE
    IDE
    +關注

    關注

    0

    文章

    343

    瀏覽量

    47043
  • 鏡像
    +關注

    關注

    0

    文章

    174

    瀏覽量

    10867

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

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于Docker鏡像逆向生成Dockerfile

    在本文中, 我們將通過理解Docker鏡像如何存儲數據, 以及如何使用工具查看鏡像方方面面的信息來逆向工程一個Docker鏡像; 以及如何使用Python的Docker API來構建一個類似Dedockify的工具來創建Dock
    的頭像 發表于 03-10 09:45 ?72次閱讀
    基于Docker<b class='flag-5'>鏡像</b>逆向<b class='flag-5'>生成</b>Dockerfile

    DLP LightCrafter 3010 EVM-G2 Firmware中的img鏡像文件無法解壓怎么解決?

    請教TI工程師,我在TI官網上下載了TI提供的固件DLP LightCrafter 3010 EVM-G2 Firmware,在解壓鏡像文件dpp343x_7.3.3.img出現了無法解壓的問題,嘗試重新下載了多次,依然無法解壓,具體如下圖所示:
    發表于 02-26 08:00

    Milk-V Duo 開發板免費體驗 官方鏡像燒錄

    /getting-started 需要到官網查看教程可跳轉到此鏈接。 首先 進入到官網 選擇啟動duo,便能得到要求: 第一、需要自己準備的器材 第二、需要下載的鏡像文件和燒錄軟件。 那么,需要準備的當然是一張tf卡和一天tepyc的數據線,還需要一個讀卡器(燒錄鏡像文件
    的頭像 發表于 01-20 17:50 ?179次閱讀
    Milk-V Duo 開發板免費體驗 官方<b class='flag-5'>鏡像</b>燒錄

    Docker-鏡像的分層-busybox鏡像制作

    容器修改了基礎鏡像的內容,比如 /etc 下的文件,這時其他容器的 /etc 是否也會被修改? 可寫層的概念: Cpoy-on-Write 知識點6:制作一個busybox鏡像 1、編寫Dockerfile ENTRYPOIN
    的頭像 發表于 01-15 10:44 ?239次閱讀
    Docker-<b class='flag-5'>鏡像</b>的分層-busybox<b class='flag-5'>鏡像</b>制作

    迅為RK3568開發板EMMC鏡像導出打包update.img

    在上一個小節中已經將 EMMC 中的全部分區鏡像進行了導出,而為了方便期間和統一燒寫,我們一般都需要將這些鏡像文件打包成一個整體的鏡像 update.img,在本小節中將對鏡像打包的過
    發表于 12-25 14:57

    飛凌嵌入式ElfBoard ELF 1板卡-內核移植之編譯后生成文件說明

    二進制文件,它是由設備樹編譯工具DTC (Device tree compiler)編譯dts文件生成的。關于設備樹的知識,我們在之后章節有詳細介紹。 zImage是經過壓縮之后的鏡像文件
    發表于 12-19 09:11

    飛凌嵌入式ElfBoard ELF 1板卡-內核移植之編譯后生成文件說明

    文件,它是由設備樹編譯工具DTC (Device tree compiler)編譯dts文件生成的。關于設備樹的知識,我們在之后章節有詳細介紹。zImage是經過壓縮之后的鏡像文件
    發表于 12-18 08:52

    如何選擇 MCU IDE:概述比較 NXP MCUXpresso、VS Code、IAR、Keil

    的固件,后者則兼容多種平臺,但通常需要付費。例如,專屬型IDE包括NXP的MCUXpresso和ST的STM32CubeIDE;通用型IDE則有VSCode、Keil
    的頭像 發表于 12-13 18:22 ?949次閱讀
    如何選擇 MCU <b class='flag-5'>IDE</b>:概述比較 NXP <b class='flag-5'>MCUXpresso</b>、VS Code、IAR、Keil

    用戶手冊 | 國產最強SOC——RK3588之鏡像升級篇

    前言:本篇將詳細介紹如何對RK3588開發板的系統鏡像進行升級,以確保用戶在需要時能夠快速高效地完成升級目標。文章內容涵蓋鏡像文件的獲取、升級工具的使用步驟、以及常見問題的解決方法,幫助你快速
    的頭像 發表于 11-01 08:08 ?2848次閱讀
    用戶手冊 | 國產最強SOC——RK3588之<b class='flag-5'>鏡像</b>升級篇

    佩特科技PET_A40I_P03安卓通用主板簡介

    開發過程中,一般使用 PhoenixSuit 進行鏡像文件的燒寫。
    的頭像 發表于 08-15 14:18 ?436次閱讀
    佩特科技PET_A40I_P03安卓通用主板簡介

    MCUXpresso IDE下在線聯合調試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯合調試i.MXRT1170雙核工程的三種方法
    的頭像 發表于 08-08 15:18 ?850次閱讀
    <b class='flag-5'>MCUXpresso</b> <b class='flag-5'>IDE</b>下在線聯合調試雙核MCU工程的三種<b class='flag-5'>方法</b>

    stm32mp157編譯燒錄運行到uboot串口無輸出怎么解決?

    1.大概2月前后,參考第2部分的方法生成sdcard鏡像文件并燒錄的步驟,生成了sdcard鏡像文件并燒錄到sd卡,然后我一直使用這個sd
    發表于 07-05 08:11

    STM32MP157燒錄Yocto下載完的鏡像文件時發生錯誤的原因?

    當下載完Yocto基本鏡像文件后打算燒錄到系統里,卻發生了這個錯誤,使用的.tsv文件是 FlashLayout_emmc_stm32mp157d-ev1-optee.tsv 錯誤是說 Error
    發表于 03-29 09:02

    如何使用Yocto更新已更改的TF-A設備樹來產生新的鏡像文件

    求助大佬, 我用Yocto構建了STM32MP157的鏡像文件,但我需要更改和移植TF-A和U-BOOT來適配我的板子, 我按照它正點原子教程里更改了.bl2和創建了新的.dtsi設備樹文件,但
    發表于 03-29 08:01

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    Workspace To Unified IDE 選擇導出的路徑文件位置 這時候就會在所選路徑下生成遷移腳本migrate.py,然后打開 VivadoTcl Shell ,cd到腳本文件
    發表于 03-24 17:14
    主站蜘蛛池模板: 男女肉大捧进出全过程免费 | 伊人影院网 | 最近中文字幕免费高清MV视频6 | 亚洲宅男天堂a在线 | 久久久久久电影 | 99久女女精品视频在线观看 | 露露的性战k8经典 | 伊人久久精品99热超碰 | 久久人妻少妇嫩草AV蜜桃35I | 亚洲AV久久久噜噜噜久久 | 18美女腿打开无遮软件 | 丁香成人网址 | 国偷自产视频一区二区99 | 日本色女孩影院 | 乱码午夜-极品国产内射 | 国产午夜精品一区二区理论影院 | 日韩精品在线看 | 亚洲精品在线播放视频 | 成年人视频在线免费看 | 日本无码欧美激情在线视频 | 偷拍自怕亚洲在线第7页 | 亚洲国产成人精品无码区5566 | 久久黄视频 | 国产精品久久久久a影院 | 九九精品国产亚洲A片无码 九九精彩视频在线观看视频 | 国产啪精品视频网免费 | 秋霞电影网午夜鲁丝片 | 抽插喷S骚爽去了H | 极品少妇伦理一区二区 | 男女啪啪久久精品亚洲A | 亚洲AV香蕉一区区二区三区蜜桃 | 国产成人啪精视频精东传媒网站 | 成年女人免费影院播放 | 伊人精品国产 | 做暧暧免费30秒体验 | bbw极度另类孕妇 | 日韩毛片大全 | 在线自拍综合亚洲欧美 | 俄罗斯美女破处 | 一二三四在线观看高清电视剧 | 久久精品国产亚洲AV妓女不卡 |