在线观看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
    +關注

    關注

    2282

    文章

    10980

    瀏覽量

    360792
  • HEX文件
    +關注

    關注

    0

    文章

    26

    瀏覽量

    13008
  • 編譯器
    +關注

    關注

    1

    文章

    1649

    瀏覽量

    49682
  • MDK
    MDK
    +關注

    關注

    4

    文章

    209

    瀏覽量

    32393
  • HEX
    HEX
    +關注

    關注

    0

    文章

    37

    瀏覽量

    16993

原文標題: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 ?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 ?4381次閱讀
    stm32之.<b class='flag-5'>hex</b> <b class='flag-5'>文件</b>

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

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

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

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

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

    SMT32HEX文件里加入固件版本方法
    的頭像 發表于 09-18 15:34 ?828次閱讀
    <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>
    主站蜘蛛池模板: 五月婷六月 | 黄色午夜 | 久久亚洲视频 | 日韩欧美亚洲一区 | 亚洲天堂视频在线播放 | 91精选视频在线观看 | 又长又大又粗又硬3p免费视 | 日本黄色免费在线观看 | 在线观看国产精美视频 | 美女扒开尿口给男人看大全 | 精品三级三级三级三级三级 | 免费国产成人午夜私人影视 | 不卡视频免费在线观看 | brazzersvideosex欧美最 | 久久97精品久久久久久久看片 | 色老头免费视频 | 国产三级在线看 | 亚洲三级电影在线播放 | 美女被免费网站在线视频九色 | 欧美日韩精品一区二区在线线 | 久操免费在线视频 | 狠狠躁夜夜躁人人躁婷婷视频 | 中文字幕日本一区波多野不卡 | 1区2区| 日日夜夜操操 | 视色4se视频在线观看 | 国产欧美一级片 | 欧美一级片网站 | 人人干人人搞 | 男人j进入女人j在线视频 | 啪啪午夜| 国产伦精一区二区三区 | 国产三级精品最新在线 | 日韩成a人片在线观看日本 日韩成人黄色 | 三级黄色免费网站 | 天天曰天天干天天操 | 亚洲午夜精品久久久久久人妖 | 黄色的视频免费看 | 免费高清特黄a 大片 | 亚洲欧洲国产精品你懂的 | 国产高清视频在线免费观看 |