99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

jf_52bVvS8T ? 來源:EE時間 ? 2023-02-01 09:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹一個小技巧:

使用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__;


//------------------------------------------------------------------------------

寫入到程序中:

04c82988-a19b-11ed-bfe3-dac502259ad0.png

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

04f5363a-a19b-11ed-bfe3-dac502259ad0.png

HEX文件:

051e2928-a19b-11ed-bfe3-dac502259ad0.png

串口打印輸出:

053d42a4-a19b-11ed-bfe3-dac502259ad0.png

上述方法的缺點(diǎn)

上述操作可行, 但是有一個缺點(diǎn):就是生成的bin文件都是滿flash大小的, 造成每次燒錄都是整個flash讀寫。相關(guān)文章:詳解STM32在線IAP升級。

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

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

優(yōu)化方法

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

方法如下:

056e7144-a19b-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    2291

    文章

    11026

    瀏覽量

    363779
  • HEX文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

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

    關(guān)注

    1

    文章

    1659

    瀏覽量

    50087
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    211

    瀏覽量

    32619
  • HEX
    HEX
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    17112

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

文章出處:【微信號:EE時間,微信公眾號:EE時間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    新手小白,SMT32 TP Tool Windows無法安裝驅(qū)動怎么處理?

    新手小白,SMT32 TP Tool Windows無法安裝驅(qū)動怎么處理
    發(fā)表于 04-25 07:24

    SMT32 TP Tool Windows無法安裝驅(qū)動怎么處理?

    新手小白,SMT32 TP Tool Windows無法安裝驅(qū)動怎么處理
    發(fā)表于 06-06 06:52

    smt32做一個解魔方的機(jī)器人,需用到哪些知識

    求助:想用smt32做一個解魔方的機(jī)器人,需用到哪些知識,難度系數(shù)高嗎?
    發(fā)表于 04-08 16:55

    SMT32資料匯總

    SMT32固件說明!
    發(fā)表于 03-26 17:52

    DSP生成hex文件和生成bin文件方法步驟

    DSP生成hex文件、生成bin文件方法平臺:win7 + ccs5.5目標(biāo)板:C2000的28335ccs5.5編譯只能生成hex
    發(fā)表于 09-10 09:58

    基于SMT32的數(shù)碼管顯示程序

    1、四位數(shù)碼管的簡單介紹因?yàn)樵趯W(xué)校做項(xiàng)目的時候使用到了數(shù)碼管顯示,所以就編寫了一個基于SMT32的數(shù)碼管顯示程序。通過看手冊知道這個四位數(shù)碼管采用TM1637 驅(qū)動電路。內(nèi)部有集成MCU數(shù)字電路接口
    發(fā)表于 08-11 08:32

    怎樣去創(chuàng)建并使用SMT32定時器中斷的

    SMT32定時器的原理是什么?STM32CubeMX是如何創(chuàng)建定時器的?怎樣去創(chuàng)建并使用SMT32定時器中斷的?
    發(fā)表于 10-21 06:21

    SMT32定時器的輸入捕獲是什么意思?其工作流程是怎樣的

    SMT32定時器的輸入捕獲是什么意思?輸入捕獲的工作流程是怎樣的?SMT32定時器是如何去測量PWM頻率和占空比的?
    發(fā)表于 11-24 06:39

    怎樣去解決在RK2928燒錄固件里加入Demo文件的問題呢

    問題: 有 RK2928 客戶要求在燒錄固件里面加入測試歌曲,視頻等 Demo 文件。但是在固件工廠工具里沒有相關(guān)修改信息。參考辦法:在固件
    發(fā)表于 05-30 11:46

    bin文件轉(zhuǎn)換為hex文件操作步驟解析

    在做單片機(jī)開發(fā)時,用不同的下載工具,要求下載的固件格式也不一樣,有的要求是HEX文件,有的則要求是BIN文件,如果只有一個BIN文件如何將它
    發(fā)表于 11-14 09:04 ?8.1w次閱讀
    bin<b class='flag-5'>文件</b>轉(zhuǎn)換為<b class='flag-5'>hex</b><b class='flag-5'>文件</b>操作步驟解析

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

    本文介紹一個小技巧: 使用MDK編譯器,讓STM32程序HEX文件加入固件版本信息。 代碼 代碼如下
    的頭像 發(fā)表于 06-23 15:14 ?4351次閱讀
    如何使用MDK編譯器讓STM32程序<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>信息

    SMT32HEX文件里加入固件版本方法

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

    使用MDK編譯器,讓STM32程序HEX文件加入固件版本信息。
    的頭像 發(fā)表于 08-14 16:13 ?4671次閱讀

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

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

    SMT32HEX文件里加入固件版本方法

    SMT32HEX文件里加入固件版本方法
    的頭像 發(fā)表于 09-18 15:34 ?936次閱讀
    <b class='flag-5'>SMT32</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>