色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

Keil中變量不被初始化方法

撞上電子 ? 2024-08-30 11:47 ? 次閱讀

有些時候在我們的應用過程中要求變量有連續性,或者現場保留,例如 Bootloader 跳轉,某種原因的復位過程中我們有些關鍵變量不能被初始化,在不同的編譯環境下有不同的設置,本文就這個操作做總結,分別介紹使用 Keil,IAR 和 CubeIDE 的操作方法,本文中所用芯片為:STM32G431RBT6。Keil 中沒有這個關鍵字,而且會有版本的區別,下面分別介紹:

870eec1c-6682-11ef-89ff-92fbcf53809c.png

為了防止未初始化的變量被初始化為0,要將未初始化的變量放在一個特殊段內,這個段滿足是ZI數據段(.bss),它的執行域(region)具有UNINIT屬性。

1.Arm Compiler 5的操作

修改工程的linkerfile文件,*.sct文件

873a8fde-6682-11ef-89ff-92fbcf53809c.png

這邊將RAM劃分兩個區間,其中RW_IRAM2就是我們要的變量不初始化區域,屬性為UNINIT,定義一個region名字NO_INIT.

ER_IROM10x080000000x00020000{;loadaddress=executionaddress*.o(RESET,+First)*(InRoot$$Sections).ANY(+RO).ANY(+XO)} RW_IRAM10x200004000x00007C00{ ;RWdata .ANY(+RW+ZI) } RW_IRAM20x20000000UNINIT0x00000400 { .ANY(NO_INIT) }}

變量定義到這個 section,這邊 AC5 要用到 zero_init 這個修飾。

uint16_tTest_NoInit__attribute__((section("NO_INIT"),zero_init));//WorkforAC5


2. Arm Compiler 6 的操作

在 AC6 上面需要加入.bss 這個 ZI 定義,如下的 sct 文件修改:

RW_IRAM20x20000000UNINIT0x00000400{ .ANY (.bss.NO_INIT)}

變量定義到 section 部分,AC5 和 AC6 也是有區別的,不再支持 zero_init 這個修飾,如下定義:

uint16_tTest_NoInit__attribute__((section(".bss.NO_INIT")));//WorkforAC6


對于版本 AC5 和 AC6 具體區別可以參考 Keil 幫助文件中的描述:

8760cb2c-6682-11ef-89ff-92fbcf53809c.png

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

    關注

    69

    文章

    1223

    瀏覽量

    169015
  • 變量
    +關注

    關注

    0

    文章

    614

    瀏覽量

    28822
  • 初始化
    +關注

    關注

    0

    文章

    50

    瀏覽量

    12052
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    字符型、指針型等變量該如何初始化

    在敲代碼的時候,我們會給變量一個初始值,以防止因為編譯器的原因造成變量初始值的不確定性。對于數值類型的變量往往
    發表于 09-23 11:50 ?2383次閱讀

    C語言中未初始化的局部變量到底是多少

    C語言中,未初始化的局部變量到底是多少?
    發表于 10-21 14:42 ?2201次閱讀

    【原創分享】變量初始化技巧

    由于在嵌入式系統必須考慮程序規模的問題,因此,對程序變量初始化也需要進行慎重的考慮。在C語言中,基本數據結構(字符型、整型)的初始化
    發表于 09-08 15:28

    變量初始化的基本原則

    一、變量初始化變量初始化的基本原則為:可綜合代碼完成內部變量
    發表于 01-19 07:07

    如何設置STM32單片機非初始化數據變量不被初始化

    一些產品,當系統復位后(非上電復位),可能要求保持住復位前RAM的數據,用來快速恢復現場,或者不至于因瞬間復位而重啟現場設備。而keil mdk在默認情況下,任何形式的復位都會將RAM區的非初始化
    發表于 01-02 15:56 ?8713次閱讀
    如何設置STM32單片機非<b class='flag-5'>初始化</b>數據<b class='flag-5'>變量</b><b class='flag-5'>不被</b>零<b class='flag-5'>初始化</b>

    你知道C之變量初始化的重要性?

    C之變量初始化的重要性
    發表于 05-15 16:46 ?1148次閱讀
    你知道C之<b class='flag-5'>變量</b><b class='flag-5'>初始化</b>的重要性?

    在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決

    本文檔的主要內容詳細介紹的是在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決。
    發表于 08-20 17:31 ?0次下載
    在51平臺下<b class='flag-5'>初始化</b>文件的引入導致全局<b class='flag-5'>變量</b>無法<b class='flag-5'>初始化</b>的問題如何解決

    使用51單片機進行有關變量初始化問題資料講解

    如果定義一個變量,不對這個變量進行初始化,其變量默認初值為0。雖然大部分正確,但也是在一定條件下,即所有程序中所有變量占用的字節之和要小于1
    發表于 08-13 17:32 ?0次下載
    使用51單片機進行有關<b class='flag-5'>變量</b>及<b class='flag-5'>初始化</b>問題資料講解

    一種修飾符能使變量在處理器復位而不被初始化

    有一種修飾符能使變量在處理器復位而不被初始化
    的頭像 發表于 03-14 15:01 ?4353次閱讀
    一種修飾符能使<b class='flag-5'>變量</b>在處理器復位而<b class='flag-5'>不被</b><b class='flag-5'>初始化</b>

    VHDL和Verilog數組定義、初始化、賦值方法

    方法:實際應用里,通常需要在上電復位過程變量進行初始化,如果數組個數少時,直接賦初始值即可,但是數組個數多時,可以用循環實現賦值,通常的
    的頭像 發表于 09-23 14:20 ?1.3w次閱讀

    dart語言的變量聲明與初始化

    變量是每一們語言的基礎,在Dart中所有變量都是對象,并且都有一個初始化的值null。
    的頭像 發表于 12-08 16:47 ?1524次閱讀

    實戰經驗 | Keil、IAR、CubeIDE 變量不被初始化方法

    關鍵詞:不被初始化,編譯環境 目錄預覽 1、前言 2、IAR 實現變量初始化方法 3、Keil
    的頭像 發表于 11-24 18:05 ?5566次閱讀

    C語言編程時,各種類型的變量該如何初始化?

    C語言編程時,各種類型的變量該如何初始化? 在C語言中,每個變量都需要在使用之前進行初始化。初始化是為
    的頭像 發表于 12-07 13:53 ?1762次閱讀

    字符型、指針型等變量等該如何初始化

     對于數值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?
    的頭像 發表于 03-18 11:02 ?2025次閱讀

    EE-88:使用21xx編譯器在C初始化變量

    電子發燒友網站提供《EE-88:使用21xx編譯器在C初始化變量.pdf》資料免費下載
    發表于 01-13 15:54 ?0次下載
    EE-88:使用21xx編譯器在C<b class='flag-5'>中</b><b class='flag-5'>初始化</b><b class='flag-5'>變量</b>
    主站蜘蛛池模板: 国产GV天堂亚洲国产GV刚刚碰 | 久久精品国产久精国产果冻传媒 | 国产AV无码成人黄网站免费 | 交换年轻夫妇HD中文字幕 | 亚洲 欧美 中文 日韩 另类 | 免费鲁丝片一级在线观看 | 在线观看插女生免费版 | 男女亲吻摸下面吃奶视频 | 精品国产免费第一区二区 | 99久久久A片无码国产精 | 在线观看日本免费 | 国产在线高清亚洲精品一区 | 国产精品99久久久久久动态图 | 人妻少妇久久久久久97人妻 | 久久re这里视频只精品首页 | 小护士大pp | 免费无码一区二区三区蜜桃大 | 亚洲欧美色综合影院 | 乱VODAFONEWIFI熟妇 | 亚欧日韩毛片在线看免费网站 | 夜色福利院在线看 | 2021国产精品 | 神马电影院午 夜理论 | 久久青青草原 | 中文字幕一区二区三区在线不卡 | 俄罗斯人与动ZOOZ | 三级黄色在线视频中文 | 国产亚洲精品 在线视频 香蕉 | 中文字幕一区二区三区在线播放 | 一个人在线观看免费视频 | 亚洲中文字幕永久在线全国 | 538久久视频在线 | 久久热在线视频精品店 | 91精品一区二区三区在线观看 | 精品免费久久久久久影院 | 色裕插插插影视 | 国产麻豆AV伦| 美女露出撒尿的部位 | 日韩欧无码一区二区三区免费不卡 | 美妇教师双飞后菊 | 伊人久久丁香色婷婷啪啪 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品