在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32程序HEX文件中加入固件版本信息

lhl545545 ? 來源:單片機與嵌入式 ? 作者:單片機與嵌入式 ? 2022-08-14 16:13 ? 次閱讀

本文介紹一個小技巧:

使用MDK編譯器,讓STM32程序HEX文件中加入固件版本信息

代碼

代碼如下:

//------------------------------------------------------------------------------#include 
//------------------------------------------------------------------------------#define VERINFO_ADDR_BASE (0x8009F00) // 版本信息在FLASH中的存放地址const char Hardware_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x00)))= "Hardware: 1.0.0";const char Firmware_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x20)))= "Firmware: 1.0.0";const char Compiler_Date[] __attribute__((at(VERINFO_ADDR_BASE + 0x40))) = "Date: "__DATE__;const char Compiler_Time[] __attribute__((at(VERINFO_ADDR_BASE + 0x60))) = "Time: "__TIME__;
//------------------------------------------------------------------------------

寫入到程序中:

6e20dcc4-1a85-11ed-ba43-dac502259ad0.png

選項配置中:Flash地址與大小不用做任何修改!

6e40773c-1a85-11ed-ba43-dac502259ad0.png

HEX文件:

6e509f22-1a85-11ed-ba43-dac502259ad0.png

串口打印輸出:

6e7bee66-1a85-11ed-ba43-dac502259ad0.png

上述方法的缺點

上述操作可行, 但是有一個缺點:就是生成的bin文件都是滿Flash大小的, 造成每次燒錄都是整個Flash讀寫。相關(guān)文章推薦:STM32單片機中Hex、Bin文件的區(qū)別與應(yīng)用。

其實這個可以把存放地址放到前面,比如偏移1K的地方,都不用改指定地址。

按照上述操作,程序末尾到VERINFO_ADDR_BASE地址這一段會被填充成0x00。根據(jù)需要可以修改VERINFO_ADDR_BASE減小地址,或者說不強制指定地址,由編譯器自動分配,但這樣就要去找相應(yīng)的版本標(biāo)識字符串了。

優(yōu)化方法

不想前面這一段被大量填充0x00,讓HEX文件體積小一點的話, 可以把選項配置中Flash的Size改小一點,把VERINFO_ADDR_BASE設(shè)置成從FlashSize后面的空間開始,這樣生成的HEX文件就小了,且未用空間就不會被大量填充0x00了。

方法如下:

6ea8e3bc-1a85-11ed-ba43-dac502259ad0.png

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

    關(guān)注

    1

    文章

    566

    瀏覽量

    24744
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68603
  • STM32程序
    +關(guān)注

    關(guān)注

    1

    文章

    2

    瀏覽量

    1209

原文標(biāo)題:在SMT32的HEX文件里加入固件版本信息

文章出處:【微信號:單片機與嵌入式,微信公眾號:單片機與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32單片機生成的hex文件與bin文件區(qū)別與應(yīng)用

    調(diào)試單片機程序時,通常下載的是Hex文件。由于在Hex文件中已經(jīng)包含了地址信息,在上述下載步驟中
    的頭像 發(fā)表于 01-03 11:06 ?7222次閱讀

    stm32之.hex 文件

    的output文件夾中找到編譯后生產(chǎn)的. hex 文件; 用 notepad++ 或者 UltraEdit 打開 程序 的.hex
    發(fā)表于 04-20 09:28 ?4162次閱讀
    <b class='flag-5'>stm32</b>之.<b class='flag-5'>hex</b> <b class='flag-5'>文件</b>

    用于STM32hex文件合并的應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是用于STM32hex文件合并的應(yīng)用程序免費下載。
    發(fā)表于 03-05 08:00 ?11次下載

    如何使用MDK編譯器讓STM32程序HEX文件中加入固件版本信息

    本文介紹一個小技巧: 使用MDK編譯器,讓STM32程序HEX文件中加入固件
    的頭像 發(fā)表于 06-23 15:14 ?4054次閱讀
    如何使用MDK編譯器讓<b class='flag-5'>STM32</b><b class='flag-5'>程序</b><b class='flag-5'>HEX</b><b class='flag-5'>文件</b><b class='flag-5'>中加入</b><b class='flag-5'>固件</b><b class='flag-5'>版本</b><b class='flag-5'>信息</b>

    stm32程序升級SD卡讀取hex文件寫入flash

    stm32程序升級SD卡讀取hex文件寫入flash
    發(fā)表于 11-20 12:36 ?59次下載
    <b class='flag-5'>stm32</b><b class='flag-5'>程序</b>升級SD卡讀取<b class='flag-5'>hex</b><b class='flag-5'>文件</b>寫入flash

    Intel Hex 文件格式

    EWARM開發(fā)工具開發(fā)STM32系列Cortex-M4的某款芯片,創(chuàng)建工程,編寫代碼后,在工程構(gòu)建成功后,就可以輸出一個hex文件。此hex文件
    發(fā)表于 12-06 10:06 ?4次下載
    Intel <b class='flag-5'>Hex</b> <b class='flag-5'>文件</b>格式

    SMT32的HEX文件加入固件版本的方法

    本文介紹一個小技巧:使用MDK編譯器,讓STM32程序HEX文件中加入固件
    發(fā)表于 02-08 15:28 ?0次下載
    SMT32的<b class='flag-5'>HEX</b><b class='flag-5'>文件</b>里<b class='flag-5'>加入</b><b class='flag-5'>固件</b><b class='flag-5'>版本</b>的方法

    單片機固件中加入版本信息的方法

    平時我們寫程序,通常都會備注軟件版本,那么,怎么在單片機中保存版本信息呢?方法其實有很多,但基本原理都是在指定存儲區(qū)域(Flash)中寫入軟件版本
    的頭像 發(fā)表于 04-18 14:50 ?1129次閱讀

    STM32單片機中Hex、Bin文件的區(qū)別及應(yīng)用詳解

    ? ? STM32、51等單片機程序經(jīng)過編譯后,生成的hex文件、bin文件,它們都是單片機燒寫文件
    的頭像 發(fā)表于 07-05 17:23 ?1.3w次閱讀

    SMT32的HEX文件加入固件版本的方法

    使用MDK編譯器,讓STM32程序HEX文件中加入固件版本
    的頭像 發(fā)表于 02-01 09:37 ?3862次閱讀

    單片機固件中加入版本信息的方式有哪些?-1

    開發(fā)完MCU軟件后,通常都會生成hex文件或者bin文件,用來做固件燒錄或者升級,如果用來做產(chǎn)品開發(fā),就涉及到固件
    的頭像 發(fā)表于 02-15 15:13 ?1413次閱讀
    單片機<b class='flag-5'>固件</b><b class='flag-5'>中加入</b><b class='flag-5'>版本</b><b class='flag-5'>信息</b>的方式有哪些?-1

    單片機固件中加入版本信息的方式有哪些?-2

    這篇介紹一下如何在 MCU 程序中固定位置添加程序版本信息等。
    的頭像 發(fā)表于 02-15 15:36 ?1219次閱讀
    單片機<b class='flag-5'>固件</b><b class='flag-5'>中加入</b><b class='flag-5'>版本</b><b class='flag-5'>信息</b>的方式有哪些?-2

    單片機固件中加入版本信息的方式有哪些?-3

    這篇主要介紹一下通過 Git 工具管理的程序如何在 MCU 程序版本信息中增加 Git commot 提交的 id 。
    的頭像 發(fā)表于 02-15 15:38 ?725次閱讀
    單片機<b class='flag-5'>固件</b><b class='flag-5'>中加入</b><b class='flag-5'>版本</b><b class='flag-5'>信息</b>的方式有哪些?-3

    單片機固件如何加入版本信息

    時我們寫程序,通常都會備注軟件版本,那么,怎么在單片機中保存版本信息呢? 方法其實有很多,但基本原理都是在指定存儲區(qū)域(Flash)中寫入軟件版本
    發(fā)表于 08-22 09:16 ?437次閱讀
    單片機<b class='flag-5'>固件</b>如何<b class='flag-5'>加入</b><b class='flag-5'>版本</b><b class='flag-5'>信息</b>

    SMT32的HEX文件加入固件版本的方法

    SMT32的HEX文件加入固件版本的方法
    的頭像 發(fā)表于 09-18 15:34 ?694次閱讀
    SMT32的<b class='flag-5'>HEX</b><b class='flag-5'>文件</b>里<b class='flag-5'>加入</b><b class='flag-5'>固件</b><b class='flag-5'>版本</b>的方法
    主站蜘蛛池模板: 久久99精品久久久久久秒播| 欧美黑人性受xxxx精品| 性欧美精品| 亚洲欧美在线播放| 辣h高h肉h激h超h| 色视频在线观看免费| 国模在线| 丰满放荡岳乱妇91www| 怡红院国产| 国产一级特黄a大片免费| 激情五月激情综合| 亚洲伊人久久大香线蕉影院| 美国色天使| 久久国产免费福利永久| 最好看的最新中文字幕2018免费视频| 女人张开腿 让男人桶个爽 免费观看 | 成人在线视频网| 亚洲 另类 在线 欧美 制服| 亚洲成在人色婷婷| 99视频在线永久免费观看| 欧美性猛交xxxx乱大交| 三级在线观看免播放网站| 中文字幕v视界影院| 一区二区三区在线观看视频| 日韩黄色免费| 欧美一级特黄aaaaaa在线看片| 高清一区二区| 国产片一区二区三区| 性xxxfreexxxx性欧美| 色爱区综合| 日日添天天做天天爱| 永久在线观看www免费视频| 二级黄绝大片中国免费视频| 开心丁香婷婷深爱五月| 欧美性久久| 粉嫩尤物在线456| 色天使美国| 乱人伦xxxx国语对白| 五月婷婷激情在线| 午夜激情福利视频| 一级毛片子|