嵌入式考試

2022-12-13 08:30:02 字數 5120 閱讀 6339

1. 筆記本不是嵌入式產品

2. 嵌入式系統是以應用為中心,以計算機技術為基礎,採用可剪裁軟硬體,適用於對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。

3. 一般而言,整個嵌入式系統的體積系統結構可以分成4個部分:嵌入式處理器,嵌入式外圍裝置,嵌入式作業系統和嵌入式應用軟體。

4. 嵌入式系統的設計可以分成3個階段:分析,設計和實現

5. arm(advanced risc machines)公司成立於英國劍橋 arm技術智財權(ip)核的微處理器,即我們通常所說的arm微處理器。 在工業控制領域:

作為32位的risc架構

6. arm7系列微處理器為低功耗的32位risc位處理器,支援16位thumb指令集,典型處理速度為0.95mips/mhz

7. arm7tdmi是目前使用最廣泛的32位嵌入式risc處理器,沒有mmu(儲存管理單元)

t—支援16位壓縮指令集thumbd---支援片上debug

m—內嵌硬體乘法器i---嵌入式ice,支援片上輔助除錯

8. xscale處理器是基於armv5te體系結構的解決方案,它支援16位的thumb指令和dsp指令集,是一款全效能、高價效比、低功耗的處理器

9. 嵌入式作業系統有:嵌入式linux、windows ce、symbian、qnx是乙個實時的、可擴充的作業系統,它部分遵循posix相關標準

10. 需要(交叉開發環境)(英文為cross development environment)的支援是嵌入式應用軟體開發時的乙個顯著特點,交叉開發環境是指編譯、鏈結和除錯嵌入式應用軟體的環境,它與執行嵌入式應用軟體的環境有所不同,通常採用宿主機/目標機模式

11. arm(有15個)暫存器: r13-sp堆疊指標暫存器r14-lr鏈結暫存器

r15-pc指標暫存器通用的r0-r12

12. arm執行模式:使用者模式和特權模式fiq快速中斷

13.arm採用哈佛結構,支援arm和thumb指令集

14. xscale核中的記憶體管理單元(mmu)提供記憶體訪問保護、虛擬位址到實體地址的轉換和記憶體空間的分配。其中mmu可以存在內部,也可以協處理器出現。

15. 裸機---------引導程式os映象檔案系統應用程式

16. 開發環境的建立:(1)交叉編譯(2)tftp)(3)minicom設定

17. boot loader是系統加電後執行的第一段**,boot loader就是作業系統核心執行前執行的一段小程式,進行初始化硬體設定,建立核心需要的資訊等工作,最後呼叫作業系統核心。 利用jtag燒寫boot loader 使用minicom實現竄口通訊

18. 巨集名涵義

沒有副檔名的當前目標檔案

當前目標檔案

$《當前目標檔案最近更新的檔名

當前目標檔案最近更新的檔名

19. 若目標機接在com1上,則輸入/dev/ttys0;若接在com2上則輸入/dev/ttys1.按回車鍵結束設定

20. bootp是一種協議,工作原理:在目標板上傳送bootp請求時,宿主機上安裝的bootp伺服器(bootpd)根據/etc/bootptab中定義的目標機資訊來生成bootp回應包以做應答。

欄位ht表示硬體型別(hardware type)因為使用10mb ethernet,所以設定為1(ethernet);ha表示硬體位址(hardware address),是傳送bootp請求的目標機mac位址;ip表示分配給目標機的ip位址;sm表示子網掩碼(subnet mask),應與宿主機相同

21. arm核心基於risc技術,其結構是一種變形的哈佛結構,即記憶體和指令在邏輯上是相互獨立的。arm有7種執行狀態,它們分別是:

使用者狀態(user)、中斷狀態(irq,interrupt request)、快中斷狀態(fiq,fast interrupt request)、監管狀態(supervisor)、終止狀態(abort)、無定義狀態(undefined)和系統狀態(system)。7種狀態中的每一種都有自己的堆疊指標sp和鏈結暫存器lr。arm的7種執行狀態除了使用者狀態之外,其餘的都是系統狀態.

arm系統結構中另有一專門用於「快中斷(fiq)」狀態的5個單元暫存器r8-r12

22. 儲存管理包括位址對映,記憶體空間的分配,位址空間保護,如果將i/o也放在記憶體位址空間中,則還要包括i/o位址的對映

23. 在arm系統結構中,位址對映可以是單層的按「段(section)」對映,也可以是二層的頁面對映

24. linux核心的儲存管理採用頁面對映,並且採用最普通的三層對映模型

25. 在arm處理器也有自陷指令,這就是swi

26. init程序是系統所有程序的起點,它的程序號是1,init程式需要讀取/etc/inittab檔案作為其行為指標,inittab是以行為為單位的描述性(非執行性)文字

27. rc啟動指令碼都位於/etc/目錄下,下的檔案都是指向/etc/目錄下各個shell指令碼的符號鏈結,而這些指令碼一般都能接受start、stop、restart、status等引數

28. 新程序通過轉殖老程序或當前程序來建立,要讓若干新程序按照需要處理不同的事情,就必須通過系統呼叫exec(這實際上是一組名為exec的函式)。

29. lsmod 把現在核心中已經安裝的模組列出來

insmod 把某個模組安裝到核心中

rmmod 把某個沒在用的模組從核心中解除安裝

depmod 製造模組相關檔案,以告訴將來的insmod要去哪兒找模組來安裝。這個模組相關檔案放在/lib/modules/[當前kernel版本]/

30. 編譯核心配置3步驟:(1)使用make menuconfig配置核心(2)make dep構建依賴(3)使用make zimage命令來編譯核心

31. 嵌入式作業系統的檔案系統的設計目標:(1)使用簡單方便(2)安全可靠(3)實時響應(4)介面標註的開放性和可移植性(5)可伸縮性和可配置性(6)開放的體系結構(7)資源有效性.

32. 嵌入式linux常用檔案系統:(快閃儲存器、第二版擴充套件檔案系統ext2fs、jffs和yaffs、ext2、nfs、jffs2、ramfs)快閃儲存器主要有兩種技術,nand和nor。

nand型的單元排列是序列的,而nor型則是並行的。nand型的快閃儲存器可以看作順序讀取的裝置,它在讀和擦檔案,特別是連續的大檔案時,與nor型的快閃儲存器相比速度更快,但nand型的不足在於隨機訪問速度較慢,而且沒有辦法按位元組寫。nor型隨機訪問速度較快,而且可以隨機按位元組寫。

nand型的記憶體適合用在大容量的多**應用中,而nor型適合應用在資料/程式儲存應用中。 其中jffs檔案系統是瑞典axis通訊公司開發的一種基於flash的日誌檔案系統

33. 常用編譯工具:gcc 常用除錯工具:gdb

34. linux的壓縮工具及格式:bzip、gzip、

35. tab鍵作用:命令自動補齊掛載命令:mount 目錄:/mnt/

36. linux支援三類硬體裝置:字元裝置、塊裝置和網路裝置。linux抽象了對硬體的處理,所有的硬體裝置都可以作為普通檔案看待

37. 每個裝置檔案都對應有兩個裝置號:乙個是主裝置號,標識該裝置的種類,也標識了該裝置所使用的驅動程式;另乙個是次裝置號,標識使用同一裝置驅動程式的不同硬體裝置。

簡答題:(1)採用risc架構的arm微處理器一般具有如下特點:

a. 體積小、低功耗、低成本、高效能

b. 支援thumb(16位)/arm(32位)雙指令集,能很好的相容8位/16位器件

c. 大量使用暫存器,指令執行速度快

d. 大多數資料操作都在暫存器中完成

e. 定址方式靈活簡單,執行效率高

f. 採用固定長度的指令格式

( 2 )boot loader的階段1通常包括以下步驟

a. 硬體裝置初始化

b. 為載入boot loader的階段2準備ram空間

c. 複製boot loader的階段2到ram空間中

d. 設定好堆疊

e. 跳轉到階段2的c入口點

boot loader的階段2通常包括一下步驟

a. 初始化本階段要使用到的硬體步驟

b. 檢測系統記憶體對映(memory map)

c. 將kernel映像和根檔案系統映像從flash讀到ram空間中

d. 為核心設定啟動引數

e. 呼叫核心

( 3 )linux程序排程由函式schedule()實現,其基本流程可以概括為5步:

a. 清理當前執行中的程序

b. 選擇下乙個投入執行的程序

c. 設定新程序的執行環境

d. 執行程序上下文切換

e. 後期整理

( 4 )linux核心移植大致可以歸納成以下幾個步驟:

a. 建立交叉編譯環境

b. 製作boot loader

c. 修改和編譯核心

d. 製作檔案系統

e. 編寫應用程式

( 5 )使用busybox構建根檔案系統

a. 解壓busybox

b. 編譯busybox

c. 配置檔案系統

d. 製作jffs2檔案映像

綜合設計題:設計和實現乙個ked&led驅動

在這個實驗中,通過設計和實現乙個ked&led驅動程式,來控制目標板上的一組led燈,在安裝完驅動後,執行測試程式,就能點亮led燈。在這個驅動設計中,需要對乙個實際的硬體(led燈)進行控制,即lednkey_open、lednkey_read、lednkey_write、lednkey_release、其中lednkey_ioctl介面函式主要用於獲取或者改變正在執行的裝置的引數。

//控制函式介面

int lednkey_ioctl(struct inode *inode,struct file *filp,unsigned int cmd,unsigned long arg)

}return 0;

}//註冊函式

struct file_operations lednkey_fops = ;

//模組的註冊和登出函式

static int _init xsbase255_keypad_init(void) {

int result;

result = register_chrdev(lednkey_major,"lednkey",&lednkey_fops);

printk("%s %s initialized.\n",keypad_name,keypad_version);

嵌入式總結

什麼叫嵌入式系統 以應用為中心 以計算機技術為基礎 軟體硬體可裁剪 適應應用系統對功能 可靠性 成本 體積 功耗嚴格要求的專用計算機系統。什麼叫嵌入式處理器?嵌入式處理器分為哪幾類?嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。分為四類 1 嵌入式微處理器 embedded micropr...

嵌入式總結

第三部分 arm處理器特點。功耗低 成本低 效能高 支援thumb 16位 arm 32位 雙指令集 cortex支援thumb 2 16 32位混合指令系統 指令長度固定 32位 16位 大量使用暫存器,指令執行速度更快,都可用於多種用途 定址方式靈活簡單,執行效率高 arm處理器的各系列情況。a...

嵌入式重要

什麼是嵌入式系統?2005 8 23 9 39 12 by mcublog 10推薦顧名思義,嵌入到mcu核心 嵌入式系統一般指非pc系統,它包括硬體和軟體兩部分。硬體包括處理器 微處理器 儲存器及外設器件和i o埠 圖形控制器等。軟體部分包括作業系統軟體 os 要求實時和多工操作 和應用程式程式設...