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

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

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

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

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

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-10-20 09:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一般情況下,在 IDE 開發(fā)環(huán)境里編譯鏈接生成的是可執(zhí)行文件,然后可以在工程選項做一些設(shè)置能進(jìn)一步生成鏡像文件。不同 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文件夾下生成可執(zhí)行文件hello_world_demo_cm7.out。如果在工程選項Output Converter里開啟Generate additional output,則可以指定生成想要的鏡像文件(bin/hex/srec)。

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

如果你仔細(xì)看Build窗口的log信息,會發(fā)現(xiàn)IDE其實是在可執(zhí)行文件生成之后,再借助 IAR SystemsEmbedded Workbench 9.10.2arminielftool.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$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文件夾下生成可執(zhí)行文件hello_world_demo_cm7.out。如果在工程選項Output里開啟Create HEXfile,則可以生成hex格式鏡像文件,不過要想生成其他bin/srec格式鏡像文件需要想其他辦法。

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

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

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

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

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

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

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

我們知道MCUXpresso IDE是基于標(biāo)準(zhǔn)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


審核編輯 :李倩


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

    關(guān)注

    147

    文章

    18881

    瀏覽量

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

    關(guān)注

    0

    文章

    365

    瀏覽量

    48991
  • 鏡像
    +關(guān)注

    關(guān)注

    0

    文章

    178

    瀏覽量

    11614

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    別再裝系統(tǒng)了!Linux 鏡像到底是什么?一篇講到你懷疑人生

    多小、環(huán)境多復(fù)雜,如何快速安裝、部署和維護(hù) Linux 系統(tǒng),都是開發(fā)者和運(yùn)維人員必須掌握的核心技能。 這時,“Linux 鏡像文件”就顯得尤為重要。它就像一份完整的系統(tǒng)快照,讓你可以在不同設(shè)備之間快速遷移、復(fù)制,甚至批量部署。理解鏡像文件,是從零開
    的頭像 發(fā)表于 12-03 16:12 ?747次閱讀
    別再裝系統(tǒng)了!Linux <b class='flag-5'>鏡像</b>到底是什么?一篇講到你懷疑人生

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過readmemh函數(shù)讀入.verilog文件實現(xiàn)的: 下面通過對NucleiStudio IDE進(jìn)行設(shè)置,實現(xiàn)將c
    發(fā)表于 11-05 07:07

    【嘉楠堪智K230開發(fā)板試用體驗】 使用非 docker 環(huán)境構(gòu)建系統(tǒng)鏡像

    prepare_sourcecode 下載工具鏈和 buildroot package, AI package。 4 帶完成之后就執(zhí)行 sudo `make CONF=k230_canmv_01studio_defconfig 即可完成鏡像制作 如下生成成功
    發(fā)表于 09-06 22:35

    恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植

    本篇還是以移植RT-Thread Nano到MCUXpresso IDE為主,移植的代碼可以在nxpic.org.cn論壇搜索到。
    的頭像 發(fā)表于 08-21 09:49 ?6671次閱讀
    恩智浦MCU教程 基于<b class='flag-5'>MCUXpresso</b>和FRDM-MCXA346的RT-Thread Nano移植

    使用K230 BurningTool 燒錄 EMMC鏡像報錯怎么解決?

    誤刪了文件,故重新燒錄SD卡鏡像,還是發(fā)生如上報錯。然后又想重新燒錄EMMC鏡像,突然發(fā)現(xiàn)無法燒錄。 想求解的第一個問題是 dev下的文件是保存在SD卡內(nèi)還是開發(fā)板EMMC內(nèi) 第二個問
    發(fā)表于 07-23 06:03

    ElfBoard技術(shù)貼|如何在ELF 2開發(fā)板中適配 AX200NGW WiFi模塊

    ,指導(dǎo)屏幕前的小伙伴完成這一適配過程。方法一:重新制作鏡像文件方法是在SDK源碼中,將內(nèi)核編譯生成的模塊文件部署到
    的頭像 發(fā)表于 06-24 09:09 ?2244次閱讀
    ElfBoard技術(shù)貼|如何在ELF 2開發(fā)板中適配 AX200NGW WiFi模塊

    Linux文件系統(tǒng)打包及鏡像制作,觸覺智能RK3562開發(fā)板演示

    本文介紹Linux開發(fā)板文件系統(tǒng)打包及鏡像制作的方法,演示Linux文件系統(tǒng)打包及鏡像制作,適用于想將配置好的系統(tǒng)環(huán)境打包成
    的頭像 發(fā)表于 04-28 16:45 ?950次閱讀
    Linux<b class='flag-5'>文件</b>系統(tǒng)打包及<b class='flag-5'>鏡像</b>制作,觸覺智能RK3562開發(fā)板演示

    全志T113-i一鍵升級攻略:輕松搞定鏡像更新!

    前言:本篇將詳細(xì)介紹如何對Talowe-EVM-T113-i開發(fā)板的系統(tǒng)鏡像進(jìn)行升級,以確保用戶在需要時能夠快速高效地完成升級目標(biāo)。文章內(nèi)容涵蓋鏡像文件的獲取、升級工具的使用步驟、以及常見問題
    的頭像 發(fā)表于 04-18 08:33 ?1894次閱讀
    全志T113-i一鍵升級攻略:輕松搞定<b class='flag-5'>鏡像</b>更新!

    rootfs鏡像制作其實沒那么難

    在嵌入式Linux開發(fā)中,文件系統(tǒng)的打包和鏡像制作是關(guān)鍵步驟。本文介紹了Linux核心板文件系統(tǒng)的打包與鏡像制作方法,適合嵌入式開發(fā)人員快速
    的頭像 發(fā)表于 04-03 11:37 ?1059次閱讀
    rootfs<b class='flag-5'>鏡像</b>制作其實沒那么難

    如何將MCUXpresso和MCU LINK_PRO置于J-Link仿真模式?

    無法進(jìn)行調(diào)試。我刪除了所有調(diào)試啟動文件,以允許 MCUXpresso 按照 IDE 指南的建議自動創(chuàng)建 j-link 配置。 然后,我嘗試使用 Segger“V8.12e”中的最新驅(qū)動程序,而不是
    發(fā)表于 04-02 06:41

    MCUxpresso IDE中收到錯誤:檢測到0個可用的SWD設(shè)備,怎么解決?

    的擦除整個設(shè)備選項,不小心擦除了整個芯片。在此之后,設(shè)備將無法進(jìn)入 Flash magic 或 MCUxpresso IDE。看起來擦除整個芯片也擦除了引導(dǎo)加載程序。 我在 MCUxpresso
    發(fā)表于 03-21 07:22

    如何使用MCUXpresso IDE中內(nèi)置的SWO Trace功能?

    如何使用MCUXpresso IDE中內(nèi)置的SWO Trace功能?
    發(fā)表于 03-17 08:08

    使用FRDM-MXCN947板,在MCUXpresso IDE中調(diào)試期間嘗試從下載寫入QSPI閃存出現(xiàn)報錯的原因?

    我正在使用 FRDM-MXCN947 板,并在 MCUXpresso IDE 中調(diào)試期間嘗試從下載寫入 QSPI 閃存,但出現(xiàn)以下錯誤。 閃存驅(qū)動程序使用 MCXN9xx_SFDP_FlexSPI.cfx。 我需要修改驅(qū)動程序嗎? 謝謝。
    發(fā)表于 03-17 07:13

    基于Docker鏡像逆向生成Dockerfile

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

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

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