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

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

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

3天內不再提示

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

STM32嵌入式開發 ? 來源:阿莫論壇 ? 作者:阿莫icode ? 2021-06-23 15:14 ? 次閱讀

本文介紹一個小技巧:

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

代碼

代碼如下:

//------------------------------------------------------------------------------#include 《absacc.h》

//------------------------------------------------------------------------------#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__;

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

寫入到程序中:

3e69fdb6-d3dd-11eb-9e57-12bb97331649.png

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

HEX文件:

3e83c7d2-d3dd-11eb-9e57-12bb97331649.png

串口打印輸出:

3e993680-d3dd-11eb-9e57-12bb97331649.png

上述方法的缺點

上述操作可行, 但是有一個缺點:就是生成的bin文件都是滿flash大小的, 造成每次燒錄都是整個flash讀寫。

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

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

優化方法

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

編輯:JQ

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

    關注

    10

    文章

    1668

    瀏覽量

    151050
  • STM32
    +關注

    關注

    2290

    文章

    11017

    瀏覽量

    362632
  • 編譯器
    +關注

    關注

    1

    文章

    1657

    瀏覽量

    49916
  • MDK
    MDK
    +關注

    關注

    4

    文章

    211

    瀏覽量

    32531

原文標題:在SMT32的HEX文件里加入固件版本信息

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    使用STM32CubeMX生成FreeRTOS的MDK工程,選擇AC6編譯器有很多錯誤,為什么?

    使用STM32CubeMX生成FreeRTOS的MDK工程,選擇AC5編譯器可以編譯成功,選擇AC6編譯器有很多錯誤,是
    發表于 03-11 06:32

    stm32cubeide編譯的時候報錯,無法生成hex文件怎么解決?

    stm32cubeide編譯的時候報錯,并且無法生成hex文件怎么辦急急急!
    發表于 03-07 08:17

    Triton編譯器與GPU編程的結合應用

    Triton編譯器簡介 Triton編譯器是一種針對并行計算優化的編譯器,它能夠自動將高級語言代碼轉換為針對特定硬件優化的低級代碼。Triton編譯器的核心優勢在于其能夠識別并行模式,
    的頭像 發表于 12-25 09:13 ?744次閱讀

    Triton編譯器如何提升編程效率

    在現代軟件開發中,編譯器扮演著至關重要的角色。它們不僅將高級語言代碼轉換為機器可執行的代碼,還通過各種優化技術提升程序的性能。Triton 編譯器作為一種先進的編譯器,通過多種方式提升
    的頭像 發表于 12-25 09:12 ?690次閱讀

    Triton編譯器在高性能計算中的應用

    先進的編譯技術,為高性能計算提供了強大的支持。 Triton編譯器簡介 Triton編譯器是一種開源的編譯器框架,旨在為異構計算環境提供高效的編譯
    的頭像 發表于 12-25 09:11 ?864次閱讀

    Triton編譯器的優化技巧

    在現代計算環境中,編譯器的性能對于軟件的運行效率至關重要。Triton 編譯器作為一個先進的編譯器框架,提供了一系列的優化技術,以確保生成的代碼既高效又適應不同的硬件架構。 1. 指令選擇
    的頭像 發表于 12-25 09:09 ?821次閱讀

    Triton編譯器在機器學習中的應用

    實現模型的優化和加速: 模型解析 :Triton編譯器首先解析輸入的模型文件,理解模型的結構和操作。 圖優化 :對模型圖進行優化,包括
    的頭像 發表于 12-24 18:13 ?892次閱讀

    Triton編譯器的常見問題解決方案

    Triton編譯器作為一款專注于深度學習的高性能GPU編程工具,在使用過程中可能會遇到一些常見問題。以下是一些常見問題的解決方案: 一、安裝與依賴問題 檢查Python版本 Triton編譯器通常
    的頭像 發表于 12-24 18:04 ?2627次閱讀

    Triton編譯器與其他編譯器的比較

    Triton編譯器與其他編譯器的比較主要體現在以下幾個方面: 一、定位與目標 Triton編譯器 : 定位:專注于深度學習中最核心、最耗時的張量運算的優化。 目標:提供一個高度抽象、靈活、高效
    的頭像 發表于 12-24 17:25 ?902次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個可擴展和可定制的編譯器框架,允許開發者添加新的編程語言特性和優化技術
    的頭像 發表于 12-24 17:23 ?1522次閱讀

    分享一個keil MDK編譯信息增強工具

    今天給大家分享一個 keil MDK 編譯信息增強工具:keil-build-viewer. 1 keil-build-viewer介紹 這是一個 keil 的編譯
    的頭像 發表于 11-14 11:01 ?1655次閱讀

    單片機hex文件編譯成C語言的過程

    使用C語言編寫,然后編譯成機器碼并燒錄到單片機的存儲中。 Hex文件是一種用于存儲單片機程序文件
    的頭像 發表于 09-02 10:49 ?5684次閱讀

    hex文件如何查看原c語言代碼

    是處理可以直接執行的指令,而 C 語言代碼則是人類可讀的高級編程語言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對程序
    的頭像 發表于 09-02 10:37 ?4510次閱讀

    AI編譯器技術剖析

    隨著人工智能技術的飛速發展,AI編譯器作為一種新興的編譯技術逐漸進入人們的視野。AI編譯器不僅具備傳統編譯器的功能,如將高級語言編寫的源代碼轉換為機器可執行的代碼,還融入了人工智能技術
    的頭像 發表于 07-17 18:28 ?2465次閱讀

    人工智能編譯器與傳統編譯器的區別

    人工智能編譯器(AI編譯器)與傳統編譯器在多個方面存在顯著的差異。這些差異主要體現在設計目標、功能特性、優化策略、適用范圍以及技術復雜性等方面。以下是對兩者區別的詳細探討,旨在全面解析其內在差異。
    的頭像 發表于 07-17 18:19 ?2775次閱讀
    主站蜘蛛池模板: 欧美第四色| 欧美高清另类 | 天天爽夜夜爽人人爽一区二区 | 美女被异性狂揉下部羞羞视频 | 四虎www.| 天天射天天干天天操 | 99精品视频在线播放2 | 四虎影视永久在线精品免费播放 | 99精品久久99久久久久久 | 日韩性xxx | 视频一区日韩 | 亚洲成在线 | 四虎4hu影库免费永久国产 | 一级片在线免费播放 | 免费黄色国产视频 | 欧美日韩在线一本卡 | 在线视频网址 | 日本污污视频 | 午夜男人视频 | 天天做天天爱夜夜大爽完整 | 日本黄黄| 亚洲v在线 | 男男gay污小黄文 | 免费看污黄视频软件 | 色网站免费| 色一乱一伦一区一直爽 | 日韩一级黄 | 生活片一级性 | 四虎8848精品永久在线观看 | 国产免费久久精品99久久 | 特黄特a级特别特级特毛片 特黄特色大片免费播放路01 | 女的扒开尿口让男人桶 | 成人免费一区二区三区 | 高清不卡一区二区三区 | 好紧好爽水真多18 | 丁香六月婷婷在线 | 天天操综合视频 | 日韩天天操 | 国产成人亚洲精品77 | 亚洲视频一区二区三区 | 一区二区3区免费视频 |