嵌入式操作系統(復習題)_第1頁
嵌入式操作系統(復習題)_第2頁
嵌入式操作系統(復習題)_第3頁
嵌入式操作系統(復習題)_第4頁
嵌入式操作系統(復習題)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上一、填空題1. ARM處理器中斷有 快速中斷模式(FIQ) 和 外部中斷模式(IRQ) 處理模式。2. 典型的ARM基于JTAG調試結構包括哪幾個部分?Debug主控端,協議轉換器,調試目標機 3. LINUX系統中設備文件通常分為哪幾種?字符設備(無緩沖且只能順序存取)、塊設備(有緩沖且可以隨機存取)。4. LINUX環(huán)境中的變量包括哪幾個?path home histsize hostname shell mail ps1 lang/langue 5. gcc編譯分成哪4個階段:預處理(Pre-Processing) > 編譯(Compling) ->

2、 匯編(Assembling) -> 連接(Linking)6. flash memory上的兩種技術分別是 NAND 和 NOR 7. MMU是 內存管理單元 ,主要作用有地址映射和 對地址訪問進行保護和限制 8. Pxa255擁有 7 級超級流水線,主要由 主流水線、MAC流水線和內存訪問流水線部分構成的9. 進程的虛擬內存包括 和 10. 內核(kernel) 是操作系統內部核心程序,它向外部提供了對計算機核心管理調用11. 模塊的裝入通過insmod命令手工將module載入內核 和 根據需要載入module 12. 嵌入式操作系統要為特定的硬件設備或環(huán)境設計符合要求的 圖形用戶

3、界面GUI 13. 在LINUX根文件系統中所有的設備文件都放在 目錄dev下 或其子目錄之下 14. X Windows 最先在Unix上使用的圖形界面,由X 服務器 X客戶機X 協議 三部分組成15. 內核最后一個初始化動作是 啟動初始化程序 (運行/sbin/init可執(zhí)行文件) 16. 線程 共享資源的程序實體,創(chuàng)建一個線程系統開銷要比一個進程 小的多 17. 內核碰到錯誤時,會顯示 處理器 狀態(tài),包括cpu寄存器的內容和 頁描述表的位置 還有 一些難理解的信息 18. 在ARMLINUX體系中用來處理外設中斷的異常模式是中斷請求19. 閃存主要由 NOR flash 和 NAND f

4、lash 20. 預定義變量:將所有的外部變量表示成內建環(huán)境變量,并且將錯誤信息表示成返回值AS = as 指定匯編器 ASFLAGS AS指令的選項設置 CC = cc =gcc 指定編譯器 $* 沒有擴展名的當前目標文件 $ 當前目標文件 $ < 規(guī)則的第一個依賴文件名 $? 比目標文件更新的依賴文件列表 $ 規(guī)則的所有依賴文件列表 $% 如果目標是歸檔成員,則該表示目標的歸檔成員名稱。例如,如果目標名稱為(image.o),則 $ 為 ,而 $% 為 image.o。二、選擇題1. 處理器的型號(嵌入式和非嵌入式) ARM(XScale), EMPU,EDSP,SOC,MIPS,P

5、owerPC,M68000,SecurCore,StrongARM ,Palm OS , Psos2. reboot 命令可以馬上重新啟動正在運行的LINUX系統3. 處理器的選擇要考慮的主要因素 處理性能,技術指標,功耗,功率損耗檢測4. LINUX文件權限的含義(共四段)第一位表示文件類型  -表示普通文件。d表示目錄文件第二、三、四位表示文件所有者的讀,寫,執(zhí)行權限第五、六、七位表示文件所在屬組的讀,寫,執(zhí)行權限第八、九、十位表示文件的其它用戶的讀,寫,執(zhí)行權限5. 用 chmod命令可以更改一個文件的權限設置6. 找出一個不是LINUX設備驅動和外界的接口 驅動程序

6、與操作系統內核的接口,驅動程序與系統引導的接口,驅動程序與設備的接口7. 用 Makefile 命令來實現自動編譯8. 在LINUX中,進程以 PID 作為標識9. 找出塊設備 IDE硬盤,SCSI硬盤,CD_ROM,大小通常為512B32KB在大多數Linux發(fā)行版本中,以下哪個屬于塊設備 (block devices)  A. 串行口 B. 硬盤、磁盤 C. 虛擬終端 D. 打印機選B 10. 硬鏈接的特點1,不能跨分區(qū),2,不能給目錄作硬鏈接3,刪除鏈接原始文件硬鏈接只能引用同一文件系統中的文件。它引用的是文

7、件在文件系統中的物理索引(也稱為 inode)。當您移動或刪除原始文件時,硬鏈接不會被破壞,因為它所引用的是文件的物理數據而不是文件在文件結構中的位置。硬鏈接的文件不需要用戶有訪問原始文件的權限,也不會顯示原始文件的位置,這樣有助于文件的安全。如果您刪除的文件有相應的硬鏈接,那么這個文件依然會保留,直到所有對它的引用都被刪除。11. 用find查找當前目錄下的以.c結尾的文件并輸出結果的命令是(D )Afind . name “?.c” printBfind . name “#.c” printCfind 

8、;. name “!*.c” printDfind . name “*.c” print12. 在ARM處理器的工作模式中, 快速中斷(FIQ)模式有自己的獨立寄存器r81413. 主目錄的絕對路徑名以 形式顯示(pwd)14. 在vi編輯器命令模式下,重復上一次對編輯的文本使用 上箭頭命令 命令15. 在使用文件通配符 ? 的含義 匹配任何單個字符 文件系統的主要功能是 (嵌入式Linux文件系統)文件系統不僅要管理文件,提供文件系統API,還要管理各種設備,支持對設備和文件操作的一致性(像操作文件一樣操作各種I/O設備)

9、 管理和調度文件的存儲空間,提供文件的邏輯結構、物理結構和存儲方法;實現文件從標識到實際地址的映射(即按名存取),實現文件的控制操作和存取操作(包括文件的建立、撤銷、打開、關閉,對文件的讀、寫、修改、復制、轉儲等),實現文件信息的共享并提供可靠的文件保密和保護措施,提供文件的安全措施(文件的轉儲和恢復能力)。16. 找出不是斷電的狀態(tài)17. 嵌入式系統應用軟件需要 交叉編譯 環(huán)境支持宿主機開發(fā)及在目標機上運行三、判斷題1. LINUX文件名的長度不得超過256個字符 ×2. 創(chuàng)建一個線程所花費的系統開銷要比進程小的多 3. 基于ARM架構的指令都是32位 × 64位4. B

10、ootloader是嵌入式系統運行的第一個程序 5. LINUX是一個真正的多用戶多任務的操作系統,允許多個用戶在相同的機器并能保證相互之間的共享和安全 6. LINUX可根據系統物理內存的大小限制已打開進程的總數目 7. 根據文件系統所在的分區(qū)越大越好,因為越大,LINUX啟動速度越快 × 8. Flash存儲器是一種可在系統進行擦寫,掉電后,信息不會丟失的存儲器 9. Shell命令的第一個按鍵必須是字符,數字或空格 ×10. 重定向的符號表示輸入追加 11. 在gdb調試中,可以用make命令,不用退出gdb就能重新產生可執(zhí)行文件 12. 在使用gcc編譯文件,只想生

11、成目標文件不進行連接,需要選項-c 13. Busybox常用來替代桌面系統的shell等程序,為嵌入式用戶提供使用環(huán)境 14. 用ls c命令可以建立一個鏈接文件 × 是查找命令 -L15. LINUX采用線程調用程序,選擇線程占用cpu運行 × 不占用16. 模塊是具有獨立功能的程序,它可以被單獨編譯,可以獨立運行(不能獨立運行) ×17. 根文件系統是系統啟動時,首先加載的文件系統,因此需要快速加載的內容放置其中,以加快系統運行速度 × 根文件系統是系統掛載的第一個文件系統,根文件系統要包括LINUX啟動時所必需的文件和關鍵性的文件。18. 在下列

12、 arm處理器的各種模式中,只有系統模式不可以自由的改變處理器的工作模式× 用戶模式四、簡答題1. 什么是符號鏈接(軟鏈接)?什么是硬鏈接?兩者區(qū)別?由于linux下的文件是通過索引節(jié)點(Inode)來識別文件,硬鏈接可以認為是一個指針,指向文件索引節(jié)點的指針,系統并不為它重新分配inode。每添加一個一個硬鏈接,文件的鏈接數就加1。軟鏈接克服了硬鏈接的不足,沒有任何文件系統的限制,任何用戶可以創(chuàng)建指向目錄的符號鏈接。因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網絡對文件進行鏈接。 如果給ln命令加上- s選項,則建立軟鏈接。如果鏈接名已經存在但不是目錄,將不

13、做鏈接。鏈接名可以是任何一個文件名(可包含路徑),也可以是一個目錄,并且允許它與“目標”不在同一個文件系統中。如果鏈接名是一個已經存在的目錄,系統將在該目錄下建立一個或多個與“目標”同名的文件,此新建的文件實際上是指向原“目標”的符號鏈接文件。 2. 嵌入式系統的定義,整個嵌入式系統的體系結構可以分成哪4個?嵌入式系統是以應用為中心,以計算機技術為基礎,采用可剪裁軟硬件,適用于對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。整個嵌入式系統的體系結構可以分成四個部分:嵌入式處理器、嵌入式外圍設備、嵌入式操作系統和嵌入式應用軟件。3. 嵌入式系統的設計步驟有哪些?各部分的主要工作是什

14、么?嵌入式系統的設計可以分成三個階段:分析、設計和實現 分析階段是確定要解決的問題及需要完成的目標,也常常被稱為需求階段;設計階段主要是解決如何在給定的約束條件下完成用戶的要求;實現階段主要是解決如何在所選擇的硬件和軟件的基礎上進行整個軟、硬件系統的協調實現。 4. 在LINUX中如何編輯c程序使其成為可執(zhí)行文件,如何調試它?1)檢查程序中.h文件所在的目錄,將其加入系統PATH中; 2)執(zhí)行C編譯:#gcc 源文件名 -o 目標文件名 執(zhí)行C+編譯:#g+ 源文件名 -o 目標文件名 3)改變目標文件為可執(zhí)行文件:#chmod +x 目標文件名 4)如需將多個可執(zhí)行文件連續(xù)執(zhí)行,可生成批處理

15、文件: #vi 批處理文件名 可執(zhí)行文件1 可執(zhí)行文件2.最后將該批處理文件屬性該位可執(zhí)行。 調試:在編譯時使用-g參數,就可以使用gdb進行調試。5. ARM主要支持哪2種數據存儲模式并描述特點支持大端格式和小端格式。 大端格式:字數據的高字節(jié)存儲在低地址中,而字數據的低字節(jié)則存放在高地址中。 小端格式:低地址中存放的是字數據的低字節(jié),高地址存放的是字數據的高字節(jié)。 6. 簡述ARM體系中地址映射采用哪2種方式,分別論述每種形成32位方法虛擬內存到磁盤文件的映射 虛擬內存到物理內存的映射7. 什么是bootloader?主要工作模式?主要功能?概括地說,Boot

16、 Loader就是操作系統內核運行之前運行的一段小程序。主要工作模式:啟動加載模式 和 下載模式主要功能:通過這段小程序,可以初始化硬件設備和建立內存空間的映射圖,從而可以將系統的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調用操作系統內核準備好正確的環(huán)境。8. 簡述嵌入式LINUX系統初始化過程屏蔽所有的中斷、設置CPU的速度和時鐘頻率、RAM初始化、初始化LED。五、實驗題1. 新建、移動、刪除、復制、文件打包新建:mkdir移動:move刪除:rm復制:cp文件打包:tar filename.tar.gz2. 基本命令或shell編程:提示用戶輸入文件名;判斷這個文件是否為目錄,如果是,將其

17、目錄設置為當前目錄;3. 開發(fā)環(huán)境的建立 tftp boot需要的鏡像文件都有了,寫出目標機下載boot load和kernel(內核)關鍵步驟和命令。kernel是怎么下載到目標板上的,文件系統是怎么下載到目標板上的rootlocalhost #cd /tftpbootrootlocalhost tftpboot lsrootlocalhost tftpboot minicom在目標機上用TFTP下載鏡像文件XSBASE > tftp zImage kernel 復制到flash中 XSBASE > flash kernel下載文件系統filesysytemXSBASE >

18、 tftp rootfs.img rootXSBASE > flash rootReboot4. gdb編譯的步驟命令(填空關鍵步驟)編譯文件:gcc g filename.c -o filename運行: ./filename調試: gdb filename(gdb) file filename (這個命令將載入filename可執(zhí)行文件,就像你在gdb命令行里裝入它一樣)運行程序:(gdb) run(gdb) list (三次,列出源代碼)設置斷點: (gdb) break 23查看斷電信息: (gdb) info break運行程序:(gdb ) r單句執(zhí)行 :(gdb) next

19、繼續(xù)運行程序: (gdb) c打印變量i : (gdb) p i退出 GDB :(gdb) q5. Makefile 給出幾個文件,寫出make file的文件(如果不使用預定義變量/使用預定義變量該怎么寫)通過vi編譯器來創(chuàng)建兩個文件hello.c和makefileHello.c Makefile #include “stdio.h” CC=gcc main() hello:hello.o $(CC) hello.o o hello printf(“welcome to shanghai!n”); hello.o:hello.c $(CC) chello.c o hello.oclean:

20、rm rf hello*.o使用預定義變量編譯程序MakefielCC=gcchello:hello.o $(CC) $ -o $hello.o:hello.c $(CC) c $< -o $clean: rm rf hello*.o 6. Busybox文件系統操作的過程當中一些主要的命令將busybox-1.00-pre5.tar.gz.bz2放在/root/tars下并進行解壓縮#mkdir /root/tars#cp busybox-1.00-pre5.tar.gz.bz2 /root/tars#tar jxvf busybox-1.00-pre5.tar.gz.bz2#cd b

21、usybox-1.00-pre5#make menuconfig (出現busybox的配置界面)保存后,編譯BusyBox#make dep#make#make install編譯和安裝完后可以在生成_install目錄。第一題:tar -cxtzjvfpPN 文件與目錄 .參數-c :建立一個壓縮文件的參數指令(create 的意思);-x :解開一個壓縮文件的參數指令!-t :查看 tarfile 里面的文件!特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?-j :是否

22、同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執(zhí)行過程!-f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加參數!例如使用 tar -zcvfP 生成文件名 目標文件夾就是錯誤的寫法,要寫成 tar -zcvPf tfile sfile才對喔!第二題:echo "Name"read filenameif -d $filename thencd $filenamebashelseecho "NOT Directory"fi第三題:1、TFTP命令下載kernel:tftp

23、zImage kernel2、復制到flash中:flash kernel3、下載filesystem:tftp rootfs.img rootflash root第四題:編譯GDB:/usr/local 文件夾下解壓tar xvzf gdb-5.3.tar.gzcd gdb-5.3./configure -target=arm-linux -prefix=/usr/local/arm-gdb -vmakemake intsallGDB客戶端編譯:cd /usr/local/gdb-5.3export PATH=$PATH:usr/local/arm-linux/bin./configure

24、-target=arm-linux -host=arm-linuxcd gdb/gdbservermake CC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gcc (會出錯)修改 gdb/gdbserver/config.h文件注釋掉 ,修改為 /#define HAVE_SYS_REG_H 1make CC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gccGDB調試:配置IP,使同一網段(目標板0.50,本機0.2)arm-linux-gcc-g test.c -o test下載(zmodem

25、)test和gdbserver到XSBase連接:目標板上命令./gdbserver :1234 test 結果顯示進程建立成功與進程PID本機命令cp /pxa255/test /usr/local/arm-gdb/bincd /usr/local/arm-gdb/bin./arm-linux-gdb test連接成功,目標板回顯消息:remote debuggingXXXXXXXXlist顯示代碼 break n設斷點,n代表行數cont執(zhí)行step單步quit退出第五題:CC=gcchello:hello.o$(CC) hello.o -o hellohello.o

26、:hello.c$(CC) hell.c -c hello.oclean:rm -rf *.oCC=gccTARGET=cacuOBJS=add/aa.o add/bb.o sub/cc.o main.oRM=rm -f$(TARGET):$(OBJS)$(CC) -o $(TARGET) $(OBJS)$(OBJS):%.o:%c將OBJS中所有.o的文件替換成.c文件$(CC) -c $< -o $編譯生成目標文件clean-$(RM) $(TARGET) $(OBJS)$*不包含擴展名的目標文件名稱。$+所有的依賴文件,以空格分開,并以出現的先后為序,可能包含重復的依賴文件。$&l

27、t;第一個依賴文件的名稱。$?所有的依賴文件,以空格分開,這些依賴文件的修改日期比目標的創(chuàng)建日期晚。$目標的完整名稱。$所有的依賴文件,以空格分開,不包含重復的依賴文件。第六題:(詳情見PDF)#tar jxvf busybox-1.00-pre5.tar.gz.bz2#cd busybox-1.00-pre5#make menuconfig# make dep# make # make install建立etc目錄:rootlocalhost _install# mkdir etc在etc目錄下,建立rc文件:#!/bin/shhostname FIGO mount -t proc proc /proccat /etc/motd改變其文件屬性# chmod 777 rc在etc目錄下,建立inittab文件:sysinit:/etc/init.d/rcS# Start an "askfirst" shell on the console (whatever that may be):askfirst:-/bi

溫馨提示

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

評論

0/150

提交評論