嵌入式linux的除錯技術
對於複雜的linux驅動及程式庫,需要使用各種方法對其進行除錯。如:設定斷點、逐步跟蹤**、輸出除錯資訊等。本章將主要介紹如何利用開發板、android模擬器以及一些函式、工具除錯嵌入式linux核心模組、可執行程式和共享庫。
列印核心除錯資訊:printk。該函式的用法與printf函式類似,只不過printk函式執行在核心空間,printf函式執行在使用者空間。也就是說,像linux驅動這樣的linux核心程式只能使用printk函式輸出除錯資訊。
防止printk函式可以很方便地將訊息寫入日誌檔案或控制台。但大量使用printk函式頻繁操作日誌檔案或控制台裝置檔案會嚴重影響linux驅動的效能,因此,這就要求linux驅動只在開發階段使用printk函式輸出資訊,在正式發布linux驅動時將可能影響效能的printk函式去掉。
通過虛擬檔案系統(/proc)進行資料互動:在linux檔案系統中,/proc經常被用來作為核心空間與使用者空間進行資料互動的工具。/proc是虛擬檔案系統,也就是說,/proc並不是真正的檔案系統,而是記憶體對映。所有讀寫/proc的操作都是對記憶體的讀寫。所以讀寫/proc檔案系統的速度要遠比讀寫/dev檔案系統的速度快。
嵌入式Linux除錯技術
嵌入式除錯方法 1.模擬器。比如qtopia core可以用奇趣提供的frame buffer模擬工具qvfb,arm硬體模擬可以用skyeye開源專案。2.遠端除錯。偵錯程式還在pc上,偵錯程式與被除錯的程式通過網路通訊。3.通過log和core dump等檔案事後分析。大多數開發人員認為kgdb...
嵌入式linux除錯技術
android模擬器只能通過埠對映的方式使用kgdbserver除錯程式。但開發板除了可以通過ip連線到kgdbserver外還可以通過串列埠進行連線。開發板同樣也帶了kgdbserver程式,可直接執行。大多數開發人員認為kgdb是最好的核心除錯工具。kgdb除了提供類似的printk函式的日誌輸...
嵌入式除錯技術
嵌入式除錯方法 1.模擬器。比如qtopia core可以用奇趣提供的frame buffer模擬工具qvfb,arm硬體模擬可以用skyeye開源專案。2.遠端除錯。偵錯程式還在pc上,偵錯程式與被除錯的程式通過網路通訊。3.通過log和core dump等檔案事後分析。stdprm標準印表機lp...