KGDB移植開發

2021-05-23 05:37:28 字數 1220 閱讀 8529

kgdb

(kernel gnu debugger

)是一種源**級

linux

核心偵錯程式,它以樁函式的方式存在於核心的各個異常處理函式入口,接管核心所有的異常處理。它構建了一種對核心異常的管理機制,例如對斷點異常的管理,對單步異常的管理等,通過對這些異常的管理來達到除錯核心的目的。

kgdb

與執行在主機端的偵錯程式

gdb (

gnu debugger

)配合使用,為除錯

linux

核心提供了一種交叉除錯機制。

gdb

與kgdb

通過串列埠或網口進行資訊互動,使用者可以動態地檢視和修改系統的各種變數,或者在核心中進行斷點設定、單步執行、檢視暫存器和堆疊等操作,與除錯普通的應用程式非常相似。

本文就kgdb

核心版本的製作、配置、編譯和環境搭建進行詳細的描述,能對使用者自行搭建

kgdb

環境並除錯起到指導作用。 在

linux

的發布**上可以獲取到

2.6.15

~2.6.20

的kgdb

補丁。2.6.21

的發布移到了開源**

sourceforge

上。由於

kgdb

補丁並不是對所有核心版本都支援,在選擇補丁版本時應選擇與核心版本最接近的。目前

m300

專案基於

linux 2.6.21

開發,而

kgdb

補丁恰好沒有該版本,所以選擇

2.6.18(arm, ppc, mips)

的補丁作為移植物件。由於核心與補丁的版本號不相同,只能靠手工合**的方式將補丁中的**移植出來,而不能使用

patch

命令。因此選擇2.6.18 補丁作為移植物件。

公共**即對與處理器架構無關的**進行修改,來使

kgdb

獲得對核心的統一的處理。這其中包括: ø

網絡卡驅動和串列埠驅動部分:

用 kGDB 除錯 Linux 核心

這個文件記錄了用kgdb除錯linux核心的全過程,都是在前人工作基礎上的一些總結。以下操作都是基於特定板子來進行,但是大部分都能應用於其他平台。要使用kgdb來除錯核心,首先需要修改config配置檔案,開啟相應的配置,配置核心啟動引數,甚至修改串列埠驅動新增poll支援,然後才能通過串列埠遠端除...

android HDCP移植開發小結

hdcp high bandwidth digital content protection 用以保護數字內容。hdcp在2.0以前的版本都主要是配合hdmi等需要有線連線的裝置的,隨著網路的發展,數字內容的保護需求明顯增加,為了新的應用的需要,hdcp2.0出現了,它只是需要tcp ip連線即可,...

kgdb除錯注意事項

0 首先提下注意事項的背景 kgdb和printk共用乙個串列埠 1設定波特率 最高支援460800波特率 arm eabi gdb vmlinux gdb set remotebaud 460800 設定使用哪個埠,作為通訊埠 gdb target remote dev ttyusb0 2 使用的...