1、重新編譯內核
MYD-SAMA5D34開發板的Linux/Android系統默認沒有開啟內核調試信息,所以需要按照以下步驟進行開啟。
(1)找到MYD-SAMA5D34開發板的光盤,將“05-Android_SourceLinux-at91”下的Linux內核包“linux-at91.tar.bz2”復制到Linux主機。
注意:Linux內核包所在的目錄可能不一樣,以實際光盤為準。
(2)在linux主機下切換“linux-at91.tar.bz2”所在目錄,輸入如下命令解壓內核包:
# tar xvjf linux-at91.tar.bz2
(3)進入解壓后目錄,命令如下:
# cd linux-at91
(4)配置環境變量,命令如下:
# export ARCH=arm
(5)編譯開發板的配置文件:
# make sama5d3_android_defconfig
(6)調用圖形菜單對內核進行配置,命令如下:
# make menuconfig
(7)選擇“kernel hacking”>“Kernel debugging”選項,其符號為“DEBUG_KERNEL”。該選項默認是開啟的。
(8)選擇“kernel hacking”>“compile the kernel with debug info”選項,符號為“DEBUG_INFO”。
(9)配置完成以后,按兩次鍵,提示退出時選擇< Yes >保存并退出。
(10)配置交叉編譯工具,命令如下:
# export CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-
注意:交叉編譯工具的搭建請參考MYD-SAMA5D3X開發板的用戶手冊,目錄與上面的可能會有差異,根據具體情況設置。
(11)編譯內核,命令如下:
# make
(12)創建linux鏡像文件,命令如下:
# make uImage
(13)創建完成后,會生成兩個我們調試內核會用到的文件。
-- /arch/arm/boot/uImage
U-boot專用的映像文件,它在zImage之前加上一個長度為0x40的tag。我們下一步需要將它下載到目標板上。
-- /vmlinux
編譯出來未壓縮的,最原始的內核文件。下面DS-5調試選項中需要調用該文件。
(16)將上面生成的uImage鏡像文件拷貝出來,放在自動下載目錄下,再按用戶手冊自動下載進行下載。
2、導入Linux/android源碼
下面要在DS-5里面新建一個名為“MYD-SAMA5D3X_kernel”的工程,導入內核源碼。
(17)打開DS-5,選擇“File”>“Project...”。
(18)選擇“general”>“Project”。
(18)在project name中輸入工程名稱,這里名為“MYD-SAMA5D3X_kernel”,然后點擊“finish”完成工程創建。
(19)打開MYD-SAMA5D3X開發板光盤,將“05-Android_SourceLinux-at91 linux-at91.tar.bz2”壓縮包linux-at91文件夾里面的所有內容解壓到DS-5的“MYD-SAMA5D3X_kernel”工程中,然后右鍵工程名稱,選擇“Refresh”刷新。DS-5中就會顯示添加文件。
??
(20)將新編譯生成的內核鏡像“vmlinux”也復制到“MYD-SAMA5D3X_kernel”工程目錄中, 并刷新。
3、調試配置
(21)將DSTREAM的ARM JTAG 20連接到MYD-SAMA5D34開發板的JTAG(J23)調試接口,并連接好DSTREAM和開發板的電源。
(20)選擇DS-5菜單欄“run”>“debug configuration…”,配置調試選項進行。
(21)在配置調試中,
名稱“name”輸入“MYD-SAMA5D3X_kernel”作為連接名稱。
目標“target”下選擇“Atmel”>“SAMA5D3x”>“Linux Kernel and/or Device Device Debug”。
連接“connections”點擊“browse…”選擇搜索到的DSTREAM仿真器。
(22)Files選線默認留空。Debugger選項配置如下。
運行控制“run control”選擇“connect only”。
點選“execute debugger commands”,并在輸入框中輸入:
interrupt
add-symbol-file "MYD-SAMA5D3X_kernelvmlinux"
(22)下拉“debugger”選項卡,點擊“paths”下面的“workspace…”按鈕,選擇“MYD-SAMA5D3X_kernel”工程作為DS-5源碼搜索路徑。
(17)打開開發板電源(或者復位),讓開發板u-boot引導kernel,然后點擊DS-5中的的“debug”按鈕開始調試。
(18)這樣DS-5就開始連接開發板了,相關視圖如下,顯示當前所有的調試名稱,并且可以進行調試控制.
上圖中,各控制按鈕的作用為:
連接目標板
斷開連接
刪除連接
從main函數或者entry point調試
繼續全速運行
停止運行
單步調試
選擇按C程序單步調試,或者按匯編程序調試
(19)命令欄,可以在“commands”后面敲入命令,讓開發板執行,比如敲入“step”就會進行單步調試。鼠標位于輸入框內,按“Alt + /”可獲得命令提示。
(20)匯編程序欄,顯示程序對應的匯編程序、地址和操作數等。
(21)寄存器欄,顯示內核里面的所有寄存器,在調試的時候可以對寄存器進行修改。
-
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35420 -
安卓
+關注
關注
5文章
2133瀏覽量
57291 -
米爾科技
+關注
關注
5文章
227瀏覽量
20999
發布評論請先 登錄
相關推薦
評論