版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ARM9嵌入式復(fù)習(xí)第一章1. 嵌入式微處理器的分類。a) 什么是嵌入式微處理器?1. 嵌入式微處理器是嵌入式系統(tǒng)硬件層的核心,嵌入式微處理器將通用CPU中許多由板卡完成的任務(wù)集成到芯片內(nèi)部,從而有利于系統(tǒng)設(shè)計(jì)趨于小型化、高效率和高可靠性。嵌入式微處理器大多工作在為特定用戶群所專門設(shè)計(jì)的系統(tǒng)中。2. 嵌入式微處理器的體系結(jié)構(gòu)可以采用馮諾依曼體系結(jié)構(gòu)或哈佛體系結(jié)構(gòu),指令系統(tǒng)可以選用精簡(jiǎn)指令系統(tǒng)(Reduced Instruction Set Computer,RISC)和復(fù)雜指令集系統(tǒng)CISC(Complex Instruction Set Computer, CISC)。b) 嵌入式微處理器分類
2、1. 按照系列分:ARM系列、MIPS系列、PowerPC系列。2. 按照指令復(fù)雜程度分:CISC和RISC兩類2. 微處理器劃分:a) 嵌入式微控制器b) 嵌入式微處理器c) DSP處理器d) 嵌入式片上系統(tǒng)e) 多核處理器3. 嵌入式操作系統(tǒng)(EOS)的特性EOS除具備了一般操作系統(tǒng)最基本的任務(wù)調(diào)度、同步機(jī)制、中斷處理、文件處理等功能外,還具有如下特點(diǎn):強(qiáng)實(shí)時(shí)性;支持開放性和可伸縮性的體系結(jié)構(gòu),具有可裁減性;提供統(tǒng)一的設(shè)備驅(qū)動(dòng)接口;提供操作方便、簡(jiǎn)單、友好的圖形GUI和圖形界面;支持TCP/IP協(xié)議及其他協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,提供強(qiáng)大的網(wǎng)絡(luò)
3、功能。第二章1.ARM7TDMI命名2.3級(jí)流水線與總線架構(gòu)三級(jí)流水線:流水線使用3個(gè)階段,因此指令分為3個(gè)階段執(zhí)行1. 取指:從程序存儲(chǔ)器中讀取指令,放入流水線中2. 譯碼:操作碼和操作數(shù)被譯碼,決定執(zhí)行什么功能,為下一個(gè)始終周期準(zhǔn)備數(shù)據(jù)路 徑所需要的控制信號(hào)。3. 執(zhí)行:執(zhí)行已譯碼的指令注:程序計(jì)數(shù)器(PC)指向被取指的指令,而不是指向正在執(zhí)行的指令在正常操作的過程中,在執(zhí)行一條指令的同時(shí)對(duì)下一條指令進(jìn)行譯碼,并將第三條指令從存儲(chǔ)器中取出3. ARM的兩種狀態(tài)與7種工作模式a) 兩種狀態(tài)。i. ARM狀態(tài):32位,這種狀態(tài)下執(zhí)行的是字方式的ARM指令;ii. Thumb狀態(tài):16位,這種狀
4、態(tài)下執(zhí)行半字方式的Thumb指令。注:兩個(gè)狀態(tài)之間的切換并不影響處理器模式或寄存器內(nèi)容,可以使用BX指令切換兩種狀態(tài).狀態(tài)寄存器CPSR的T位反應(yīng)了處理器運(yùn)行不同指令的當(dāng)前狀態(tài).b)7種工作模式。注:除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許(或者可選為只允許)特權(quán)模式下訪問。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。題目:ARM微處理器復(fù)位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 4. ARM常用幾個(gè)寄存器功能在ARM7TDMI處理器內(nèi)部有37個(gè)用戶可見的寄存器。31個(gè)通用32位寄存器,6個(gè)
5、狀態(tài)寄存器。a.堆棧寄存器(SP):R13,在ARM指令集當(dāng)中,沒有以特殊方式使用R13的指令或其它 功能,只是習(xí)慣上都這樣使用。但是在Thumb指令集中存在使用R13的指令。b.鏈接寄存器(LR):R14,在結(jié)構(gòu)上有兩個(gè)特殊功能:1.在每種模式下,模式自身的R14版本用于保存子程序返回地址;2.當(dāng)發(fā)生異常時(shí),將R14對(duì)應(yīng)的異常模式版本設(shè)置為異常返回地址(有些異常有一 個(gè)小的固定偏移量)。c.程序計(jì)數(shù)器(PC):R15,在ARM狀態(tài),位1:0為0,位31:2保存PC。在Thumb狀 態(tài),位0為0,位31:1保存PC。對(duì)于ARM指令集而言,PC總是指向當(dāng)前指令的下 兩條指令的地址,即PC的值為當(dāng)
6、前指令的地址值加8字節(jié)。d.程序狀態(tài)寄存器(CPSR):R16,在所有處理器模式下都可以訪問CPSR。每種異常模 式都有一個(gè)程序狀態(tài)保存寄存器(SPSR),在異常發(fā)生時(shí),SPSR用于保存CPSR的狀 態(tài)。5. 條件代碼標(biāo)志N 運(yùn)算結(jié)果的最高位反映在該標(biāo)志位。對(duì)于有符號(hào)二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)時(shí)N=1, 結(jié)果為正數(shù)或零時(shí)N=0;Z 指令結(jié)果為0時(shí)Z=1(通常表示比較結(jié)果“相等”),否則Z=0;C 當(dāng)進(jìn)行加法運(yùn)算(包括CMN指令),并且最高位產(chǎn)生進(jìn)位時(shí)C=1,否則C=0。當(dāng)進(jìn)行減法運(yùn)算(包括CMP 指令),并且最高位產(chǎn)生借位時(shí)C=0,否則C=1。對(duì)于結(jié)合移位操作的非加法/減法指令,C為從最高位最后移
7、出的值,其它指令C通常不變; V當(dāng)進(jìn)行加法/減法運(yùn)算,并且發(fā)生有符號(hào)溢出時(shí)V=1,否則V=0,其它指令V通常不變。 附:控制位I、F中斷控制位控制允許和禁止中斷T控制(標(biāo)志)位反映處理器的運(yùn)行狀態(tài)M控制位決定了處理器的運(yùn)行模式6. 中斷號(hào)、中斷向量與優(yōu)先級(jí)。(7種異常)7.存儲(chǔ)器格式。a) ARM體系結(jié)構(gòu)使用232個(gè)字節(jié)的單一、線性地址空間。將字節(jié)地址做為無符號(hào)數(shù)看待,范圍為02321b) 對(duì)于字對(duì)齊的地址A,地址空間規(guī)則要求如下: 地址位于A的字由地址為A、A1、A2和A3的字節(jié)組成; 地址位于A的半字由地址為A和A1的字節(jié)組成; 地址位于A2的半字由地址為A2和A3的字節(jié)組成; 地址位于A
8、的字由地址為A和A2的半字組成。注:這樣并不能完全定義字,半字和字節(jié)之間的映射。存儲(chǔ)器采用下列映射機(jī)制中的一種。 大端存儲(chǔ):字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中 小端存儲(chǔ):低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié) 例如,假設(shè)一個(gè)32位字長(zhǎng)的微處理器上定義一個(gè)int類型的常量a,其內(nèi)存地址位 于0x6000處,其值用十六進(jìn)制表示為0x。如圖1.2.2(a)所示, 如果按小端法存儲(chǔ),則其最低字節(jié)數(shù)據(jù)0x89存放在內(nèi)存低地址0x6000處,最高字 節(jié)數(shù)據(jù)0x23存放在內(nèi)存高地址0x6003處。如圖1.2.2(b)所示, 如果按大端法存儲(chǔ),則其最高字節(jié)數(shù)據(jù)
9、0x23存放在內(nèi)存的低地址0x6000處,而最低字節(jié)數(shù)據(jù)0x89存放在內(nèi)存的高地址0x6003處。第三章一:尋址方式。1寄存器尋址操作數(shù)的值在寄存器中,指令中的地址碼字段給出的是寄存器編號(hào),寄存器的內(nèi)容是操作數(shù),指令執(zhí)行時(shí)直接取出寄存器值操作。例如指令:MOV R1,R2 ;R1R2 SUB R0,R1,R2 ;R0R1- R22立即尋址在立即尋址指令中數(shù)據(jù)就包含在指令當(dāng)中,立即尋址指令的操作碼字段后面的地址碼部分就是操作數(shù)本身,取出指令也就取出了可以立即使用的操作數(shù)(也稱為立即數(shù))。立即數(shù)要以“”為前綴,表示16進(jìn)制數(shù)值時(shí)以“0x”表示。SUBSR0,R0,#1 ;R0減1,結(jié)果放入R0,并
10、且影響標(biāo)志位MOVR0,#0xFF000 ;將立即數(shù)0xFF000裝入R0寄存器 3.寄存器移位尋址。寄存器移位尋址是ARM指令集特有的尋址方式。當(dāng)?shù)?個(gè)操作數(shù)是寄存器移位方式時(shí),第2個(gè)寄存器操作數(shù)在與第1個(gè)操作數(shù)結(jié)合之前,選擇進(jìn)行移位操作。寄存器移位尋址指令舉例如下:MOVR0,R2,LSL #3 ;R2的值左移3位,結(jié)果放入R0,即是R0=R28 ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相“與”操作,結(jié)果放入R14.寄存器間接尋址 寄存器間接尋址指令中的地址碼給出的是一個(gè)通用寄存器的編號(hào),所需的操作數(shù)保存在寄存器指定地址的存儲(chǔ)單元中,即寄存器為操作數(shù)的地址
11、指針。寄存器間接尋址指令舉例如下: LDRR1,R2;將R2指向的存儲(chǔ)單元的數(shù)據(jù)讀出保存在R1中 SWPR1,R1,R2;將寄存器R1的值和R2指定的存儲(chǔ)單元的內(nèi)容交換 5. 基址尋址 基址尋址就是將基址寄存器的內(nèi)容與指令中給出的偏移量相加,形成操作數(shù)的有效地址。基址尋址用于訪問基址附近的存儲(chǔ)單元,常用于查表、數(shù)組操作、功能部件寄存器訪問等?;穼ぶ分噶钆e例如下: LDRR2,R3,#0x0C ;讀取R3+0x0C地址上的存儲(chǔ)單元的內(nèi)容,放入R2 STRR1,R0,#-4! ;先R0=R0-4,然后把R1的值寄存到保存到R0指定的存儲(chǔ)單元 6. 多寄存器尋址多寄存器尋址一次可傳送幾個(gè)寄存器值,
12、允許一條指令傳送16個(gè)寄存器的任何子集或所有寄存器。多寄存器尋址指令舉例如下: LDMIAR1!,R2-R7,R12 ;將R1指向的單元中的數(shù)據(jù)讀出到R2R7、R12中(R1自 動(dòng)加1) STMIAR0!,R2-R7,R12 ;將寄存器R2R7、R12的值保存到R0指向的存儲(chǔ)單元中 R0自動(dòng)加17. 堆棧尋址堆棧是一個(gè)按特定順序進(jìn)行存取的存儲(chǔ)區(qū),操作順序?yàn)椤昂筮M(jìn)先出” 。堆棧尋址是隱含的,它使用一個(gè)專門的寄存器(堆棧指針)指向一塊存儲(chǔ)區(qū)域(堆棧),指針?biāo)赶虻拇鎯?chǔ)單元即是堆棧的棧頂。存儲(chǔ)器堆??煞譃閮煞N: 向上生長(zhǎng):向高地址方向生長(zhǎng),稱為遞增堆棧向下生長(zhǎng):向低地址方向生長(zhǎng),稱為遞減堆棧8. 塊
13、拷貝尋址多寄存器傳送指令用于將一塊數(shù)據(jù)從存儲(chǔ)器的某一位置拷貝到另一位置。 如:STMIAR0!,R1-R7;將R1R7的數(shù)據(jù)保存到存儲(chǔ)器中。;存儲(chǔ)指針在保存第一個(gè)值之后增加,;增長(zhǎng)方向?yàn)橄蛏显鲩L(zhǎng)。STMIBR0!,R1-R7;將R1R7的數(shù)據(jù)保存到存儲(chǔ)器中。;存儲(chǔ)指針在保存第一個(gè)值之前增加,;增長(zhǎng)方向?yàn)橄蛏显鲩L(zhǎng)。 9. 相對(duì)尋址相對(duì)尋址是基址尋址的一種變通。由程序計(jì)數(shù)器PC提供基準(zhǔn)地址,指令中的地址碼字段作為偏移量,兩者相加后得到的地址即為操作數(shù)的有效地址。相對(duì)尋址指令舉例如下:BLSUBR1;調(diào)用到SUBR1子程序BEQLOOP;條件跳轉(zhuǎn)到LOOP標(biāo)號(hào)處.LOOPMOVR6,#1.SUBR1
14、. 二:指令集(LDR STR MOV ADD SUB)1. ARM指令集2. Thumb指令集3. 常用指令a) LDR:加載字?jǐn)?shù)據(jù)b) STR:存儲(chǔ)字?jǐn)?shù)據(jù)LDR/STR指令尋址非常靈活,它由兩部分組成,其中一部分為一個(gè)基址寄存器,可以為任一個(gè)通用寄存器;另一部分為一個(gè)地址偏移量。地址偏移量有以下3種格式: 立即數(shù)。立即數(shù)可以是一個(gè)無符號(hào)的數(shù)值。這個(gè)數(shù)據(jù)可以加到基址寄存器,也可以從基址寄存器中減去這個(gè)數(shù)值。 如:LDR R1,R0,#0x12 寄存器。寄存器中的數(shù)值可以加到基址寄存器,也可以從基址寄存器中減去這個(gè)數(shù)值。 如:LDR R1,R0,R2 寄存器及移位常數(shù)。寄存器移位后的值可以加到
15、基址寄存器,也可以從基址寄存器中減去這個(gè)數(shù)值。 如:LDR R1,R0,R2,LSL #2 從尋址方式的地址計(jì)算方法分,加載/存儲(chǔ)指令有以下4種格式: 零偏移。 如:LDR Rd,Rn 前索引偏移。如:LDR Rd,Rn,#0x04!程序相對(duì)偏移。如:LDR Rd,labe1 后索引偏移。如:LDR Rd,Rn,#0x04c) MOV:數(shù)據(jù)傳送指令d) ADD:加法運(yùn)算指令e) SUB:減法運(yùn)算指令第四章一:最小系統(tǒng)一個(gè)嵌入式處理器自己是不能獨(dú)立工作的,必須給它供電、加上時(shí)鐘信號(hào)、提供復(fù)位信號(hào),如果芯片沒有片內(nèi)程序存儲(chǔ)器,則還要加上存儲(chǔ)器系統(tǒng),然后嵌入式處理器芯片才可能工作。這些提供嵌入式處理
16、器運(yùn)行所必須的條件的電路與嵌入式處理器共同構(gòu)成了這個(gè)嵌入式處理器的最小系統(tǒng)。而大多數(shù)基于ARM7處理器核的微控制器都有調(diào)試接口,這部分在芯片實(shí)際工作時(shí)不是必需的,但因?yàn)檫@部分在開發(fā)時(shí)很重要,所以也把這部分也歸入最小系統(tǒng)中。 二:時(shí)鐘產(chǎn)生單元目前所有的微控制器均為時(shí)序電路,需要一個(gè)時(shí)鐘信號(hào)才能工作,大多數(shù)微控制器具有晶體振蕩器。簡(jiǎn)單的方法是利用微控制器內(nèi)部的晶體振蕩器,但有些場(chǎng)合(如減少功耗、需要嚴(yán)格同步等情況)需要使用外部振蕩源提供時(shí)鐘信號(hào)。 三:I2C的概念與應(yīng)用I2C BUS(Inter Integrated Circuit BUS,內(nèi)部集成電路總線)是由Philips公司推出的二線制串行
17、擴(kuò)展總線,用于連接微控制器及其外圍設(shè)備。I2C總線是具備總線仲裁和高低速設(shè)備同步等功能的高性能多主機(jī)總線,直接用導(dǎo)線連接設(shè)備,通信時(shí)無需片選信號(hào)。如圖6.2.1所示,在I2C總線上,只需要兩條線串行數(shù)據(jù)SDA線和串行時(shí)鐘SCL線,它們用于總線上器件之間的信息傳遞。SDA和SCL都是雙向的。每個(gè)器件都有一個(gè)唯一的地址以供識(shí)別,而且各器件都可以作為一個(gè)發(fā)送器或接收器(由器件的功能決定)。2C總線有如下操作模式:主發(fā)送模式、主接收模式、從發(fā)送模式、從接收模式。下面介紹其通用傳輸過程、信號(hào)及數(shù)據(jù)格式。*數(shù)據(jù)有效:在傳輸數(shù)據(jù)的時(shí)候,SDA線必須在時(shí)鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SC
18、L線的時(shí)鐘信號(hào)是低電平時(shí)才能改變.*起始停止當(dāng)I2C接口處于從模式時(shí),要想數(shù)據(jù)傳輸,必須檢測(cè)SDA線上的啟動(dòng)信號(hào),啟動(dòng)信號(hào)由主器件產(chǎn)生。如圖6.2.2所示,在SCL信號(hào)為高時(shí),SDA產(chǎn)生一個(gè)由高變低的電平變化,即產(chǎn)生一個(gè)啟動(dòng)信號(hào)。當(dāng)I2C總線上產(chǎn)生了啟動(dòng)信號(hào)后,那么這條總線就被發(fā)出啟動(dòng)信號(hào)的主器件占用了,變成“忙”狀態(tài);如圖6.2.2所示,在SCL信號(hào)為高時(shí),SDA產(chǎn)生一個(gè)由低變高的電平變化,產(chǎn)生停止信號(hào)。停止信號(hào)也由主器件產(chǎn)生,作用是停止與某個(gè)從器件之間的數(shù)據(jù)傳輸。當(dāng)I2C總線上產(chǎn)生了一個(gè)停止信號(hào)后,那么在幾個(gè)時(shí)鐘周期之后總線就被釋放,變成“閑”狀態(tài)。主器件產(chǎn)生一個(gè)啟動(dòng)信號(hào)后,它還會(huì)立即送出
19、一個(gè)從地址,用來通知將與它進(jìn)行數(shù)據(jù)通信的從器件。1個(gè)字節(jié)的地址包括7位的地址信息和1位的傳輸方向指示位,如果第7位為“0”,表示馬上要進(jìn)行一個(gè)寫操作;如果為“1”,表示馬上要進(jìn)行一個(gè)讀操作。*傳輸格式SDA線上傳輸?shù)拿總€(gè)字節(jié)長(zhǎng)度都是8位,每次傳輸中字節(jié)的數(shù)量是沒有限制的。在起始條件后面的第一個(gè)字節(jié)是地址域,之后每個(gè)傳輸?shù)淖止?jié)后面都有一個(gè)應(yīng)答(ACK)位。傳輸中串行數(shù)據(jù)的MSB(字節(jié)的高位)首先發(fā)送。*應(yīng)答信號(hào)為了完成1個(gè)字節(jié)的傳輸操作,接收器應(yīng)該在接收完1個(gè)字節(jié)之后發(fā)送ACK位到發(fā)送器,告訴發(fā)送器,已經(jīng)收到了這個(gè)字節(jié)。ACK脈沖信號(hào)在SCL線上第9個(gè)時(shí)鐘處發(fā)出(前面8個(gè)時(shí)鐘完成1個(gè)字節(jié)的數(shù)據(jù)傳
20、輸,SCL上的時(shí)鐘都是由主器件產(chǎn)生的)。當(dāng)發(fā)送器要接收ACK脈沖時(shí),應(yīng)該釋放SDA信號(hào)線,即將SDA置高。接收器在接收完前面8位數(shù)據(jù)后,將SDA拉低。發(fā)送器探測(cè)到SDA為低,就認(rèn)為接收器成功接收了前面的8位數(shù)據(jù)。*I2C總線的數(shù)據(jù)傳輸過程 開始:主設(shè)備產(chǎn)生啟動(dòng)信號(hào),表明數(shù)據(jù)傳輸開始。 地址:主設(shè)備發(fā)送地址信息,包含7位的從設(shè)備地址和1位的數(shù)據(jù)方向指示位(讀或?qū)懳?,表示?shù)據(jù)流的方向)。 數(shù)據(jù):根據(jù)指示位,數(shù)據(jù)在主設(shè)備和從設(shè)備之間進(jìn)行傳輸。數(shù)據(jù)一般以8位傳輸,最重要的位放在前面;具體能傳輸多少量的數(shù)據(jù)并沒有限制。接收器產(chǎn)生1位的ACK(應(yīng)答信號(hào))表明收到了每個(gè)字節(jié)。傳輸過程可以被中止和重新開始。
21、停止:主設(shè)備產(chǎn)生停止信號(hào),結(jié)束數(shù)據(jù)傳輸。第五章一:串口的概念(串行接口)常用的數(shù)據(jù)通信方式有并行通信和串行通信兩種。當(dāng)兩臺(tái)數(shù)字設(shè)備之間傳輸距離較遠(yuǎn)時(shí),數(shù)據(jù)往往以串行方式傳輸。串行通信的數(shù)據(jù)是一位一位地進(jìn)行傳輸?shù)?,在傳輸中每一位?shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。與并行通信相比,如果n位并行接口傳送n位數(shù)據(jù)需時(shí)間T,則串行傳送的時(shí)間最少為nT。串行通信具有傳輸線少、成本低等優(yōu)點(diǎn),特別適合遠(yuǎn)距離傳送。 串行數(shù)據(jù)通信模式串行數(shù)據(jù)通信模式有單工通信、半雙工通信和全雙工通信3種基本的通信模式。 單工通信:數(shù)據(jù)僅能從設(shè)備A到設(shè)備B進(jìn)行單一方向的傳輸。 半雙工通信:數(shù)據(jù)可以從設(shè)備A到設(shè)備B進(jìn)行傳輸,也可以從設(shè)備B
22、到設(shè)備A進(jìn)行傳輸,但不能在同一時(shí)刻進(jìn)行雙向傳輸。 全雙工通信:數(shù)據(jù)可以在同一時(shí)刻從設(shè)備A傳輸?shù)皆O(shè)備B,或從設(shè)備B傳輸?shù)皆O(shè)備A,即可以同時(shí)雙向傳輸。 串行通信方式a. 異步通信方式異步通信時(shí)數(shù)據(jù)是一幀一幀傳送的,每幀數(shù)據(jù)包含有起始位(”0”)、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位(”1”) ,每幀數(shù)據(jù)的傳送靠起始位來同步。一幀數(shù)據(jù)的各位代碼間的時(shí)間間隔是固定的,而相鄰兩幀的數(shù)據(jù)其時(shí)間間隔是不固定的。在異步通信的數(shù)據(jù)傳送中,傳輸線上允許空字符。異步通信對(duì)字符的格式、波特率、校驗(yàn)位有確定的要求。 字符的格式每個(gè)字符傳送時(shí),必須前面加一起始位,后面加上1、1.5或2位停止位。例如ASCII碼傳送時(shí),一幀數(shù)據(jù)的組
23、成是:前面1個(gè)起始位,接著7位ASCII編碼,再接著一位奇偶校驗(yàn)位,最后一位停止位,共10位。 波特率傳送數(shù)據(jù)位的速率稱為波特率,用位秒(bit/s)來表示,稱之為波特。例如,數(shù)據(jù)傳送的速率為120字符秒,每幀包括10個(gè)數(shù)據(jù)位,則傳送波特率為:10120=1200b/s=1200波特每一位的傳送時(shí)間是波特的倒數(shù),如1/1200=0.833ms。異步通信的波特率的數(shù)值通常為:150、300、600、1200、2400、4800、9600、14400、28800等,數(shù)值成倍數(shù)變化。 校驗(yàn)位在一個(gè)有8位的字節(jié)(byte)中,其中必有奇數(shù)個(gè)或偶數(shù)個(gè)的“1”狀態(tài)位。對(duì)于偶校驗(yàn)就是要使字符加上校驗(yàn)位有偶數(shù)
24、個(gè)“1”;奇校驗(yàn)就是要使字符加上校驗(yàn)位有奇數(shù)個(gè)“1”。例如數(shù)據(jù)“”,共有奇數(shù)個(gè)“1”,所以當(dāng)接收器要接收偶數(shù)個(gè)“1”時(shí)(即偶校驗(yàn)時(shí)),則校驗(yàn)位就置為“1”,反之,接收器要接收奇數(shù)個(gè)“1”時(shí)(即奇校驗(yàn)時(shí)),則校驗(yàn)位就置為“0”。一般校驗(yàn)位的產(chǎn)生和檢查是由串行通信控制器內(nèi)部自動(dòng)產(chǎn)生,除了加上校驗(yàn)位以外,通信控制器還自動(dòng)加上停止位,用來指明欲傳送字符的結(jié)束。停止位通常取1、1.5或2個(gè)位。對(duì)接收器而言,若未能檢測(cè)到停止位則意味著傳送過程發(fā)生了錯(cuò)誤。在異步通信方式中,在發(fā)送的數(shù)據(jù)中含有起始位和停止位這兩個(gè)與實(shí)際需要傳送的數(shù)據(jù)毫無相關(guān)的位。如果在傳送1個(gè)8位的字符時(shí),其校驗(yàn)位、起始位和停止位都為1個(gè)位,
25、則相當(dāng)于要傳送11個(gè)位信號(hào),傳送效率只有約80%。(2)同步通信方式為了提高通信效率可以采用同步通信方式。同步傳輸采用字符塊的方式,減少每一個(gè)字符的控制和錯(cuò)誤檢測(cè)數(shù)據(jù)位,因而可以具有較高的傳輸速率。與異步方式不同的是,同步通信方式不僅在字符的本身之間是同步的,而且在字符與字符之間的時(shí)序仍然是同步的,即同步方式是將許多的字符聚集成一字符塊后,在每塊信息(常常稱之為信息幀)之前要加上12個(gè)同步字符,字符塊之后再加入適當(dāng)?shù)腻e(cuò)誤檢測(cè)數(shù)據(jù)才傳送出去。在同步通信時(shí)必須連續(xù)傳輸,不允許有間隙,在傳輸線上沒有字符傳輸時(shí),要發(fā)送專用的”空閑”字符或同步字符。在同步方式中產(chǎn)生一種所謂“冗余”字符,防止錯(cuò)誤傳送。假
26、設(shè)欲傳送的數(shù)據(jù)位當(dāng)作一被除數(shù),而發(fā)送器本身產(chǎn)生一固定的除數(shù),將前者除以后者所得的余數(shù)即為該“冗余”字符。當(dāng)數(shù)據(jù)位和“冗余”字符位一起被傳送到接收器時(shí),接收器產(chǎn)生和發(fā)送器相同的除數(shù),如此即可檢查出數(shù)據(jù)在傳送過程中是否發(fā)生了錯(cuò)誤。統(tǒng)計(jì)數(shù)據(jù)表明采用”冗余”字符方法錯(cuò)誤防止率可達(dá)99%以上。二:NAND FLASH與NOR FLASH異同.答:不同: 1)NOR Flash把整個(gè)存儲(chǔ)區(qū)分成若干個(gè)扇區(qū)(Sector),而NAND Flash把整個(gè)存儲(chǔ)區(qū) 分成若干個(gè)塊(Block),可以對(duì)以塊或扇區(qū)為單位的內(nèi)存單元進(jìn)行擦寫和再編程。 2)NAND Flash執(zhí)行擦除操作是十分簡(jiǎn)單的,而NOR型內(nèi)存則要求在
27、進(jìn)行擦除前先 要將目標(biāo)塊內(nèi)所有的位都寫為0。由于擦除NOR Flash時(shí)是以64128KB為單位的塊進(jìn)行的,執(zhí)行一個(gè)寫入擦除操作的時(shí)間為5s,與此相反,擦除NAND Flash是以832KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。 3)NOR Flash的讀速度比NAND Flash稍快一些,NAND Flash的寫入速度比NOR Flash 快很多。NAND Flash的隨機(jī)讀取能力差,適合大量數(shù)據(jù)的連續(xù)讀取。4)NOR Flash容量通常在1 MB8MB之間。而NAND Flash用在8MB以上的產(chǎn)品當(dāng) 中。NOR Flash主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NAND Flash適用于資料存儲(chǔ)
28、。5)在NOR Flash上運(yùn)行代碼不需要任何的軟件支持。在NAND Flash上進(jìn)行同樣操作 時(shí),通常需要驅(qū)動(dòng)程序,也就是內(nèi)存技術(shù)驅(qū)動(dòng)程序(MTD )。NAND Flash和NOR Flash在進(jìn)行寫入和擦除操作時(shí)都需要MTD。6)在NAND Flash中每個(gè)塊的最大擦寫次數(shù)是一百萬次,而NOR Flash的擦寫次數(shù)是 十萬次。 區(qū)別:兩者工藝不一樣,NOR讀取速度快,成本高,容量不易做大,NAND讀取慢, 成本低,容量很容易作大。 相同點(diǎn):都是采用FLASH技術(shù)生產(chǎn) 功能:NOR適合作為芯片程序存儲(chǔ)的ROM使用,NAND適合作為非易失性數(shù)據(jù)存儲(chǔ)器第八章一:Linux的最常用的命令 答:1)
29、adduser 示例:創(chuàng)建pdr帳戶 adduser pdr 2)cat 示例: cat text 在屏幕上顯示文件text的內(nèi)容; cat -n textfile1 textfile2 把 textfile1 的文件內(nèi)容加上行號(hào)后輸入 textfile2 這個(gè)文件里; 3)cd 示例:假設(shè)用戶當(dāng)前目錄是 /home/xu 現(xiàn)需要更換到/home/xu/pro 目錄中 $ cd pro 4) cp 示例: $ cp - r /usr/xu/ /usr/liu/ 表示將/usr/xu 目錄中的所有文件及其子目錄拷貝到目錄 /usr/liu中。 5)export 示例:顯示當(dāng)前所有環(huán)境變量的設(shè)置情
30、況 #export 6)Fdisk 示例:查看當(dāng)前系統(tǒng)中磁盤的分區(qū)狀況,包括硬盤、U盤等fdisk -l 7)Ln: 類似windows下的快捷方式 示例:要為當(dāng)前目錄下的file文件建立一個(gè)硬鏈接,名為/home/lbt/doc/file/, 可用如下命令: ln file /home/lbt/doc/file 8)locate 示例:locate filename: 尋找系統(tǒng)中所有叫filename的文件 9)Ls 示例:將 /bin 目錄以下所有目錄及文件詳細(xì)資料列出 : ls -lR /bin 10) minicom 示例:開啟minicom的配置界面 minicom s 11)Mkd
31、ir 示例:在當(dāng)前目錄中創(chuàng)建嵌套的目錄層次inin 和inin下的mail目錄權(quán)限設(shè)置為只有文件擁有者有讀、寫和執(zhí)行權(quán)限。mkdir -p -m 700 ./inin/mail/ 12)Mount 示例:掛載ntfs格式的hda7分區(qū)到/mnt/cdrom文件夾mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom 13)mv 示例:$ mv /usr/xu/ * . 表示將/usr/xu 中的所有文件移到當(dāng)前目錄 用 . 表示 14)Passwd:passwd 作為普通用戶和超級(jí)權(quán)限用戶都可以運(yùn)行,但作為普通用戶只能 更改自己的用戶密碼,但前提是沒有被ro
32、ot用戶鎖定;如果root用戶運(yùn) 行passwd ,可以設(shè)置或修改任何用戶的密碼;passwd 命令后面不接任何參數(shù)或用戶名,則表示修改當(dāng)前用戶的密碼 示例:passwd pengdr 15)ping 示例:ping 16)pwd:查看”當(dāng)前工作目錄“的完整路徑 示例: rootlocalhost#pwd /root 17)reboot:執(zhí)行reboot指令可讓系統(tǒng)停止運(yùn)作,并重新開機(jī)。 示例:做個(gè)重開機(jī)的模擬(只有紀(jì)錄并不會(huì)真的重開機(jī))。reboot w 18) rmdir 示例:在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪
33、除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。 rmdir -p BBB/Tes rootlocalhost# 19)setup 功能說明:設(shè)置程序,類似windows控制面板 語法:setup20) su功能說明:變更用戶身份。 示例:變更賬號(hào)為超級(jí)用戶,并在執(zhí)行df命令后 還原使用者。su -c df root21)tar 功能說明:備份或解壓文件。示例:壓縮目錄/etc為tar.gz后綴。 # tar cvf backup.tar /etc 解壓#tar zxvf file.tar.gz #tar jxvf file.tar.bz222) umount 功能:卸除文件系統(tǒng)。 示例:
34、卸載 /mnt區(qū): umount /mnt/cdrom23)whereis 功能:查詢某個(gè)二進(jìn)制命令文件、幫助文件等所在目錄. 比如:查找“l(fā)s” 這個(gè)二進(jìn)制命令文件所在的目錄 whereis ls第九章一:ADS編譯環(huán)境的設(shè)置二:系統(tǒng)啟動(dòng)代碼bootloader概念在嵌入式系統(tǒng)中,通常沒有像BIOS那樣的固件程序,因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由BootLoader來完成。比如在一個(gè)基于ARM7TDMIcore的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)都從地址0x開始執(zhí)行。而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader程序。BootLoader就是在操作系統(tǒng)運(yùn)行之前運(yùn)行的一段小程序。通過它
35、可以初始化硬件設(shè)備,從而將系統(tǒng)的軟硬件環(huán)境設(shè)置到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)做好準(zhǔn)備。 Bootloader是在嵌入式系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段引導(dǎo)加載程序。 作用:將內(nèi)核映像從硬盤上讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,即開始啟動(dòng)操作系統(tǒng)。 嵌入式系統(tǒng)常見的Bootloader有vivi和U-Boot,RedBoot 題目一:簡(jiǎn)述Bootloader啟動(dòng)過程。1、第一階段(1)、基本的硬件設(shè)備初始化(2)、為階段2代碼準(zhǔn)備RAM空間(3)、拷貝階段2代碼到RAM空間(4)、設(shè)置好堆棧(5)、跳轉(zhuǎn)到階段2的C程序入口點(diǎn)2、第二階段(1)、初始化本階段要使用到的硬件(2)、檢測(cè)系
36、統(tǒng)內(nèi)存映射(memory map)(3)、將kernel和根文件系統(tǒng)映像從flash讀到RAM空間(4)、為kernel設(shè)置啟動(dòng)參數(shù)(5)、調(diào)用內(nèi)核 題目二:請(qǐng)簡(jiǎn)述嵌入式軟件Bootloader的兩種工作模式。啟動(dòng)加載模式:?jiǎn)?dòng)加載模式稱為“自舉”(Autonomous)模式。即Bootloader從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到 RAM 中運(yùn)行,整個(gè)過程并沒有用戶的介入。啟動(dòng)加載模式是 Bootloader的正常工作模式,在嵌入式產(chǎn)品發(fā)布的時(shí)侯,Bootloader必須工作在這種模式下。 下載模式:在這種模式下,目標(biāo)機(jī)上的Bootloader將通過串口連接或網(wǎng)絡(luò)連接等通信手段從主機(jī)下載文件。下載內(nèi)容及存儲(chǔ):主要是下載內(nèi)核映像和根文件系統(tǒng)映像等。從主機(jī)下載的文件通常首先被Bootloader保存到目標(biāo)機(jī)的RAM中,然后再被 Bootloader寫到目標(biāo)機(jī)上的FLASH 類固態(tài)存儲(chǔ)設(shè)備中三:Makefile文件的用途與寫法1. 用途:makefile關(guān)系到了整個(gè)工程的編譯規(guī)則。一個(gè)工程中的源文件不計(jì)數(shù),其按類型、功能、模塊分別放在若干個(gè)目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作,因?yàn)閙akefile就像一個(gè)Shell
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 凍干機(jī)設(shè)備使用維護(hù)操作規(guī)范
- 大學(xué)生宿舍管理崗位職責(zé)標(biāo)準(zhǔn)
- 全國(guó)市級(jí)聯(lián)考七年級(jí)語文試題解析報(bào)告
- 五年級(jí)語文單元知識(shí)歸檔解析
- 高空電離層中電子的分布-洞察及研究
- 小微企業(yè)融資申請(qǐng)書模板及案例
- 高血壓心絞痛患者介入治療時(shí)機(jī)選擇-洞察及研究
- 企業(yè)基礎(chǔ)管理流程優(yōu)化與提升方案
- 現(xiàn)代物流信息系統(tǒng)規(guī)劃與應(yīng)用
- 民事訴訟案件文書寫作大全
- 通信設(shè)備維護(hù)與保養(yǎng)指南
- 南通南通市通州區(qū)圖書館公開招聘勞務(wù)派遣人員筆試歷年備考題庫(kù)附帶答案詳解
- 2026年幼兒教師公招考試試題及答案
- 2026中工國(guó)際工程股份有限公司社會(huì)招聘筆試備考試題及答案解析
- 物業(yè)總經(jīng)理培訓(xùn)課件
- 短險(xiǎn)銷售技巧培訓(xùn)課件
- 2025年職業(yè)衛(wèi)生健康培訓(xùn)考試試題及答案
- 2026年二十屆四中全會(huì)精神應(yīng)知應(yīng)會(huì)題庫(kù)及答案
- 化工品物流樞紐項(xiàng)目運(yùn)營(yíng)管理方案
- 丈夫家暴協(xié)議書模板
- 皮帶機(jī)制作合同范本
評(píng)論
0/150
提交評(píng)論