嵌入式面試題 ARM面試題(三)

2021-07-27 16:53:15 字數 2438 閱讀 5895

填空題

答案:裝載映像檔案、程式執行、檢視暫存器和記憶體空間

2.目標機上的angel可以實現的功能為:_____、______、______、_____、______。

答案:基本的除錯功能、c語言庫的支援、通訊支援、任務管理功能、異常中斷處理

3.使用angel開發應用程式包括下面的步驟:_____;______;______;_____。

答案:在armulator或開發板上開發應用程式;建立嚴重依賴angel的應用程式;建立很少依賴angel的應用程式;生成最終的產品

4.當應用程式在特權模式下呼叫angel的swi時,必須保證它的特權模式資料棧為_____型別,並且有足夠angel進入swi時需要的可用空間。

5.jtag除錯介面的結構由____、______、______及______組成。

答案:測試訪問埠tap(test access port)控制器、旁路(bypass)暫存器、指令暫存器和資料暫存器、arm架構處理器

問答題:

1.初始化儲存器有哪幾種方法?

答:初始化儲存器就是設定arm處理器的某些暫存器,這可以通過兩種方法完成:第一種,如果arm處理器內部有sram,則可以建立乙個簡單的工程,該工程對涉及儲存器對映的暫存器初始化;

第二種,利用axd的命令列配置那些暫存器,具體步驟如下:

setmem address,data,size

其中,address是暫存器的位址,data是該暫存器要設定的值,size是資料寬度,一般為32,可以設定多個暫存器;然後開啟axd debugger的命令列視窗,執行下面的命令,配置對應的控制暫存器。

>obey c:\memory_map.txt

執行完畢後,memory_map.txt中的暫存器就配置完畢,儲存器就對映到預定的位址空間了。

2.基於angel的除錯系統由哪兩部分組成?請詳細描述。

答:基於angel的除錯系統由下面兩部分組成,這兩部分之間通過一定的通訊通道連線起來,通常使用的通道是序列口。

位於主機上的偵錯程式(debugger)。它接受使用者命令,將其傳送到目標機上的angel,使其執行一定的操作,並將目標機上angel返回的資料以一定的格式顯示使用者。arm公司提供的各偵錯程式都支援angel。對於其他的偵錯程式,如果它支援angel所使用的除錯協議adp,則也可以支援angel。

位於目標機上的angel除錯監控程式。它接受主機上偵錯程式傳來的命令,返回相應的資料。通常angel有兩個版本:完整版本包含所有的angel功能,主要可以用於除錯應用系統;最小版本包含一些有限的功能,可以包含在最終的產品中。

3.使用angel所需要的資源有哪些,請描述。

答:使用angel所需要的資源包括:

系統資源。angel使用的系統資源包括可配置的系統資源和不可配置的系統資源。可配置的系統資源包括乙個arm程式的swi號和乙個thumb程式的swi號;不可配置的資源包括兩條未定義的arm指令和一條未定義的thumb指令。

異常中斷向量。angel通過初始化系統的異常中斷向量表來安裝自己,從而使得angel有機會接管系統的控制權,來完成相應的功能。

fiq及irq異常中斷。angel需要使用下面的異常中斷來實現主機和目標機之間的通訊功能。推薦使用irq異常中斷。

fiq異常中斷;

irq異常中斷;

同時使用fiq異常中斷和irq異常中斷。

資料棧。angel需要使用自己的特權模式的資料棧。如果使用者應用程式需要呼叫angel功能,則使用者需要建立自己的資料棧。

4.使用完整版本的angel開發應用程式時有什麼程式設計限制?

答:在使用完整版本的angel開發應用程式時,由於angel需要一定的資源,給程式設計帶來了一定的限制。這些限制包括:

angel需要使用自己的處理器特權模式下的資料棧,因此在angel和實時作業系統rtos一起使用時,必須確保在angel執行時,rtos不會切換處理器的模式。否則可能造成宕機。

使用者應用程式盡量避免使用swi 0x123456以及swi 0xab。這兩個swi異常中斷號保留給angel使用。angel使用它們來實現目標程式中c語言執行時庫的semihosting請求。

如果使用者應用程式中使用了swi,則在退出swi時必須將各暫存器的值還原成進入swi時的值。

如果應用程式中需要使用未定義的指令異常中斷,必須注意angel使用了未定義的指令異常中斷。

5.jtag測試訊號由哪五個訊號組成,並分別描述。

答:jtag測試訊號由下面五個訊號組成,分別描述如下。

trst:測試復位輸入訊號,測試介面初始化。

tck:測試時鐘,在tck時鐘的同步作用下,通過tdi和tdo引腳序列移入/移出資料或指令;同時,也為測試訪問埠tap控制器的狀態機提供時鐘。

tms:測試模式選擇訊號,控制測試介面狀態機的操作。

tdi:測試資料輸入線,其序列輸入資料至邊界掃瞄暫存器或指令暫存器(由tap控制器的當前狀態及已儲存在指令暫存器中的指令來控制)。

嵌入式面試題 ARM面試題(二)

填空題 1 arm微處理器在較新的體系結構中支援兩種指令集 答案 arm指令集 thumb指令集 2 arm處理器有9種基本定址方式,分別是 答案 暫存器定址 立即定址 暫存器偏移定址 暫存器間接定址 基址定址 多暫存器定址 堆疊定址 塊拷貝定址 相對定址 3 arm指令集可以分為6類,分別是 答案...

嵌入式面試題 ARM面試題(五)

填空題 1 電子裝置電源系統包括 電源和 電源。答案 交流 直流 2 arm處理器工作狀態主要有 和 模式。答案 執行 睡眠 空閒 3 ic晶元工作一般供電電壓有 答案 5v 3.3v 2.5 1.8v 4 佈線時,電源線 訊號線 地線線寬大小一般為 答案 地線 電源線 訊號線 問答題 1 軟啟動狀...

嵌入式面試題

15 typedef 在c語言中頻繁用以宣告乙個已經存在的資料型別的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子 define dps struct s typedef struct s tps 以上兩種情況的意圖都是要定義dps 和 tps 作為乙個指向結構s指標。哪種方法更好呢?...