3 17嵌入式課程總結

2021-10-04 03:47:15 字數 1398 閱讀 2548

1.gnu計畫的工具;核心除錯kgdb

2.程式的錯誤分類:

編譯時錯誤:語法錯誤

執行時錯誤:記憶體錯誤,邏輯錯誤

3.gdb的功能:執行程式,設定斷點,檢視變數值

4. hello.c操作

gcc -g hello.c -o hello

gdb hello

5.使用

(1) --tui:影象介面

layout asm:顯示彙編

layout src:顯示原始碼

layout split:同時顯示彙編和原始碼

(2) break:設定斷點

break+行號

break+函式名

break+行號 if條件

info break:檢視斷點資訊

delete + 斷點編號:刪除斷點

(3)enable+斷點編號:始能斷點

disable+斷點編號:無效斷點

(4)run:執行程式

continue:從當前斷點繼續執行,直到遇見下乙個斷點為止

list:顯示原始碼

(5)單步執行

step:可以進入子函式

next:不能進入子函式

1.工程管理器:編譯多個檔案(型別不同,存放在不同目錄,資源檔案的使用)組成的軟體**結構----實現自動編譯(根據makefile檔案內容進行)

單個.c—gcc hello.c -o hello

100000個.c(分別儲存在100個不同目錄)—

2.如何編寫makefile檔案?

makefile是個指令碼檔案(批處理)。

makefile語法:目標、依賴、命令(按下tab)

目標:依賴

執行命令,依賴這個檔案,最終生成目標。

makefile執行順序:自上向下,當你的目標依賴的檔案又是乙個目標時,會先跳轉到該目標去執行相關命令。

make+目標名:從該目標開始自上向下執行

3.「自動編譯」:

(1)根據makefile檔案的內容進行自動編譯。

(2)根據檔案的時間戳來判斷檔案是否需要編譯。

4.偽目標

只執行命令,不生成對應的檔案。

.phony:clean(定義偽目標clean)

5.為什麼將.c檔案先編譯生成.o檔案,再生成可執行檔案?

節約程式執行時間。

6.功能目錄管理軟體**------makefile

總控makefile:

進入各個功能目錄執行make,並將所有.o檔案鏈結生成可執行檔案

功能目錄makefile:

將功能目錄下的原始檔編譯生成目標檔案.o

scripts目錄標頭檔案makefile:

定義變數,供其他makefile使用

閱讀makefile順序:s----總----功

3 17嵌入式設計(拓展)

1 單鏈表 鍊錶是一種常用的組織有序資料的資料結構,它通過指標將一系列資料節點連線成一條資料鏈,是線性表的一種重要實現方式。相對於陣列,鍊錶具有更好的動態性,建立鍊錶時無需預先知道資料總量,可以隨機分配空間,可以高效地在鍊錶中的任意位置實時插入或刪除資料。鍊錶的開銷主要是訪問的順序性和組織鏈的空間損...

嵌入式設計課程總結4

偵錯程式 gdb 1.gnu計畫的工具 核心除錯kgdb 2.程式的錯誤分類 編譯時錯誤 語法錯誤 執行時錯誤 記憶體錯誤,邏輯錯誤 3.gdb的功能 1 執行程式 2 設定斷點 3 檢視變數值4.hello.c gcc g hello.c o hello gcc gdb 5.使用 tui 圖形化l...

嵌入式課程設計總結(二)

學習內容 linux介紹 使用linux操作 命令 linux開發工具 目標 會用!夠用!vm虛擬機器 通過軟體的方法模擬pc 為什麼不使用雙系統?嵌入式開發與核心相互,會導致系統崩潰 linux發行版 發行給使用者使用的版本 redhat centos7 企業版 ununtu 16.10 18.0...