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

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

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

3天內不再提示

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

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

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

HEX文件:

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

串口打印輸出:

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

上述方法的缺點

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

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

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

優化方法

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

方法如下:

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

審核編輯:湯梓紅

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

    關注

    2270

    文章

    10914

    瀏覽量

    356712
  • HEX文件
    +關注

    關注

    0

    文章

    26

    瀏覽量

    12796
  • 編譯器
    +關注

    關注

    1

    文章

    1637

    瀏覽量

    49191
  • MDK
    MDK
    +關注

    關注

    4

    文章

    209

    瀏覽量

    32103
  • HEX
    HEX
    +關注

    關注

    0

    文章

    37

    瀏覽量

    16843

原文標題:SMT32的HEX文件里加入固件版本的方法

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

收藏 人收藏

    評論

    相關推薦

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

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

    SMT32資料匯總

    SMT32固件說明!
    發表于 03-26 17:52

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

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

    基于SMT32的數碼管顯示程序

    1、四位數碼管的簡單介紹因為在學校做項目的時候使用到了數碼管顯示,所以就編寫了一個基于SMT32的數碼管顯示程序。通過看手冊知道這個四位數碼管采用TM1637 驅動電路。內部有集成MCU數字電路接口
    發表于 08-11 08:32

    怎樣去創建并使用SMT32定時器中斷的

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

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

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

    如何實現sm2算法在smt32單片機上的移植

    終于搞定了sm2算法在smt32單片機上的移植。之前的動態內存分配,在上面總是莫名其妙的崩。不知道堆和棧空間該改多大合適。且總共64K的內存,太受限了。幾次想放棄,最后還是堅持了一下,終于搞定啦!看
    發表于 11-26 07:01

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

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

    bin文件轉換為hex文件操作步驟解析

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

    stm32之.hex 文件

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

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

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

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

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

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

    SMT32HEX文件里加入固件版本方法
    的頭像 發表于 09-18 15:34 ?714次閱讀
    <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>
    主站蜘蛛池模板: 欧美视频亚洲色图| 四虎最新影院| 6080yy午夜不卡一二三区| 国产精品夜色7777青苹果| 国产人成午夜免费噼啪视频| 中文字幕视频二区| 男女视频在线播放| 伊人久久大香线蕉综合bd高清| 五月婷婷色视频| 人人做人人插| 黄色免费在线视频| 91伊人久久大香线蕉| 四虎comwww最新地址| 久久天天躁狠狠躁夜夜躁| 中国性猛交xxxx乱大交| 视频二区在线观看| 亚洲网在线| 欧美一级在线观看| 国产精品国产三级国快看| 亚洲成人午夜影院| 久久天天躁狠狠躁夜夜爽蜜月| 色成人免费网站| 黄色插插插| 日韩一级片在线| 国产女乱淫真高清免费视频 | h在线观看免费| 国产精品久久久久久久久齐齐| 网全大全黄| 美女张开腿让男人桶爽| 在线免费色视频| 国产欧美日韩视频免费61794| 123456成年免费视频| 亚洲国产香蕉视频欧美| 你懂的国产精品| 夜间免费小视频| yy4080午夜理论一级毛片| 日本一区不卡在线观看| 色婷婷久久久swag精品| 国产色吧| 国产精品夜夜春夜夜| 美女扒开尿口给男的桶个爽|