嵌入式系統(tǒng)編程+嵌入式OS考前復(fù)習(xí)資料_第1頁
嵌入式系統(tǒng)編程+嵌入式OS考前復(fù)習(xí)資料_第2頁
嵌入式系統(tǒng)編程+嵌入式OS考前復(fù)習(xí)資料_第3頁
嵌入式系統(tǒng)編程+嵌入式OS考前復(fù)習(xí)資料_第4頁
嵌入式系統(tǒng)編程+嵌入式OS考前復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

嵌入式系統(tǒng)編程復(fù)習(xí)重點(diǎn)試卷題型:填空(20X1分)判斷(10X1分)名詞解釋(3X3分)程序填空(14X2)簡答(3X5分)程序設(shè)計(jì)(2X9分)名詞解釋:前后臺系統(tǒng)前后臺系統(tǒng)又叫超循環(huán)系統(tǒng),是不復(fù)雜系統(tǒng)常采用的設(shè)計(jì)方案。該系統(tǒng)由應(yīng)用程序和中斷服務(wù)程序組成。應(yīng)用程序是一個(gè)無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作。中斷服務(wù)程序處理異步事件,時(shí)間相關(guān)性很強(qiáng)的關(guān)鍵操作靠中斷服務(wù)來保證。應(yīng)用程序稱為后臺,中斷服務(wù)程序稱為前臺,故有前后臺系統(tǒng)之稱。時(shí)鐘節(jié)拍時(shí)鐘節(jié)拍是特定的周期性中斷。這個(gè)中斷可以看作是系統(tǒng)心臟的脈動(dòng)。中斷之間的時(shí)間間隔取決于不同的應(yīng)用,一般在10mS到200mS之間。時(shí)鐘的節(jié)拍式中斷使得內(nèi)核可以將任務(wù)延時(shí)若干個(gè)整數(shù)時(shí)鐘節(jié)拍,以及當(dāng)任務(wù)等待事件發(fā)生時(shí),提供等待超時(shí)的依據(jù)。時(shí)鐘節(jié)拍率越快,系統(tǒng)的額外開銷就越大。異步串行通信的波特率異步串行通信的波特率是指數(shù)據(jù)信號傳送速率,即單位時(shí)間內(nèi)傳輸?shù)亩M(jìn)制數(shù)的位數(shù)。它的單位是bit/s或bps任務(wù)調(diào)度任務(wù)調(diào)度是內(nèi)核的主要職責(zé)之一,就是通過某種規(guī)則確定該哪個(gè)任務(wù)運(yùn)行了。ADC量化將連續(xù)模擬信號轉(zhuǎn)換為一串?dāng)?shù)字代碼的過程稱之為量化。程序填空題:時(shí)間戳(出題方向:將給定的時(shí)間轉(zhuǎn)換成時(shí)間戳或?qū)r(shí)間戳轉(zhuǎn)換成確切時(shí)間,時(shí)間戳格式題目中會(huì)給出)一個(gè)時(shí)間戳(數(shù)據(jù)類型為TS)將一個(gè)日期和時(shí)間包裝為一個(gè)32位的變量。在某些事件發(fā)生時(shí)可使用時(shí)間戳。不要在應(yīng)用程序中直接操作時(shí)間戳,應(yīng)使用本模塊提供的函數(shù)或?qū)⒑瘮?shù)添加到本模塊中。主要是為了增強(qiáng)代碼的復(fù)用性。時(shí)間戳的格式如下所示:B25--B22 B16 B12 B5 B0B31 B26 B21 B17 B11 B6年(6位)月(4位)日(5位) 時(shí)(5位)分(6位) 秒(6位)>—0.59——0?59——0..23——L31I——1.J20..63(實(shí)際的年份-CLK_TS_EASE_YKAR)將時(shí)間戳轉(zhuǎn)換為ASCII字符串的格式。將時(shí)間戳轉(zhuǎn)換為ASCII字符串的格式。voidClkFormatTS(INT8Un,TSts,char*s){INT16Uyr;INT8Umonth;INT8Uday;INT8Uhr;INT8Umin;INT8Usec;yr=CLK_TS_BASE_YEAR+(ts>>26);month=(ts>>22)&0x0F;day=(ts>>17)&0x1F;hr=(ts>>12)&0x1F;min=(ts>>6)&0x3F;sec=(ts&0x3F);}將日期和時(shí)間轉(zhuǎn)化為時(shí)間戳的格式TSClkMakeTS(INT8Umonth,INT8Uday,INT16UyrINT8Uhr,INT8Umin,INT8Usec){TSts;yr-=CLK_TS_BASE_YEAR;ts=((INT32U)yr<<26)|((INT32U)month<<22)|((INT32U)day<<17);ts|=((INT32U)hr<<12)|((INT32U)min<<6)|(INT32U)sec;return(ts);}異步串行通信發(fā)送緩沖區(qū)和接收緩沖區(qū)圖(PPT構(gòu)件/第9章異步串行通信/20-31頁)下圖列出了使用環(huán)狀緩沖區(qū)的輸入緩沖。在接收字節(jié)時(shí),ISR從串行端口讀入字節(jié)(①),將其放入環(huán)狀緩沖區(qū)(②);應(yīng)用程序(后臺)監(jiān)測環(huán)狀緩沖區(qū)是否收到了字節(jié)(③)。如果環(huán)狀緩沖區(qū)不是空的,就從環(huán)狀緩沖區(qū)中取出最“舊”的字節(jié)(最早收到的)。環(huán)形

緩沖區(qū)環(huán)形

緩沖區(qū)中斷將會(huì)停止。如果應(yīng)用程序不及時(shí)取出環(huán)狀緩沖區(qū)中當(dāng)應(yīng)用程序從ISR或接口函數(shù)以獨(dú)占方式訪問環(huán)狀緩沖區(qū)時(shí),中斷將會(huì)停止。如果應(yīng)用程序不及時(shí)取出環(huán)狀緩沖區(qū)中的字節(jié),環(huán)狀緩沖區(qū)將會(huì)被填滿而導(dǎo)致接收字節(jié)丟失。處理輸人數(shù)據(jù)的速度就與ISR處理輸人數(shù)據(jù)的速度就與ISR只接收數(shù)據(jù)(不處理)的速度差不多一樣快。為此,環(huán)狀緩沖區(qū)的管理中加入了一個(gè)信號量,見下圖。應(yīng)用程序在信號量處等待①);收到一個(gè)字節(jié)后,ISR從串行端口讀人字節(jié)(②),將其存入環(huán)狀緩沖區(qū)(③)。然后ISR通知信號量,等待任務(wù)已收到一個(gè)字節(jié)(④)。信號發(fā)送給信號量,等待任務(wù)就準(zhǔn)備運(yùn)行。ISR完成后,內(nèi)核決定等待任務(wù)是否成為占有CPU的最優(yōu)先任務(wù)。如果是的話,并且內(nèi)核為占先內(nèi)核,則ISR恢復(fù)等待字節(jié)的任務(wù)。應(yīng)用程序從環(huán)狀緩沖區(qū)中取出字節(jié),執(zhí)行所要求的進(jìn)程。注意:RxSem被初始化為注意:RxSem被初始化為0環(huán)狀

緩沖區(qū)傳輸字節(jié)有時(shí)類似于接收字節(jié)。后臺進(jìn)程將字節(jié)存儲于輸出緩沖區(qū)中。當(dāng)UART的發(fā)送端準(zhǔn)備發(fā)送字節(jié)時(shí),產(chǎn)生一個(gè)中斷,字節(jié)從緩沖區(qū)中取出,并由ISR輸出。在串行端口傳輸大量數(shù)據(jù)時(shí),數(shù)據(jù)的緩沖有著重要意義,如對于磁盤文件的內(nèi)容。下圖列出了使用環(huán)狀緩沖區(qū)的輸出緩沖。發(fā)送一個(gè)或多個(gè)字節(jié)時(shí),字節(jié)置于環(huán)狀緩沖兇①)。在字節(jié)送人緩沖區(qū)后傳輸中斷開始啟動(dòng)(②)。當(dāng)UART發(fā)送字節(jié)準(zhǔn)備就緒后,產(chǎn)生中斷,ISR將最舊的字節(jié)(最遠(yuǎn)期的)從環(huán)狀緩沖區(qū)取出(③)。字節(jié)向串行端口輸出(④)。如果環(huán)狀緩沖區(qū)已清空,則禁止傳輸中斷。下圖展示了怎樣利用實(shí)時(shí)內(nèi)核的機(jī)制。當(dāng)緩沖區(qū)已滿時(shí),信號量作為交通信號燈暫停發(fā)送任務(wù)。為發(fā)送數(shù)據(jù),任務(wù)等待信號量(①)。如果環(huán)狀緩沖區(qū)未滿,則任務(wù)繼續(xù)向環(huán)狀緩沖區(qū)存儲數(shù)揪②)。如果存儲的字節(jié)是環(huán)狀緩沖區(qū)的第一個(gè)字節(jié),則傳輸中斷開始啟動(dòng)(③)。傳輸中斷ISR從環(huán)狀緩沖區(qū)中取出最舊的字節(jié)(④),同時(shí)通知信號量(⑤),表明環(huán)狀緩沖區(qū)有空間接收另外的字符。接著ISR將字節(jié)輸出給UART。

TxSem需要作為一個(gè)計(jì)數(shù)信號量,信號量需要初始化為環(huán)狀緩沖區(qū)的大小。緩沖區(qū)注意:TxSem初始化為Tx環(huán)形緩沖區(qū)的大小TxSemTxSem需要作為一個(gè)計(jì)數(shù)信號量,信號量需要初始化為環(huán)狀緩沖區(qū)的大小。緩沖區(qū)3.鍵盤狀態(tài)機(jī)(PPT構(gòu)件/第三章鍵盤/17頁)用來掃描鍵盤及實(shí)現(xiàn)以前描述過的所有特征最簡單的方法就是建立一個(gè)簡單的狀態(tài)機(jī),如下圖所示。該狀態(tài)機(jī)在每次去除回彈周期內(nèi)就執(zhí)行一次。鍵按下:鍵按下計(jì)時(shí)器清零鍵沒有按卜健仍然按卜-且超過未|可彈時(shí)間:找出按下哪一個(gè)健,將健代碼放入緩沖區(qū),V鍵按下:鍵按下計(jì)時(shí)器清零鍵沒有按卜健仍然按卜-且超過未|可彈時(shí)間:找出按下哪一個(gè)健,將健代碼放入緩沖區(qū),V鍵按下計(jì)時(shí)器加1-~~健仍然按卜-且延時(shí)到未超過自自動(dòng)重復(fù)/勸重矍,健按卜計(jì)時(shí)器加1等待下一

次重復(fù)健仍然按下IL延退到超過白動(dòng)重復(fù):找出哪個(gè)他被按下并將鍵代碼放入緩沖區(qū).也按下計(jì)時(shí)器加1等待下一

次重復(fù)鍵按下:如果(是重復(fù)之間的延退的結(jié)尾),找出嗤個(gè)鍵被按卜-并將鍵代碼放入緩沖X,健按下計(jì)時(shí)器加I4.模擬輸入/輸出中ADC讀取方法3(PPT26頁)和讀取方法1(PPT構(gòu)件/第十二章模擬輸入/輸出/17-1924-26)下圖'中假設(shè)ADC轉(zhuǎn)換時(shí)間較慢(大于5ms)。在這里驅(qū)動(dòng)程序(函數(shù))讀取一個(gè)模擬輸入信道,并將轉(zhuǎn)換結(jié)果返回到應(yīng)用程序。應(yīng)用程序調(diào)用下圖所示的驅(qū)動(dòng)程序,并傳遞給所希望的信道來讀。驅(qū)動(dòng)程序選擇(通過多路復(fù)用器)所想要的模擬信道(①)開始讀。開始轉(zhuǎn)換前,或許需等待幾微秒以便使信號通過多路復(fù)用器傳播并使之穩(wěn)定下來。如果不等多路復(fù)用

器的輸出穩(wěn)定下來,則讀取的數(shù)也可能不穩(wěn)定。下一步,ADC被觸發(fā)以開始轉(zhuǎn)換(②)。然后驅(qū)動(dòng)程序延遲一段時(shí)間以完成轉(zhuǎn)換(③)。請注意,延遲時(shí)間必須比ADC轉(zhuǎn)換時(shí)間更長。延遲之后,驅(qū)動(dòng)程序假設(shè)轉(zhuǎn)換已完成并讀取ADC(④)。然后將二進(jìn)制結(jié)果返回到應(yīng)用程序(⑤)。偽代碼如下:ReadAnalogInputChannel(Channel#){Selectthedesiredanaloginputchannel;WaitforMUXoutputtostabilize;StartADCconversion;Delay'x'mStoallowforconversiontocomplete;ReadADCandreturnresulttothecaller;}這種方法簡單,可用于變化慢的模擬信號。例如,可以用這種方法測量室溫(變化不很快)。①模擬

專俞入MUXADC模擬

專俞入MUXADC模擬輸入的二進(jìn)制值返回到應(yīng)用程序模擬輸入的二進(jìn)制值返回到應(yīng)用程序驅(qū)動(dòng)程序選擇要讀的模擬輸入觸發(fā)ADC進(jìn)行轉(zhuǎn)換驅(qū)動(dòng)程序延時(shí)超過轉(zhuǎn)換時(shí)間如果ADC的轉(zhuǎn)換時(shí)間小于處理中斷和等待信號量所需要的時(shí)間,則可用第三種方法。例如,根據(jù)微處理器的不同,轉(zhuǎn)換時(shí)間小于25us的ADC不能提供需用時(shí)超過50us的中斷信號和信號量的開銷。換句話說,處理中斷的時(shí)間和發(fā)信號并等待信號量的執(zhí)行時(shí)間要超過25us。大多數(shù)8位和一些16位微處理器都是這樣。應(yīng)用程序調(diào)用如下圖所示的驅(qū)動(dòng)程序,并傳遞給所希望的模擬輸入信道進(jìn)行讀。驅(qū)動(dòng)器選擇(通過多路復(fù)用器)這個(gè)信道開始讀(①)。同樣,在開始轉(zhuǎn)換前,你可能要等待幾微秒,以便使信號通過多路復(fù)用器傳播并使之穩(wěn)定下來。然后ADC檢觸發(fā)以便開始進(jìn)行轉(zhuǎn)換(②)。驅(qū)動(dòng)程序接著在一個(gè)軟件循環(huán)中等待(③)ADC直到完成轉(zhuǎn)換。在循環(huán)等待時(shí),驅(qū)動(dòng)程序監(jiān)視ADC的狀態(tài)(EOC)或者BUSY信號。如果硬件有缺陷,則需要保證有一種辦法能阻止無限循環(huán)。通過使用一個(gè)逐次遞減的軟件計(jì)數(shù)器來避免無限循環(huán)(請看本節(jié)后面的偽代碼)。計(jì)數(shù)器的初值由逐次迭代的執(zhí)行時(shí)間來決定。例如,如果你有一個(gè)ADC,它完成一次轉(zhuǎn)換需時(shí)50us,并且每次輪流檢測循環(huán)的迭代需用時(shí)5us,則你需要調(diào)用一個(gè)最小值為10的計(jì)數(shù)器。你要用這個(gè)循環(huán)計(jì)數(shù)器來顯示硬件故障,但不會(huì)在ADC正在轉(zhuǎn)換時(shí)顯示。根據(jù)經(jīng)驗(yàn),當(dāng)循環(huán)檢測時(shí)間超過ADC轉(zhuǎn)換時(shí)間大約25?50%時(shí),就應(yīng)該調(diào)用循環(huán)計(jì)數(shù)器,以便產(chǎn)生一個(gè)超時(shí)?;蛘哒f,在例子中你要調(diào)用一個(gè)值為13?15的計(jì)數(shù)器。最后,當(dāng)ADC發(fā)出轉(zhuǎn)換結(jié)束的信號時(shí),驅(qū)動(dòng)程序讀取ADC(④)并返回二進(jìn)制結(jié)果到應(yīng)用程序(⑤)。

模擬£俞入①模擬£俞入①③驅(qū)動(dòng)程序等待ADC完成轉(zhuǎn)換(用超時(shí))驅(qū)動(dòng)程序讀ADC模擬輸入的二進(jìn)制值返回到應(yīng)用程序簡答:矩陣鍵盤的行列掃描算法答:①所有的行(輸出端口)被強(qiáng)行設(shè)置為低電平;②掃描每一列,若全為高電平,則沒有鍵按下;否則,找到為低電平的列;③鎖定該低電平的列,行逐次送低電平0;④若鎖定的列為低電平,則按下的鍵必在此行。負(fù)載較重的系統(tǒng)解決日歷時(shí)鐘不準(zhǔn)確的方法答:有兩種方式解決這個(gè)間題,第一種也是最簡單的一種是使時(shí)鐘模塊任務(wù)成為更高優(yōu)先級的任務(wù),這意味著在執(zhí)行時(shí)鐘任務(wù)時(shí),低優(yōu)先級的任務(wù)將不會(huì)得到服務(wù)。一般來說,應(yīng)將最高優(yōu)先級設(shè)置給最重要的任務(wù)面不是時(shí)鐘任務(wù),因?yàn)闀r(shí)鐘任務(wù)需要大量的處理時(shí)間。解決該問題的第二種方法需要使用計(jì)數(shù)信號,信號會(huì)“記住”時(shí)鐘脈沖數(shù),因此在處理器的負(fù)載減少時(shí),時(shí)鐘任務(wù)最終會(huì)追上來。每個(gè)時(shí)鐘脈沖或一整秒過去后,時(shí)鐘脈沖ISR給計(jì)數(shù)信號發(fā)送一個(gè)信號。定時(shí)器/計(jì)數(shù)器核心數(shù)據(jù)結(jié)構(gòu)(PPT4頁)typedefstructtmr(BOOLEANTmrEn; //TmrEn用于啟動(dòng)或禁止倒計(jì)數(shù)過程INT16U TmrCtr; 〃計(jì)數(shù)器INT16U TmrInit; 〃計(jì)數(shù)器初值void (*TmrFnct)(void*); 〃指向用戶定義的函數(shù)的指針void *TmrFnctArg; 〃傳遞給被調(diào)用函數(shù)的參數(shù)指針}TMR;4.uCOS-II任務(wù)狀態(tài)圖轉(zhuǎn)換

OSQPendOOSTaskDelOOSQPosL()OSQPostFront()OSSemPost()OSTaskResumeOOSTimeD1yResume()OSTitneTickOOSSemPendOOSTaskSuspendOOSTiuieDlyOOSQPendOOSTaskDelOOSQPosL()OSQPostFront()OSSemPost()OSTaskResumeOOSTimeD1yResume()OSTitneTickOOSSemPendOOSTaskSuspendOOSTiuieDlyOOSTimcDlyHMSMOOSTaskCreate()5.事件控制塊、任務(wù)控制塊(PPTucos-II/第1章嵌入式實(shí)時(shí)操作系統(tǒng)uCOS-II的基本原理概述/27頁ucos-D/第6章uCOS-II任務(wù)之間的通信與同步/7頁)服程斷子序1務(wù)任務(wù)控制塊結(jié)構(gòu)的主要成員OS_STK*Q^IGBStKEtr 〃指向任務(wù)堆棧棧頂?shù)闹羔榐trwot 〃指向后一個(gè)任務(wù)控制塊的指針strwot 〃指向目〔一■個(gè)任務(wù)控制塊的指針I(yè)NT16UINT8UINT8U//任務(wù)等待的時(shí)限(節(jié)拍數(shù))〃任務(wù)的當(dāng)前狀態(tài)標(biāo)志INT16UINT8UINT8U//任務(wù)等待的時(shí)限(節(jié)拍數(shù))〃任務(wù)的當(dāng)前狀態(tài)標(biāo)志//任務(wù)豹優(yōu)先級別)OS_TCB;程序清單L6.1ECB數(shù)據(jù)結(jié)構(gòu)void/*指向消息或者消息隊(duì)列的指針*/INT8U;E等待任務(wù)列表時(shí)INT16U/*計(jì)數(shù)器(當(dāng)事件是信號量時(shí))*/INTSU/*事件類型*/INT8U}0S_EVENT;QSEywtJto;/*等待任務(wù)所在的組*/程序設(shè)計(jì)題:uCOS-II中斷服務(wù)程序設(shè)計(jì)(重點(diǎn):中斷服務(wù)流程)(PPTucos-II/第3章uCOS-II內(nèi)核結(jié)構(gòu)/71頁)以C/OS-II中的中斷服務(wù)子程(用戶中斷服務(wù)子程序)序流程:保存全部CPU寄存器;調(diào)用OSIntEnter或OSIntNesting直接加1;執(zhí)行用戶代碼做中斷服務(wù);調(diào)用OSIntExit();恢復(fù)所有CPU寄存器;執(zhí)行中斷返回指令;用戶級任務(wù)切換函數(shù)OSCtxSw()(PPTucos-II/第3章uCOS-II內(nèi)核結(jié)構(gòu)/45-51)就續(xù)表相關(guān)操作(就續(xù)表PPTucos-II/第3章uCOS-II內(nèi)核結(jié)構(gòu)/16-37頁)在程序中,可以用類似下面的代碼把優(yōu)先級別為prio的任務(wù)置為就緒狀態(tài):OSRdyGrp|=OSMapTbl[prio>>3];OSRdyTbl[prio>>3]|=OSMapTbl[prio&0x07];如果要使一個(gè)優(yōu)先級別為prio的任務(wù)脫離就緒狀態(tài)則可使用如下類似代碼:if((OSRdyTbl[prio>>3]&=?OSMapTbl[prio&0x07])==0)OSRdyGrp&=?OSMapTbl[prio>>3];從任務(wù)就緒表中獲取優(yōu)先級別最高的就緒任務(wù)可用如下類似的代碼:y=OSUnMapTal[OSRdyGrp]; //D5、D4、D3位x=OSUnMapTal[OSRdyTbl[y]];//D2、D1、D0位prio=(y<<3)+x; 〃優(yōu)先級別或y=OSUnMapTbl[OSRdyGrp];prio=(INT8U)((y<<3)+OSUnMapTbl[OSRdyTbl[y]]);嵌入式操作系統(tǒng)復(fù)習(xí)重點(diǎn)題型:填空20X1分 選擇題15X1分判斷5X2分簡答4X4分 名詞解釋3X4分 程序設(shè)計(jì)2X6分名詞解釋:JTAGJTAG既是聯(lián)合測試行為組織的英文簡稱,也是一種編程方式是在線編程的國際標(biāo)準(zhǔn)測試協(xié)議, JTAG還是一種所謂的邊界掃描技術(shù),在嵌入式系統(tǒng)設(shè)計(jì)中,一些高檔的微處理器都帶有 JTAG接口,方便多目標(biāo)系統(tǒng)進(jìn)行測試,同時(shí)還可以實(shí)現(xiàn)flash編程。ARMARM既是一家專門從事生產(chǎn)和授權(quán)微處理器知識產(chǎn)權(quán)(IP)核的知名公司的名稱,也是一種32位高性能、廉價(jià)、耗能低的RISC(精簡指令集)處理器的簡稱。流水線技術(shù)流水線技術(shù)是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。交叉編譯嵌入式軟件開發(fā)所采用的是編譯為交叉編譯。所謂的交叉編譯就是在一個(gè)平臺上生成可以在另一個(gè)平臺上執(zhí)行的代碼。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是應(yīng)用于嵌入式系統(tǒng)的操作系統(tǒng),大多嵌入式操作系統(tǒng)具有微型化、可裁剪性、實(shí)時(shí)性、高可靠性、易移植性等特點(diǎn)。簡答:ARM處理器的工作模式,并做簡單描述用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)快速中斷模式(fiq):用于快速的數(shù)據(jù)傳輸或通道處理外部中斷(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問中止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,用于虛擬存儲及存儲保護(hù)。系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。嵌入式Linux的優(yōu)勢(寫出4點(diǎn))代碼開源②可應(yīng)用于多種硬件平臺。③可定制的內(nèi)核④性能優(yōu)異⑤良好的網(wǎng)絡(luò)支持ARM指令集和Thumb指令集各有什么優(yōu)缺點(diǎn)ARM指令集支持ARM核所有的特性,具有高效、快速的特點(diǎn)。Thumb指令集具有靈活、小巧的特點(diǎn)。ARM指令集效率高,但是代碼密度低;而Thumb指令集具有較高的代碼密度,卻仍然保持ARM的大多數(shù)性能上的優(yōu)勢,它是ARM指令集的子集。所有的ARM指令都是可以有條件執(zhí)行的,而Thumb指令僅有一條指令具備條件執(zhí)行功能。Linux文件的屬性(權(quán)限判斷)文件訪問權(quán)限可表示為:-rwxrwxrwx,在此設(shè)為三種不同的訪問權(quán)限:讀(r),寫(w),運(yùn)行(x)。三個(gè)不同的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統(tǒng)中其他的用戶(o)。ARM指令的尋址方式ARM處理器具有9種基本尋址方式:①寄存器尋址;②立即尋址;③寄存器移位尋址;④寄存器間接尋址;⑤基址尋址(變址);⑥.多寄存器尋址;⑦堆棧尋址;⑧塊拷貝尋址;⑨相對尋址。BX和BL有什么區(qū)別什么是Bootloader,它有什么作用簡單的說,Bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前的一段程序,它類似于PC機(jī)中的BIOS程序,經(jīng)過這段代碼,可以完成硬件設(shè)備的初始化,并建立內(nèi)存空間的映射圖的功能,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),為最終調(diào)用系統(tǒng)內(nèi)核做好準(zhǔn)備。GNU的GCC編譯器編譯程序的各個(gè)流程分別是什么作用Gcc的編譯流程可分為4個(gè)步驟:預(yù)處理(Pre-Processing),在該階段中,編譯器將代碼中的stdio.h編譯進(jìn)來,并且用戶可以使用Gcc的選項(xiàng)“-E”進(jìn)行查看,該選項(xiàng)的作用是讓Gcc在預(yù)處理結(jié)束后停止編譯過程。編譯(Compiling)在這個(gè)階段,Gcc首先要檢查代碼的規(guī)范性、是否有語法錯(cuò)誤等,以確保代碼的實(shí)際要做的工作,在校驗(yàn)無誤后,Gcc把代碼翻譯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論