国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Keil MDK下如何設(shè)置非零初始化變量 及變量指定位置- Arm CompilerV5 和 V6區(qū)別

這篇具有很好參考價(jià)值的文章主要介紹了Keil MDK下如何設(shè)置非零初始化變量 及變量指定位置- Arm CompilerV5 和 V6區(qū)別。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、Arm CompilerV5

1.定義變量時(shí),使用編譯器擴(kuò)展屬性__attribute__((section(“name”), zero_init))來將變量放入指定段中。其中section(“name”)選擇一個(gè)指定的段,zero_init告訴編譯器將變量放入ZI段。

uint32_t phy_link_init_flag __attribute__((section("NO_INIT"), zero_init));

在分散加載文件中,定義名為NO_INIT的段。注意該段所在的可執(zhí)行域要具有UNINIT屬性。

LR_IROM1 0x00000000 0x00080000  {    ; load region size_region 從0扇區(qū)開始
  ER_IROM1 0x00000000 0x00080000  {  ; load address = execution address 
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x10000000 0x0000F000  {  ; RW data
   .ANY (+RW +ZI)
  }
  
  RW_IRAM2 0x1000F000 UNINIT 0x00001000  {
   .ANY (NO_INIT)
  }
}

二、Arm CompilerV6

1.定義變量時(shí),使用編譯器擴(kuò)展屬性__attribute__((section(“name”)))來將變量放入指定段中。其中section(“name”)選擇一個(gè)指定的段。

uint32_t phy_link_init_flag __attribute__((section(".bss.NO_INIT")));

2.在分散加載文件中,定義名為.bss.NO_INIT的段,其中前綴.bss是必須的,并且只能為小寫。這個(gè)前綴表明該數(shù)據(jù)段具有ZI屬性。注意該段所在的可執(zhí)行域要具有UNINIT屬性

LR_IROM1 0x00000000 0x00080000  {    ; load region size_region 從0扇區(qū)開始
  ER_IROM1 0x00000000 0x00080000  {  ; load address = execution address 
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x10000000 0x0000F000  {  ; RW data
   .ANY (+RW +ZI)
  }
  
  RW_IRAM2 0x1000F000 UNINIT 0x00001000  {
   .ANY (.bss.NO_INIT)
  }
}

3. Arm? Compiler 6 如何將數(shù)據(jù)放入指定位置

Arm? Compiler 5 支持at(address)擴(kuò)展指令,但是在Arm? Compiler 6 中是不支持的,第3節(jié)給出了解決方案,使用__attribute__((section(“.ARM.__at_address”)))來代替at(address)擴(kuò)展指令,本節(jié)描述如何實(shí)施。

定義變量,使用編譯器擴(kuò)展屬性使用:

int my_peripheral __attribute__((section(".ARM.__at_0x10000000"))) = 0;

在分散加載文件中,定義名為.ARM.__at_0x10000000的段:

LR_1 0x040000          ; load region starts at 0x40000   
{                      ; start of execution region descriptions      
    ER_RO 0x040000     ; load address = execution address
    {
        *(+RO +RW)     ; all RO sections (must include section with initial entry point)
    }
}

LR_2 0x01000000
{
    ER_ZI +0 UNINIT
    {
        *(.bss)
    }
}
    
LR_3 0x10000000
{
    ER_PERIPHERAL 0x10000000 UNINIT
    {
        *(.ARM.__at_0x10000000)
    }
}

參考鏈接:添加鏈接描述文章來源地址http://www.zghlxwxcb.cn/news/detail-858383.html

到了這里,關(guān)于Keil MDK下如何設(shè)置非零初始化變量 及變量指定位置- Arm CompilerV5 和 V6區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • go語言包、變量、init初始化順序

    go語言包、變量、init初始化順序

    一個(gè)完整的 go 語言可運(yùn)行程序,通常會(huì)包含引用的包、變量、init 函數(shù)以及 main 函數(shù)幾個(gè)部分。 包、變量、常量、init 函數(shù)以及 main 函數(shù)初始化順序如下圖所示: 在一個(gè) go 語言程序中,初始化順序規(guī)則如下: 引入的包 當(dāng)前包中的變量、常量 當(dāng)前包的 init 函數(shù) main 函數(shù) 初始

    2023年04月14日
    瀏覽(27)
  • pthread 變量靜態(tài)初始化 避免使用被銷毀過的變量

    互斥鎖: pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER; 讀寫鎖: pthread_rwlock_t g_rwlock = PTHREAD_RWLOCK_INITIALIZER; 條件變量: pthread_cond_t g_cond = PTHREAD_COND_INITIALIZER; 以互斥鎖為例,當(dāng)持有互斥鎖的線程,需要進(jìn)行互斥鎖的銷毀工作時(shí),無法確保當(dāng)前沒有任何其他線程會(huì)在鎖銷毀之后,仍

    2024年02月06日
    瀏覽(28)
  • 【Golang入門教程】Go語言變量的初始化

    【Golang入門教程】Go語言變量的初始化

    強(qiáng)烈推薦 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能 推薦一個(gè)個(gè)人工作,日常中比較常用的人工智能工具,無需魔法,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能工具 引言 在Go語言中,變量

    2024年04月17日
    瀏覽(106)
  • 【JavaScript】JavaScript 變量 ① ( JavaScript 變量概念 | 變量聲明 | 變量類型 | 變量初始化 | ES6 簡介 )

    【JavaScript】JavaScript 變量 ① ( JavaScript 變量概念 | 變量聲明 | 變量類型 | 變量初始化 | ES6 簡介 )

    JavaScript 變量 是用于 存儲(chǔ)數(shù)據(jù) 的 容器 , 通過 變量名稱 , 可以 獲取 / 修改 變量 中的數(shù)據(jù) ; 變量 的 本質(zhì) 是 存放數(shù)據(jù) 的 一塊內(nèi)存空間 ; 在 JavaScript 中, 使用 var / let / const 來聲明變量 , 每個(gè)變量都有一個(gè) 變量名 和 一個(gè) 變量值 ; JavaScript 變量聲明 : var : 使用

    2024年03月15日
    瀏覽(32)
  • 1.PPT高效初始化設(shè)置

    1.PPT高效初始化設(shè)置

    軟件安裝:Office 2019 顏色可以在白天與黑夜切換,護(hù)眼 切換成了黑色 撤回次數(shù)太少,只有20次怎么辦 有時(shí)忘記保存就突然關(guān)閉,很需要一個(gè)自動(dòng)保存功能 圖片插入PPT中都會(huì)壓縮圖片質(zhì)量,如何保真? 自己的PPT里面的字體,放到別人電腦上演示時(shí)字體就丟失了,如何將字體和

    2024年02月07日
    瀏覽(17)
  • VScode:初始化恢復(fù)默認(rèn)設(shè)置

    VScode:初始化恢復(fù)默認(rèn)設(shè)置

    第一步:在VScode左下角點(diǎn)擊設(shè)置 第二步:點(diǎn)擊這個(gè)按鈕 第三步:將大括號(hào)里的內(nèi)容全部刪除,這些都是你當(dāng)前的用戶設(shè)置 第四步:清空后,VScode的設(shè)置就初始化了,你會(huì)發(fā)現(xiàn)我的背景變了,因?yàn)槲覍⒅黝}的設(shè)置也刪除了,所以就恢復(fù)默認(rèn)主題了【記得ctrl + S(保存)】

    2024年03月21日
    瀏覽(29)
  • 4.【CPP】入門(初始化列表||explicit||static||友元||靜態(tài)成員變量/函數(shù))

    4.【CPP】入門(初始化列表||explicit||static||友元||靜態(tài)成員變量/函數(shù))

    我們知道在c++11中才能在成員對(duì)象聲明時(shí)初始化,像下面這樣。 注意:構(gòu)造函數(shù)不是初始化,而是賦初始值。那么在c++11以前該怎么初始化成員變量呢? 每個(gè)成員變量在初始化列表中只能出現(xiàn)一次(初始化只能初始化一次) 類中包含以下成員,必須放在初始化列表位置進(jìn)行初始

    2024年01月20日
    瀏覽(28)
  • 掌握 C# 變量:在代碼中聲明、初始化和使用不同類型的綜合指南

    變量是用于存儲(chǔ)數(shù)據(jù)值的容器。 在 C# 中,有不同類型的變量(用不同的定義),例如: int - 存儲(chǔ)整數(shù)(沒有小數(shù)點(diǎn)的整數(shù)),如 123 或 -123 double - 存儲(chǔ)浮點(diǎn)數(shù),有小數(shù)點(diǎn),如 19.99 或 -19.99 char - 存儲(chǔ)單個(gè)字符,如 \\\'a\\\' 或 \\\'B\\\'。 Char 值用單引號(hào)括起來 string - 存儲(chǔ)文本,如

    2024年01月17日
    瀏覽(25)
  • 【C語言趣味教程】(4) 變量:代碼注釋 | 變量的聲明 | 初始化與賦值 | 作用域與生命周期 | 局部變量與全局變量

    【C語言趣味教程】(4) 變量:代碼注釋 | 變量的聲明 | 初始化與賦值 | 作用域與生命周期 | 局部變量與全局變量

    ? ?? 《C語言趣味教程》?? 猛戳訂閱?。?! 0x00 引入:注釋的作用 \\\"程序員最討厭兩種人:一種是不寫注釋的人,一種是讓我寫注釋的人。\\\" 相信大家對(duì)注釋早已有所耳聞,對(duì)于注釋,C 語言有兩種注釋風(fēng)格,我們下面會(huì)逐個(gè)講解。 ? 但在這之前,我們先來了解了解注釋的作

    2024年02月15日
    瀏覽(27)
  • Git設(shè)置初始化默認(rèn)分支為main

    github創(chuàng)建項(xiàng)目的默認(rèn)分支為main。本地創(chuàng)建的git分支默認(rèn)為master,每次在本地新建一個(gè)倉庫再關(guān)聯(lián)到remote,分支不統(tǒng)一。 git在2.28版本中提供了一個(gè)配置,指定在執(zhí)行 git init 的時(shí)候生成的默認(rèn)分支 本地git版本不夠的話先升級(jí); 如果使用homebrew安裝的git,直接升級(jí)即可 或者可以

    2024年02月13日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包