www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]本文出自一本北京航空航天大學(xué)出版的書籍,僅供學(xué)習(xí)交流。關(guān)于#pragma指令的簡(jiǎn)要說(shuō)明#pragma聲明是基于單片機(jī)開發(fā)的特點(diǎn)而對(duì)標(biāo)準(zhǔn)C語(yǔ)法的一個(gè)擴(kuò)充,對(duì)充分利用MCU內(nèi)各類有限的資源起到不可或缺的關(guān)

本文出自一本北京航空航天大學(xué)出版的書籍,僅供學(xué)習(xí)交流。


關(guān)于#pragma指令的簡(jiǎn)要說(shuō)明

#pragma聲明是基于單片機(jī)開發(fā)的特點(diǎn)而對(duì)標(biāo)準(zhǔn)C語(yǔ)法的一個(gè)擴(kuò)充,對(duì)充分利用MCU內(nèi)各類有限的資源起到不可或缺的關(guān)鍵作用。下面介紹幾個(gè)最常用的#pragma聲明。

(1)#pragma DATA_SEG

定義變量所處的數(shù)據(jù)段。其語(yǔ)法形式為:

#pragma ?DATA_SEG 名稱 ?

數(shù)據(jù)段名稱可以自己任意命名,但習(xí)慣上有些約定的名稱,其作用分別為:

DEFAULT—默認(rèn)的數(shù)據(jù)段,在12系列的單片機(jī)的地址為0x100以上。一般的變量定義可以放在這一區(qū)域。

MY_ZEROPAGE—特指第0頁(yè)數(shù)據(jù)段,地址范圍0x00~0xFF,但實(shí)際用戶可用的空間不到256字節(jié),因?yàn)榍懊娴囊恍┑刂房臻g已經(jīng)分配給了片內(nèi)寄存器。需要頻繁或快速存取的變量應(yīng)該指定放在這一特殊區(qū)域,特別是位變量。

數(shù)據(jù)段名稱必須和prm文件中的數(shù)據(jù)段配置說(shuō)明相關(guān)連才能真正發(fā)揮其定位作用。如果自己命名的數(shù)據(jù)段在prm文件中沒有特別說(shuō)明,那此數(shù)據(jù)段的性質(zhì)等同于DEFAULT,否則可以使用自己在prm文件中定義的名稱。

(2)#pragma ?CONST_SEG

定義一個(gè)常數(shù)數(shù)據(jù)段,必須和變量的conet修飾關(guān)鍵詞配合使用。其語(yǔ)法形式為:

#pragma ?CONST_SEG ?名稱

該數(shù)據(jù)段下定義的所有數(shù)據(jù)將被放置在程序只讀的ROM區(qū)。也就是MCU內(nèi)的Flash程序空間區(qū)。常數(shù)段名稱可以用戶自由定義,但一般用DEFAULT,讓鏈接器按可用的ROM區(qū)域自由分配常數(shù)位置。舉例如下:

//這個(gè)const將會(huì)被放置在flash區(qū)中

#pragma ?CONST_SEG ?DEFAULT

const byte prjName = “This is a demo”;

const word version = 0x0301; //這個(gè)const將會(huì)被放置在flash區(qū)中

?

//沒有const該常量將會(huì)被放置在RAM區(qū)中

#pragma ?CONST_SEG ?DEFAULT

word version = 0x0301;//沒有const該常量將會(huì)被放置在RAM區(qū)中

//盡管有const但該常量將會(huì)被放置在RAM區(qū)中

#pragma ?DATA_SEG ?DEFAULT

const word version = 0x0301;//盡管有const但該常量將會(huì)被放置在RAM區(qū)中

在嵌入式系統(tǒng)中,程序與變量分別放在不同的物理介質(zhì)中(程序在Flash中,變量在RAM中),常數(shù)最好也被設(shè)置在Flash中

(3)#pragma CODE_SEG

用以定義程序段并賦以特定的段名,語(yǔ)法形式如下:

#pragma ?CODE_SEG ?名稱

一般的程序設(shè)計(jì)是無(wú)需對(duì)代碼段做特殊處理的。對(duì)于項(xiàng)目中所有的代碼文件或庫(kù)文件,鏈接器會(huì)在最后按程序模塊出現(xiàn)的先后順序挨個(gè)自動(dòng)安排所有程序函數(shù)在內(nèi)存中所處的實(shí)際位置,用戶不必太關(guān)心某一個(gè)函數(shù)的具體位置。但某些特殊設(shè)計(jì)需要將不同部分的程序分別定位在不同的地址空間,例如實(shí)現(xiàn)程序代碼下載自動(dòng)更新。這樣的設(shè)計(jì)需要把負(fù)責(zé)應(yīng)用程序下載更新的驅(qū)動(dòng)代碼固定在一個(gè)保留區(qū)域內(nèi),而把一般的程序放置在另外一個(gè)區(qū)域以便在需要時(shí)整體擦除后更新。這時(shí)就需要用CODE_SEG來(lái)分別指明不同的程序段,還必須配合并利用prm文件對(duì)程序空間進(jìn)行分配和指派。

(4)#pragma ?TRAP_SEG

用于定義一個(gè)函數(shù)為中斷服務(wù)類型。此類型的函數(shù)編譯器 在將C代碼編譯成匯編指令時(shí) 會(huì)在代碼前后增加必須的現(xiàn)場(chǎng)保護(hù)和恢復(fù)匯編代碼,同時(shí)函數(shù)的最后返回用匯編指令RTI而不是針對(duì)普通函數(shù)的RTS。例如:

#pragma TRAP_PROC

?void SCI1_Int (void)

{

?//定義SCI1的中斷服務(wù)程序

}

注意用TRAP_PROC定義的中斷服務(wù)函數(shù)的實(shí)際中斷矢量地址必須通過(guò)prm文件指派。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉