隨手筆記 嵌入式綜合考試重點

2021-10-08 00:26:02 字數 3267 閱讀 4469

1、暫存器的定址方式一般來有七種基本定址方式:

立即定址方式、直接定址方式、暫存器間接定址方式、暫存器相對定址方式、基址加變址定址方式、相對基址加變址定址方式等。

後5種的定址方式是確定記憶體單元有效位址的5種不同的計算演算法,實現對陣列元素的訪問!

1)立即定址方式:mov ah, 80h

2)暫存器定址方式:mov ax, bx

3)直接定址方式:mov bx,[1234h]

4)暫存器間接定址方式:mov bx,[di]

5)暫存器相對定址方式:mov bx, [si+100h]

6)基址加變址定址方式:mov bx, [bx+si]

7)相對基址加變址定址方式: mov ax, [bx+si+200h]

舉個栗子:有一條指令

"ldmia r0!, 多暫存器定址

2、cisc複雜指令集 risc 精簡指令集

日常生活中intel,amd的x86 cpu就是採用cisc複雜指令集

日常生活中華為手機,鯤鵬處理器,cpu就採用risc精簡指令集

risc只有load/store操作記憶體

3、linux常用的命令:cp、ls、cat、tar、mv、chmod、file

如果你在根目錄下操作,刪除乙個檔案,需要root去操作!

如果你執行乙個命令的時候,執行不了,檔案許可權不足以你去操作,我去修改這個檔案的許可權!

顯示使用者的主目錄: echo

linux誰創造出來的,創造者名字肯定跟linux有點搭邊!linus tor

4、uboot屬於bootloader的一種,是用來引導啟動核心的,最終目的是從flash中讀出核心,放到記憶體中,啟動核心!

板子上電之後,自動把uboot一部分**拷貝到記憶體中執行,剩餘uboot**拷貝到記憶體中,然後uboot把kernel部分**拷貝到記憶體中,啟動之後,掛著根檔案系統,執行應用程式!

uboot的啟動的大體過程:

1、第一階段主要工作是硬體初始化

2、1)從flash中讀出核心;2)啟動核心

uboot主要作用:

1、用來啟動作業系統核心

2、負責部署整個計算機系統

3、操作flash等板子上硬體驅動,串列埠之類

4、提供命令列介面給人操作

uboot必須解決哪些問題?

1、自身可開機直接自啟

2、能夠引導作業系統核心並給核心傳參

3、提供系統部署功能

4、進行soc級和板級硬體管理

5、uboot的生命週期

總而言之:uboot就是為了啟動核心!!!

5、資料結構的棧的知識點

了解棧的儲存結構的方式有哪些:

鏈式儲存、順序儲存

棧的鏈式儲存的話,在棧頂指標前面插入乙個資料

6、嵌入式設計處理器本身介面:串列埠、ad/da、並行介面

pcie這個介面不是嵌入式設計處理器本身的介面!!!

7、linux根檔案目錄

/bin 二進位制可執行命令的目錄

/dev 存放裝置檔案的目錄

/etc 系統管理和配置檔案目錄

/lib 標準程式設計庫目錄,又叫動態鏈結共享庫

/home 使用者的主目錄

/sbin 系統管理命令,存放是管理使用的管理程式

/tmp 公用的臨時檔案儲存點

/root 系統管理員目錄

/mnt 系統提供這個目錄用來掛載其他檔案系統的

/usr 要用到應用程式和檔案幾乎在這個目錄裡

/var 某些大型檔案溢位去目錄,如系統日誌

登入linux系統後,先進入自己的使用者目錄,這個目錄在/home下

8、c/c++預處理器相關知識點!

c/c++編譯系統編譯程式過程為預處理、編譯、彙編、鏈結

預處理指令一般是以#開頭標識

c/c++提供的預處理功能主要由檔案包含、巨集替換、條件編譯等

檔案包含:

#include ,

#include 「helloh」

巨集定義:

#define nmae 「adasa」

函式呼叫在程式執行時實行,巨集展開是在編譯的預處理階段 gcc -e helloc -o helloi

預處理後檔案字尾名 i格式

預定義巨集:date

條件編譯:

#if#ifdef

#else

#endif

不常用的預處理指令:

#pragma

9、暫存器相加、相減

舉個栗子:把暫存器r1, r2的值相加後存到r0

add r0, r1, r2

把暫存器r2,r3的值相減後存到r1

sub r1, r2, r3

10、linux多程序、管道、訊息佇列等知識點

1)程序一般怎麼建立的, fork()

父程序fork成功的話返回子程序的程序id,不成功返回錯誤!

子程序,如果fork成功話返回值是0

2)管道pipe:半雙工的通訊方式,資料只能單向流動,比如父子程序

3)命名管理fifo,半雙工的通訊方式,允許無親緣關係程序間通訊

4)訊息佇列messagequeue:是由訊息鍊錶,存在在核心中並由訊息佇列識別符號標識

5)共享記憶體sharedmemory:對映一段能被其他程序訪問的記憶體

6)訊號量semaphore:訊號量是乙個計數器,可以控制多個程序對共享資源的訪問

7)套接字socket,也是一種程序間通訊機制

8)訊號sinal,訊號可以在任何時候發給某一程序,無須知道該程序狀態

舉個栗子:ls -l |more 適用於管道!

11、sram dram的區別?

sram 靜態隨機訪問儲存器 dram動態隨機訪問儲存器

sram比我們的dram速度要快!

sram比我們的dram耗電要低!

sram比我們的dram儲存密度低!

12,處理器指令的相關知識點!

拿arm7來看,取指、解碼、執行,**流水線

13、gcc編譯相關知識點

1)預處理階段 gcc -e helloc -o helloi

2)編譯階段 gcc -s helloi -o hellos

3)彙編階段 gcc -c hellos -o helloo

4)鏈結階段 gcc helloo -o hello

14、arm:是一家公司名字、也是乙個技術名稱、對一類微處理器的通稱!

15、賦值運算子《邏輯運算子《關係運算子《算術運算子

舉個栗子:判斷乙個字元是大小還是小寫,

ch>『a』 && ch<『z』

嵌入式綜合複習(記錄三)

變數 全域性變數 儲存型別 1.auto 自動儲存型別 auto int a 2.static 靜態儲存型別 1.修飾區域性變數,改變變數的生命週期 延長到程式結束的時候 但是作用域不變,只初始化一次。2.修飾全域性變數,生命週期不變,限制了變數的作用域 只能在本檔案中使用 3.修飾函式,生命週期不...

嵌入式學習筆記

嵌入式系統定義 技術角度以應用為中心,以計算機技術為基礎,軟硬體可裁剪,應用系統對功能,可靠性,成本,體積,功耗,和應用環境有特殊要求的專用計算機系統系統角度 設計完成複雜功能的硬體和軟體並使其緊密契合在一起的計算機系統 實時在規定的時間內,完成規定的動作 紅帽linux 基本命令 ls 檢視當前目...

嵌入式學習筆記

1 3 買了兩本書鳥哥的 鳥哥的linux私房菜基礎學習篇 第三版 和偉山東的 嵌入式linux應用開發完全手 冊 暫時看不懂 4 看了王剛的 linux系統移植 第二版 實現了windows和linux虛擬機器的檔案的共享 2014 11 02 主機可以ping通虛擬機器,虛擬機器ping不通主機...