|
答案:
第1章:
答案-填空題
1.T、D、M、I
2.存儲(chǔ)空間管理單元(MMU)和8K Cache片內(nèi)緩存(提高CPU性能)
3.QFP、TQFP、PQFP、LQFP、BGA、LBGA
4.37、32、31、6
5.大端格式和小端格式
6.片內(nèi)的MMU、指令和數(shù)據(jù)緩存(IDC)、寫緩沖(Write Buffer)
答案-問答題
1.ARM內(nèi)核有四個(gè)功能模塊T、D、M、I,可供生產(chǎn)廠商根據(jù)不同用戶的要求來配置生產(chǎn)ARM芯片。
其中T功能模塊表示16位Thumb,可以在兼顧性能的同時(shí)減少代碼尺寸。M功能模塊表示8位乘法器。D功能模塊表示Debug,該內(nèi)核中放置了用于調(diào)試的結(jié)構(gòu),通常它為一個(gè)邊界掃描鏈JTAG,可使CPU進(jìn)入調(diào)試模式,從而可方便地進(jìn)行斷點(diǎn)設(shè)置、單步調(diào)試。 I功能模塊表示EmbeddedICE Logic,用于實(shí)現(xiàn)斷點(diǎn)觀測(cè)及變量觀測(cè)的邏輯電路部分,其中的TAP控制器可接入到邊界掃描鏈。
2.一個(gè)ARM720T內(nèi)核基本由以下四部分組成。
(1)ARM7TDMI CPU核。該CPU核支持Thumb指令集、核調(diào)試、增強(qiáng)的乘法器、JTAG及嵌入式ICE。它的時(shí)鐘速率可編程為18MHz、36MHz、49MHz、74MHz。
(2)內(nèi)存管理單元(MMU)與ARM710核兼容,并增加了對(duì)Windows CE的支持。該內(nèi)存管理單元提供了地址轉(zhuǎn)換和一個(gè)有64個(gè)項(xiàng)的轉(zhuǎn)換旁路緩沖器。
(3)8KB單一指令和數(shù)據(jù)高速緩沖存儲(chǔ)器,以及一個(gè)四路相聯(lián)高速緩沖存儲(chǔ)器控制器。
(4)寫緩沖器Write Buffer。
3.通用寄存器包括R0~R15,可以分為三類:
(1)未分組寄存器R0~R7;
(2)分組寄存器R8~R14;
(3)程序計(jì)數(shù)器PC(R15)。
4.Thumb狀態(tài)下的寄存器與ARM狀態(tài)下的寄存器有如下關(guān)系:
(1)Thumb狀態(tài)下和ARM狀態(tài)下的R0~R7是相同的。
(2)Thumb狀態(tài)下和ARM狀態(tài)下的CPSR和所有的SPSR是相同的。
(3)Thumb狀態(tài)下的SP對(duì)應(yīng)于ARM狀態(tài)下的R13。
(4)Thumb狀態(tài)下的LR對(duì)應(yīng)于ARM狀態(tài)下的R14。
(5)Thumb狀態(tài)下的程序計(jì)數(shù)器對(duì)應(yīng)于ARM狀態(tài)下的R15。
5.當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作。
(1)將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開始執(zhí)行。若異常是從ARM狀態(tài)進(jìn)入,則LR寄存器中保存的是下一條指令的地址(當(dāng)前PC+4或PC+8,與異常的類型有關(guān));若異常是從Thumb狀態(tài)進(jìn)入,則在LR寄存器中保存當(dāng)前PC的偏移量,這樣,異常處理程序就不需要確定異常是從何種狀態(tài)進(jìn)入的。例如:在軟件中斷異常SWI,指令 MOV PC,R14_svc總是返回到下一條指令,不管SWI是在ARM狀態(tài)執(zhí)行,還是在Thumb狀態(tài)執(zhí)行。
(2)將CPSR復(fù)制到相應(yīng)的SPSR中。
(3)根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。
(4)強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。
第2章:
答案-填空題
1.ARM指令集、Thumb指令集
2.寄存器尋址、立即尋址、寄存器偏移尋址、寄存器間接尋址、基址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址、相對(duì)尋址
3.跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(PSR)傳輸指令、Load/Store指令、協(xié)處理器指令、異常中斷產(chǎn)生指令
4.符號(hào)定義偽指令、數(shù)據(jù)定義偽指令、匯編控制偽指令、宏指令、其他偽指令
5.在C/C++代碼中嵌入?yún)R編指令;從匯編程序中訪問C程序變量;匯編程序、C/C++程序間的相互調(diào)用
6.filename.c 源文件、filename.h頭文件、filename.o目標(biāo)文件、filename.s匯編代碼文件、filename.lst列表文件
答案-問答題
1.一條典型的ARM指令語法格式如下所示:
<opcode>{<cond>}{S}<Rd>,<Rn>,< shifter_operand >
其中:
opcode是指令操作符編碼;
cond 是指令執(zhí)行的條件編碼;
S決定指令的操作是否影響CPSR的值;
Rd是目標(biāo)寄存器編碼;
Rn是包含第1個(gè)操作數(shù)的寄存器編碼;
shifter_operand 表示第2個(gè)操作數(shù)。
2.有4種類型的堆棧,表示遞增和遞減的滿堆棧和空堆棧的各種組合。
? 滿遞增:堆棧通過增大存儲(chǔ)器的地址向上增長,堆棧指針指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最高地址。指令如LDMFA,STMFA等。
? 空遞增:堆棧通過增大存儲(chǔ)器的地址向上增長,堆棧指針指向堆棧上的第一個(gè)空地址。指令如LDMEA,STMEA等。
? 滿遞減:堆棧通過減小存儲(chǔ)器的地址向下增長,堆棧指針指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最低地址。指令如LDMFD,STMFD等。
? 空遞增:堆棧通過減小存儲(chǔ)器的地址向下增長,堆棧指針指向堆棧下的第一個(gè)空地址。指令如LDMED,STMED等。
3.ARM協(xié)處理器指令包括以下3類:
? 用于ARM處理器初始化ARM協(xié)處理器的數(shù)據(jù)處理操作。
? 用于ARM處理器的寄存器和ARM協(xié)處理器的寄存器間的數(shù)據(jù)傳送操作。
? 用于在ARM協(xié)處理器的寄存器和內(nèi)存單元之間傳送數(shù)據(jù)。
4.常見的符號(hào)定義偽指令有如下幾種。
? 用于定義全局變量的GBLA、GBLL和GBLS。
? 用于定義局部變量的LCLA、LCLL和LCLS。
? 用于對(duì)變量賦值的SETA、SETL、SETS。
? 為通用寄存器列表定義名稱的RLIST。
5.匯編語言程序中常用的符號(hào),必須遵循以下的約定。
? 符號(hào)區(qū)分大小寫,同名的大、小寫符號(hào)會(huì)被編譯器認(rèn)為是兩個(gè)不同的符號(hào)。
? 符號(hào)在其作用范圍內(nèi)必須唯一。
? 自定義的符號(hào)名不能與系統(tǒng)的保留字相同。
? 符號(hào)名不應(yīng)與指令或偽指令同名。
6.可執(zhí)行映像文件通常由以下幾部分構(gòu)成。
? 一個(gè)或多個(gè)代碼段,代碼段的屬性為只讀。
? 零個(gè)或多個(gè)包含初始化數(shù)據(jù)的數(shù)據(jù)段,數(shù)據(jù)段的屬性為可讀寫。
? 零個(gè)或多個(gè)不包含初始化數(shù)據(jù)的數(shù)據(jù)段,數(shù)據(jù)段的屬性為可讀寫。
第3章:
答案-填空題
1.裝載映像文件、程序執(zhí)行、查看寄存器和內(nèi)存空間
2.基本的調(diào)試功能、C語言庫的支持、通信支持、任務(wù)管理功能、異常中斷處理
3.在ARMulator或開發(fā)板上開發(fā)應(yīng)用程序;建立嚴(yán)重依賴Angel的應(yīng)用程序;建立很少依賴Angel的應(yīng)用程序;生成最終的產(chǎn)品
4.FD(滿且地址遞減)
5.測(cè)試訪問端口TAP(Test Access Port)控制器、旁路(bypass)寄存器、指令寄存器和數(shù)據(jù)寄存器、ARM架構(gòu)處理器
答案-問答題
1.初始化存儲(chǔ)器就是設(shè)置ARM處理器的某些寄存器,這可以通過兩種方法完成:第一種,如果ARM處理器內(nèi)部有SRAM,則可以建立一個(gè)簡單的工程,該工程對(duì)涉及存儲(chǔ)器映射的寄存器初始化;第二種,利用AXD的命令行配置那些寄存器,具體步驟如下:
首先在C:\下建立文本文件memory_map.txt,該文件設(shè)置寄存器的值,其格式為:
setmem ADDRESS,DATA,SIZE
其中,ADDRESS是寄存器的地址,DATA是該寄存器要設(shè)置的值,SIZE是數(shù)據(jù)寬度,一般為32,可以設(shè)置多個(gè)寄存器;然后打開AXD Debugger的命令行窗口,執(zhí)行下面的命令,配置對(duì)應(yīng)的控制寄存器。
>obey C:\memory_map.txt
執(zhí)行完畢后,memory_map.txt中的寄存器就配置完畢,存儲(chǔ)器就映射到預(yù)定的地址空間了。
2.基于Angel的調(diào)試系統(tǒng)由下面兩部分組成,這兩部分之間通過一定的通信信道連接起來,通常使用的信道是串行口。
? 位于主機(jī)上的調(diào)試器(debugger)。它接受用戶命令,將其發(fā)送到目標(biāo)機(jī)上的Angel,使其執(zhí)行一定的操作,并將目標(biāo)機(jī)上Angel返回的數(shù)據(jù)以一定的格式顯示用戶。ARM公司提供的各調(diào)試器都支持Angel。對(duì)于其他的調(diào)試器,如果它支持Angel所使用的調(diào)試協(xié)議ADP,則也可以支持Angel。
? 位于目標(biāo)機(jī)上的Angel調(diào)試監(jiān)控程序。它接受主機(jī)上調(diào)試器傳來的命令,返回相應(yīng)的數(shù)據(jù)。通常Angel有兩個(gè)版本:完整版本包含所有的Angel功能,主要可以用于調(diào)試應(yīng)用系統(tǒng);最小版本包含一些有限的功能,可以包含在最終的產(chǎn)品中。
3.使用Angel所需要的資源包括:
? 系統(tǒng)資源。Angel使用的系統(tǒng)資源包括可配置的系統(tǒng)資源和不可配置的系統(tǒng)資源?膳渲玫南到y(tǒng)資源包括一個(gè)ARM程序的SWI號(hào)和一個(gè)Thumb程序的SWI號(hào);不可配置的資源包括兩條未定義的ARM指令和一條未定義的Thumb指令。
? ROM和RAM資源。Angel需要使用ROM來保存其代碼,使用RAM來保存其數(shù)據(jù)。當(dāng)需要下載一個(gè)新版本的Angel時(shí),還需要使用額外的RAM資源。
? 異常中斷向量。Angel通過初始化系統(tǒng)的異常中斷向量表來安裝自己,從而使得Angel有機(jī)會(huì)接管系統(tǒng)的控制權(quán),來完成相應(yīng)的功能。
? FIQ及IRQ異常中斷。Angel需要使用下面的異常中斷來實(shí)現(xiàn)主機(jī)和目標(biāo)機(jī)之間的通信功能。推薦使用IRQ異常中斷。
? FIQ異常中斷;
? IRQ異常中斷;
? 同時(shí)使用FIQ異常中斷和IRQ異常中斷。
? 數(shù)據(jù)棧。Angel需要使用自己的特權(quán)模式的數(shù)據(jù)棧。如果用戶應(yīng)用程序需要調(diào)用Angel功能,則用戶需要建立自己的數(shù)據(jù)棧。
4.在使用完整版本的Angel開發(fā)應(yīng)用程序時(shí),由于Angel需要一定的資源,給程序設(shè)計(jì)帶來了一定的限制。這些限制包括:
? Angel需要使用自己的處理器特權(quán)模式下的數(shù)據(jù)棧,因此在Angel和實(shí)時(shí)操作系統(tǒng)RTOS一起使用時(shí),必須確保在Angel運(yùn)行時(shí),RTOS不會(huì)切換處理器的模式。否則可能造成死機(jī)。
? 用戶應(yīng)用程序盡量避免使用SWI 0x123456以及SWI 0xab。這兩個(gè)SWI異常中斷號(hào)保留給Angel使用。Angel使用它們來實(shí)現(xiàn)目標(biāo)程序中C語言運(yùn)行時(shí)庫的semihosting請(qǐng)求。
? 如果用戶應(yīng)用程序中使用了SWI,則在退出SWI時(shí)必須將各寄存器的值還原成進(jìn)入SWI時(shí)的值。
? 如果應(yīng)用程序中需要使用未定義的指令異常中斷,必須注意Angel使用了未定義的指令異常中斷。
5.JTAG測(cè)試信號(hào)由下面五個(gè)信號(hào)組成,分別描述如下。
? TRST:測(cè)試復(fù)位輸入信號(hào),測(cè)試接口初始化。
? TCK:測(cè)試時(shí)鐘,在TCK時(shí)鐘的同步作用下,通過TDI和TDO引腳串行移入/移出數(shù)據(jù)或指令;同時(shí),也為測(cè)試訪問端口TAP控制器的狀態(tài)機(jī)提供時(shí)鐘。
? TMS:測(cè)試模式選擇信號(hào),控制測(cè)試接口狀態(tài)機(jī)的操作。
? TDI:測(cè)試數(shù)據(jù)輸入線,其串行輸入數(shù)據(jù)至邊界掃描寄存器或指令寄存器(由TAP控制器的當(dāng)前狀態(tài)及已保存在指令寄存器中的指令來控制)。
? TDO:測(cè)試數(shù)據(jù)輸出線,把從邊界掃描鏈采樣的數(shù)據(jù)傳播至串行測(cè)試電路中的下一個(gè)芯片。
第4章:
答案-填空題
1.嵌入式處理器、相關(guān)支撐硬件、嵌入式軟件系統(tǒng)
2.存儲(chǔ)設(shè)備、通信設(shè)備、顯示設(shè)備
3.?dāng)?shù)據(jù)總線、地址總線、控制總線
4.Vxwork、WinCE、Linux、pSOS
5.操作系統(tǒng)、應(yīng)用程序
答案-問答題
1.嵌入式Linux作為嵌入式操作系統(tǒng),與其他嵌入式操作系統(tǒng)相比,優(yōu)點(diǎn)有:開放源代碼、免費(fèi)、開發(fā)周期短等;缺點(diǎn)是實(shí)時(shí)性較差。
2.在高頻電路設(shè)計(jì)中,首先要注意電源的質(zhì)量與分配,其次要注意信號(hào)線的分布和地線的布線,布線時(shí)最好使電源線、地線的走線方向與數(shù)據(jù)線的走線方向一致。
3.(1)新型的和適合應(yīng)用場(chǎng)合的ARM提高系統(tǒng)的程序效率;
(2)低功耗器件和貼片封裝,降低功耗和提高抗干擾;
(3)通用型平臺(tái),減小開發(fā)成本和開發(fā)周期;
(4)充分利用富余端口,有利于產(chǎn)品的升級(jí);
(5)單芯片解決方案;
(6)LED方便調(diào)試。
第5章:
答案-填空題
1.交流、直流
2.運(yùn)行、睡眠、空閑
3.5V、3.3V、2.5V、1.8V
4.地線、電源線、信號(hào)線
答案-問答題
1.軟啟動(dòng)時(shí),處理器被復(fù)位,但是SDRAM 里面的內(nèi)容仍舊保持。
2.顯示設(shè)備的耗電最多,如TFT LCD/LED。
3.系統(tǒng)中的模擬電源一般由數(shù)字電源產(chǎn)生,可以通過:
(1)數(shù)字電源與模擬電源,以及數(shù)字地與模擬地之間加鐵氧體磁珠或電感構(gòu)成無源濾波電路;
(2)采用多路穩(wěn)壓器的方法將模擬地和數(shù)字地連接。
第6章:
答案-填空題
1.SRAM、DRAM、Flash ROM
2.SDRAM、DDR
3.SDRAM、ROM
答案-問答題
1.SDRAM 具有高速、大容量等優(yōu)點(diǎn),是一種具有同步接口的高速動(dòng)態(tài)隨機(jī)存儲(chǔ)器,在ARM系統(tǒng)中主要用作程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。
2.外啟動(dòng)方式下,ARM從外部程序存儲(chǔ)器取指令執(zhí)行;內(nèi)啟動(dòng)時(shí),ARM運(yùn)行片上ROM中固化的啟動(dòng)程序。
第7章:
答案-填空題
1.100、10
2.用戶模塊接口、MTD抽象、MTD設(shè)備驅(qū)動(dòng)模塊
3.系統(tǒng)代碼、用戶信息
答案-問答題
1.嵌入式設(shè)備中程序運(yùn)行方式有兩種:一種是將程序加載到SDRAM中運(yùn)行,另一種是程序直接在其所在的ROM/Flash存儲(chǔ)器中運(yùn)行。
2.Flash存儲(chǔ)器常當(dāng)作硬盤使用,而SDRAM則類似內(nèi)存,F(xiàn)lash用于存放程序代碼、常量表,以及一些在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)等。
3.Nor-Flash的讀取速度比Nand-Flash快; Nand-Flash的寫入速度和擦除速度比Nor-Flash快。
第8章:
答案-填空題
1.字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備
2.中斷、查詢、DMA
3.靜態(tài)編譯進(jìn)內(nèi)核、編譯成模塊動(dòng)態(tài)加載
答案-問答題
1.主要區(qū)別是:在對(duì)字符設(shè)備發(fā)出讀/寫請(qǐng)求時(shí),實(shí)際的硬件I/O就緊接著發(fā)生了。塊設(shè)備則利用一塊系統(tǒng)內(nèi)存作為緩沖區(qū),當(dāng)用戶進(jìn)程對(duì)設(shè)備請(qǐng)求能滿足用戶的要求時(shí),就返回請(qǐng)求的數(shù)據(jù);如果不能,就調(diào)用請(qǐng)求函數(shù)來進(jìn)行實(shí)際的I/O操作。
2.設(shè)備驅(qū)動(dòng)的功能有:
? 對(duì)設(shè)備初始化和釋放;
? 把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);
? 讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請(qǐng)求的數(shù)據(jù);
? 檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。
3.具體步驟是:
? 模塊化驅(qū)動(dòng)程序;
? 在內(nèi)核空間申請(qǐng)和釋放內(nèi)存;
? 分配字符設(shè)備主設(shè)備號(hào)和子設(shè)備號(hào);
? 在內(nèi)核空間注冊(cè)與注銷;
? 在內(nèi)核空間提供系統(tǒng)調(diào)用函數(shù)。
第9章:
答案-填空題
1.復(fù)位、未定義指令、軟件中斷、指令預(yù)取中止、數(shù)據(jù)中止、外部中斷請(qǐng)求、快速中斷請(qǐng)求
2.中斷掛起寄存器、中斷屏蔽寄存器、中斷優(yōu)先級(jí)寄存器、中斷偏移寄存器
3.定時(shí)器中斷、串口輸入/輸出中斷、接口中斷、鏈路中斷
答案-問答題
1.它們的區(qū)別如下:
? 定時(shí)器中斷模塊主要是為操作系統(tǒng)提供時(shí)鐘基準(zhǔn);
? 串口輸入和輸出中斷模塊主要給用戶提供接口,方便程序的下載與調(diào)試;
? 接口中斷模塊負(fù)責(zé)每2ms與總線上其他板卡通信一次;
? 鏈路中斷模塊也是每隔一段時(shí)間處理一次鏈路的數(shù)據(jù),它的任務(wù)最重。
2.將中斷處理盡可能搬到內(nèi)部RAM或SDRAM。中斷處理函數(shù)代碼放在Flash中,數(shù)據(jù)放在SDRAM 中。通過改變編譯配置,將所有的中斷處理函數(shù)都拷貝到ARM內(nèi)部RAM或者SDRAM中。
第10章:
答案-填空題
1.上電復(fù)位、外部硬復(fù)位、內(nèi)部硬復(fù)位、JTAG 復(fù)位、外部軟件復(fù)位、內(nèi)部軟件復(fù)位
2.同步、異步
答案-問答題
1.復(fù)位控制器的功能是確定復(fù)位原因,同步復(fù)位模塊,并且復(fù)位相應(yīng)片內(nèi)的邏輯模塊。
2.一方面復(fù)位低電平時(shí)間足夠長(20ms以上),保證ARM可靠復(fù)位;另一方面保證復(fù)位電路穩(wěn)定性良好,防止ARM 誤復(fù)位。
第11章:
答案-填空題
1.積分型、逐次逼近型、并行比較型、∑-△型、流水線型
2.并行比較型
3.采樣、保持、量化、編碼
答案-問答題
1.積分型A/D轉(zhuǎn)換器主要應(yīng)用于低速、精密測(cè)量等領(lǐng)域;逐次逼近型A/D轉(zhuǎn)換器適用于中速率而分辨率要求較高的場(chǎng)合;并行比較A/D轉(zhuǎn)換器適用于速度要求特別高的領(lǐng)域,如視頻A/D轉(zhuǎn)換;∑-△型調(diào)制型A/D轉(zhuǎn)換器主要應(yīng)用于高精度數(shù)據(jù)采集系統(tǒng),特別是數(shù)字音響系統(tǒng)、多媒體、地震勘探儀器、聲納等電子測(cè)量等領(lǐng)域;流水線型A/D轉(zhuǎn)換器主要應(yīng)用于對(duì)頻域特性要求較高的通信系統(tǒng),對(duì)噪聲、帶寬和瞬態(tài)速度等時(shí)域特性要求較高的CCD成像系統(tǒng),以及對(duì)時(shí)域和頻域特性都要求較高的數(shù)據(jù)采集系統(tǒng)。
2.直接D/A轉(zhuǎn)換器直接將輸入的數(shù)字信號(hào)轉(zhuǎn)換為輸出的模擬信號(hào);而間接D/A轉(zhuǎn)換器是先將輸入的數(shù)字信號(hào)轉(zhuǎn)換為某種中間量,然后再將這種中間量轉(zhuǎn)換成為輸出的模擬量。
第12章:
答案-填空題
1.4、16、256
2.段位式LCD、字符式LCD、點(diǎn)陣式LCD
3.32、16
4.行、列
答案-問答題
1.對(duì)內(nèi)體現(xiàn)在內(nèi)部RAM 的大小、譯碼電路的復(fù)雜程度、內(nèi)部的時(shí)序及電源電路等;對(duì)外體現(xiàn)在驅(qū)動(dòng)行和列端口的多少、與ARM的接口功能等。
2.用戶可以將Frame-buffer看成是顯示內(nèi)存的一個(gè)映像,直接進(jìn)行讀寫操作,而寫操作可以立即反映在屏幕上,方便地實(shí)現(xiàn)視頻顯示。
第13章:
答案-填空題
1.獨(dú)立式按鍵接口、行列式接口、專用芯片式接口,行列式接口
2.中斷、查詢
答案-問答題
1.行列式按鍵接口的優(yōu)點(diǎn)是相對(duì)于獨(dú)立接口方式可以節(jié)省很多I/O資源,相對(duì)于專用芯片鍵盤可以節(jié)省成本而且更為靈活。缺點(diǎn)是需要用軟件處理消抖、重鍵等。它常用于按鍵數(shù)量較多,又不想使用專用鍵盤芯片的場(chǎng)合。
2.鍵盤掃描的過程是將列線逐列置成低電平,然后讀取行線狀態(tài),直到行線中出現(xiàn)低電平,可知那一列是低電平,然后將行線與列線的狀態(tài)裝入鍵碼寄存器,進(jìn)行按鍵譯碼,得到按下的按鍵的相應(yīng)編碼,完成按鍵掃描。
第14章:
答案-填空題
1.并行通信、串行通信;并行總線、串行總線
2.異步串行通信、同步串行通信;RS-232C、RS-422、RS-485
3.RS-232C、負(fù)
答案-問答題
1.一般情況下,在選擇通信方式時(shí),需要考慮以下幾個(gè)主要方面。
? 通信速率。標(biāo)準(zhǔn)通信接口都有相應(yīng)的最大通信速率,即相應(yīng)信道容量的最大值。
? 通信距離。通信速率和通信距離兩個(gè)物理參量互相依存,互相制約。適當(dāng)?shù)販p小通信速率,可以在一定程度上增加通信的距離;相應(yīng)的,在允許一定的誤碼率條件下,可以提高相應(yīng)的通信速率。
? 抗干擾能力。為保證一定的通信速率和一定的通信距離,需要相應(yīng)的通信媒介和比較好的抗干擾能力,以降低誤碼率。在通信中,除了物理的抗干擾能力外,一般采用信道編碼的方式來提高系統(tǒng)的抗干擾能力,從而保證信號(hào)的可靠性傳輸。
2.異步串行通信協(xié)議規(guī)定字符數(shù)據(jù)的傳輸規(guī)范,包括:
? 起始位。通信線上沒有數(shù)據(jù)被傳送時(shí)處于邏輯“1”狀態(tài),當(dāng)發(fā)送設(shè)備要發(fā)送一個(gè)字符數(shù)據(jù)時(shí),首選發(fā)送一個(gè)邏輯“0”信號(hào),這個(gè)邏輯低電平就是起始位。起始位通過通信線傳向接收機(jī),接收設(shè)備檢測(cè)到這個(gè)低電平后,就開始準(zhǔn)備接收數(shù)據(jù)位信號(hào)。起始位所起的作用就是使設(shè)備同步,通信雙方必須在傳送數(shù)據(jù)位前一致同步。
? 數(shù)據(jù)位。當(dāng)接收設(shè)備收到起始位后,開始接收數(shù)據(jù)位。數(shù)據(jù)位的個(gè)數(shù)可以是5~9位,PC機(jī)中經(jīng)常采用7~8位數(shù)據(jù)傳送。在字符傳送過程中,數(shù)據(jù)位從最低有效位開始傳送,依次在接收設(shè)備中被轉(zhuǎn)換為并行數(shù)據(jù)。
? 奇偶校驗(yàn)位。數(shù)據(jù)位發(fā)送完畢后,為了保證數(shù)據(jù)的可靠性傳輸,常傳送奇偶校驗(yàn)位。奇偶校驗(yàn)用于有限差錯(cuò)檢測(cè)。如果選擇偶校驗(yàn),則數(shù)據(jù)位和奇偶位的邏輯“1”的個(gè)數(shù)必須為偶數(shù);相反,如果是奇校驗(yàn),則邏輯“1”的個(gè)數(shù)為奇數(shù)。
? 停止位。在奇偶位或者數(shù)據(jù)位(當(dāng)無奇偶校驗(yàn)時(shí))之后發(fā)送停止位。停止位是一個(gè)字符數(shù)據(jù)的結(jié)束,可以是1~2位的低電平,接收設(shè)備收到停止位后,通信線路便恢復(fù)邏輯“1”狀態(tài),直到下一個(gè)字符數(shù)據(jù)的起始位到來。
? 波特率設(shè)置。通信線路上傳送的所有位信號(hào)都保持一致的信號(hào)持續(xù)時(shí)間,每一位的寬度都由數(shù)據(jù)的碼元傳送速率確定,而碼元速率是單位時(shí)間內(nèi)傳送碼元的多少,即波特率。
3.UART模塊部分主要實(shí)現(xiàn)計(jì)算機(jī)主機(jī)與ARM之間的數(shù)據(jù)傳輸。
第15章:
答案-填空題
1.SCL串行時(shí)鐘線、SDA串行數(shù)據(jù)線
2.100K、100K、3.4M
3.字節(jié)寫入方式、頁寫入方式
答案-問答題
1.串行時(shí)鐘SCL用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘;串行數(shù)據(jù)/地址SDA用于傳送地址和所有數(shù)據(jù)的發(fā)送或接收。
2.取決于I2C芯片是否必須啟動(dòng)數(shù)據(jù)的傳輸還是僅僅被尋址。
第16章:
答案-填空題
1.MAC控制器、物理層接口
2.CSMA/CD、IEEE802.3 MAC控制層
3.硬件復(fù)位
答案-問答題
1.在收到由主機(jī)發(fā)來的數(shù)據(jù)報(bào)后(從目的地址域到數(shù)據(jù)域),偵聽網(wǎng)絡(luò)線路。如果線路忙,就等到線路空閑為止,否則,立即發(fā)送該數(shù)據(jù)幀。
(1)發(fā)送過程中,首先添加以太網(wǎng)幀頭(包括先導(dǎo)字段和幀開始標(biāo)志),然后生成CRC校驗(yàn)碼,最后將此數(shù)據(jù)幀發(fā)送到以太網(wǎng)上。
(2)接收過程時(shí),將從以太網(wǎng)收到的數(shù)據(jù)幀在經(jīng)過解碼、去幀頭和地址檢驗(yàn)等步驟后緩存在片內(nèi)。在通過CRC校驗(yàn)后,根據(jù)初始化配置情況,通知RTL8019收到了數(shù)據(jù)幀,最后,以某種傳輸模式傳到ARM的存儲(chǔ)區(qū)中。
2.一是看狀態(tài)指示LED是否有閃爍,二是用專業(yè)軟件Sniffer監(jiān)聽到網(wǎng)卡是否不斷發(fā)送數(shù)據(jù)包。
第17章:
答案-填空題
1.USB互連、USB從端口、USB主端口
2.USB集線器、功能設(shè)備
3.1.5~12、120~240
4.同步、中斷、控制、批量
5.Windiver、Microsoft DDK、DriverStudio
答案-問答題
1.USB控制器的端口適用于不同類型的設(shè)備,例如圖像、打印機(jī)、海量存儲(chǔ)器和通信設(shè)備。
2.USB接口數(shù)據(jù)的正確傳輸依靠以下三個(gè)部分。
(1)從設(shè)備中的固件程序;
(2)上位機(jī)中的驅(qū)動(dòng)程序;
(3)上位機(jī)中的應(yīng)用程序。
3.USB的顯著特點(diǎn)有:
(1)高速數(shù)據(jù)傳送;
(2)高自由度連接/拓?fù)浣Y(jié)構(gòu);
(3)帶電插拔/即插即用;
(4)內(nèi)置電源供給;
(5)支持多種傳輸模式。
第18章:
答案-填空題
1.48
2.MAC、IP
3.8、8
答案-問答題
1.?dāng)?shù)據(jù)鏈路層把上層數(shù)據(jù)封裝成帶有目的MAC地址的幀發(fā)出,并接收目的MAC地址的數(shù)據(jù)幀,然后拆封以太網(wǎng)報(bào)頭再發(fā)往上層協(xié)議。
2.系統(tǒng)首先初始化網(wǎng)絡(luò)及串口設(shè)備,當(dāng)有數(shù)據(jù)從以太網(wǎng)傳過來時(shí),ARM對(duì)數(shù)據(jù)報(bào)進(jìn)行分析,如果是ARP數(shù)據(jù)包,則轉(zhuǎn)入ARP處理程序;如果是IP數(shù)據(jù)包且傳輸層使用UDP,端口正確,則認(rèn)為數(shù)據(jù)報(bào)正確,數(shù)據(jù)解包后,將數(shù)據(jù)部分通過端口輸出。反之,如果收到數(shù)據(jù),則將數(shù)據(jù)按照UDP格式打包,送入以太網(wǎng)控制芯片,由其將數(shù)據(jù)輸出到以太網(wǎng)中。
第19章:
答案-填空題
1.啟動(dòng)加載、下載
2.xmodem、ymodem、zmodem
3.bin
答案-問答題
1.第一階段主要是進(jìn)行CPU和體系結(jié)構(gòu)的檢查、CPU本身的初始化,以及頁表的建立等。初始化是從內(nèi)核入口Entry開始到start_kernel前結(jié)束。
第二階段主要是對(duì)系統(tǒng)中的一些基礎(chǔ)設(shè)施進(jìn)行初始化。
最后是更高層次的初始化,如根設(shè)備和外部設(shè)備的初始化。
2.Boot-loader的作用與PC 的BIOS 類似,通過Boot-loader可以完成對(duì)ARM主要部件如CPU、SDRAM、Flash、串行口的初始化,同時(shí)下載文件到硬件板,對(duì)Flash 進(jìn)行擦除與編程。
3.stage1主要完成:硬件設(shè)備初始化;為stage2準(zhǔn)備RAM空間;拷貝stage2到RAM空間中;設(shè)置好堆棧;跳轉(zhuǎn)到stage2的入口。
stage2主要完成:初始化硬件設(shè)備;檢測(cè)系統(tǒng)內(nèi)存映射;將kernel映像和根文件系統(tǒng)映像從Flash上讀到RAM;為內(nèi)核設(shè)置啟動(dòng)參數(shù);調(diào)用內(nèi)核。
第20章:
答案-填空題
1.Boot-loader、Kernel Image、Root File
2.交叉
3.處理器、平臺(tái)
4.binutils、gcc、glibc
答案-問答題
1.完成Linux體系結(jié)構(gòu)的初始化,內(nèi)部中斷、外部中斷、軟中斷的初始化,以及與進(jìn)程有關(guān)的初始化(計(jì)時(shí)器初始化、控制臺(tái)初始化、內(nèi)存模塊初始化)。
2.二進(jìn)制文件處理工具binutils主要應(yīng)用于移植調(diào)試操作系統(tǒng)初期的輔助開發(fā);編譯工具gcc用于編譯內(nèi)核代碼;glibc用于鏈接和運(yùn)行庫文件。
第21章:
答案-填空題
1.Romfs、Cramfs、JFFS、JFFS2
2.根文件系統(tǒng)、普通文件系統(tǒng)
3.用戶層、內(nèi)核層、底層驅(qū)動(dòng)、硬件驅(qū)動(dòng)
4.頁頭、頁數(shù)據(jù)
答案-問答題
1.(1)arch子目錄是所有和體系結(jié)構(gòu)相關(guān)的核心代碼;
(2)include子目錄是編譯核心所需要的大部分頭文件;
(3)init目錄包含kernel初始化代碼;
(4)mm目錄是所有獨(dú)立于CPU體系結(jié)構(gòu)的內(nèi)存管理代碼;
(5)kernel目錄實(shí)現(xiàn)了大多數(shù)Linux系統(tǒng)的內(nèi)核函數(shù);
(6)drivers目錄是系統(tǒng)所有的設(shè)備驅(qū)動(dòng)程序;
(7)lib目錄放置核心的庫代碼,net目錄是核心與網(wǎng)絡(luò)相關(guān)的代碼,ipc目錄包含核心的進(jìn)程間通信的代碼,fs目錄為文件系統(tǒng)代碼和各類型文件的操作代碼。
2.(1)可寫性;
(2)永久存儲(chǔ)性;
(3)掉電穩(wěn)定性;
(4)壓縮性;
(5)在RAM時(shí)間。
3.需要考慮以下幾點(diǎn):
(1)Flash存儲(chǔ)器中各個(gè)塊的最大擦除次數(shù)是有限的,如果能夠均勻地使用各個(gè)塊,就能延長Flash的整體壽命,這就需要文件系統(tǒng)有磨損均衡的功能。
(2)為了提高Flash存儲(chǔ)器的利用率,文件系統(tǒng)應(yīng)該有對(duì)存儲(chǔ)空間的碎片收集功能。
(3)考慮出現(xiàn)嵌入式系統(tǒng)意外掉電的情況,文件系統(tǒng)還應(yīng)該有掉電保護(hù)的功能,保證系統(tǒng)在出現(xiàn)意外掉電時(shí)也不會(huì)丟失數(shù)據(jù)。
第22章:
答案-填空題
1.X Window、MicroWindows、OpenGUI、Qt/Embedded、MiniGUI、PicoGUI
2.Embedded Linux GUI Toolkit、Development Kit
3.Frame-buffer
答案-問答題
1.(1)最底層是屏幕、鼠標(biāo)或觸摸屏和鍵盤的驅(qū)動(dòng)程序,實(shí)現(xiàn)系統(tǒng)的顯示功能以及,滿足用戶的輸入需求。
(2)中間層是可移植的圖形引擎,提供對(duì)畫線、填充、剪切和著色的支持。
(3)最上層提供多種API應(yīng)用程序。
2.(1)占用的存儲(chǔ)空間以及運(yùn)行時(shí)占用資源少。
(2)運(yùn)行速度以及響應(yīng)速度快。
(3)可靠性高。
(4)便于移植和定制。
第23章:
答案-填空題
1.TCP、UDP、ICMP、IGMP、Telnet、FTP
2.網(wǎng)卡接收任務(wù)、TCP任務(wù)、UDP任務(wù)
3.4、2
4.應(yīng)用層、TCP/IP協(xié)議層、網(wǎng)卡驅(qū)動(dòng)
5.UDP
答案-問答題
1.在需要通信的信息量比較小,而且通信環(huán)境可靠性比較好的場(chǎng)合下,不需要選擇TCP而選擇利用UDP,這樣在軟件設(shè)計(jì)上可以簡化,硬件上可以節(jié)約成本。
2.UDP和TCP的主要區(qū)別是兩者在如何實(shí)現(xiàn)信息的可靠傳遞方面不同。TCP協(xié)議中包含了專門的傳遞保證機(jī)制,而UDP協(xié)議并不提供數(shù)據(jù)傳送的保證機(jī)制。
第24章:
答案-填空題
1.G.7xx、MPEG-x、AC-x
2.AD/DA轉(zhuǎn)換、壓縮編碼、數(shù)字信號(hào)處理、信道編碼/調(diào)制
3.PCM
4.采樣率
5.波形編碼、參數(shù)編碼、混合編碼
6.IIS總線格式、MSB-Justified 格式
7.正常傳輸模式、DMA傳輸模式、發(fā)送/接收模式
答案-問答題
1.(1)采用專用的音頻芯片如MP3編解碼芯片,芯片集成音頻編解碼算法。
(2)利用A/D語音采集加計(jì)算機(jī)組成硬件平臺(tái),音頻編解碼算法由計(jì)算機(jī)上的軟件來實(shí)現(xiàn)。
(3)使用A/D采集芯片加帶ARM核的數(shù)據(jù)處理芯片。
2.主要應(yīng)用領(lǐng)域包括:
(1)消費(fèi)電子類數(shù)字音響設(shè)備。
(2)數(shù)字多媒體應(yīng)用。
(3)廣播數(shù)字電視系統(tǒng)。
第25章:
答案-填空題
1.5、D、R、G、B、行、場(chǎng)
2.352×288、176×144
3.亮度與色差、紅綠藍(lán)三基色
答案-問答題
1. 第一種方案是采用代理服務(wù)器方式;第二種方案是直接在處理器上實(shí)現(xiàn)TCP/IP協(xié)議方式;第三種方案是通過嵌入式操作系統(tǒng)上運(yùn)行TCP/IP協(xié)議方式。
2.(1)實(shí)時(shí)性好,能滿足數(shù)據(jù)采集和數(shù)據(jù)處理的實(shí)時(shí)性要求。
(2)性價(jià)比高,在滿足要求的情況下,系統(tǒng)成本應(yīng)盡量低。
(3)可控性好,能夠?qū)崿F(xiàn)遠(yuǎn)距離控制和數(shù)據(jù)傳輸。
3.CMOS技術(shù)的最大優(yōu)點(diǎn)是每一個(gè)像素單元可以集成一個(gè)或多個(gè)晶體管,可以降低系統(tǒng)功耗、體積,提高電池效率。
第26章:
答案-填空題
1.位置、方向、分類、脊線
2.指紋圖像的獲取、指紋圖像的預(yù)處理、指紋特征的提取、指紋特征匹配
3.光學(xué)取像設(shè)備、電容傳感器
4.圖像增強(qiáng)、計(jì)算方向圖、二值化、細(xì)化
答案-問答題
1.指紋識(shí)別、視網(wǎng)膜識(shí)別、虹膜掃描識(shí)別、手掌幾何識(shí)別、聲音識(shí)別、面部識(shí)別等。
2.總體特征是指用人眼直接就可以觀察到的特征,包括基本紋路圖案、模式區(qū)、核心點(diǎn)、三角點(diǎn)、式樣線和紋數(shù)等。局部特征是指指紋上的特征點(diǎn),即指紋紋路上的終結(jié)點(diǎn)、分叉點(diǎn)和轉(zhuǎn)折點(diǎn)。 |
|