CodeViser是J&D Tech公司開發(fā)的一款JTAG仿真器,支持ARM和RISC-V等CPU 核。配套的CVD調(diào)試軟件提供高效穩(wěn)定的調(diào)試環(huán)境,支持源碼級調(diào)試和強有力的腳本命令。本文討論使用CodeViser 調(diào)試瑞芯微公司RK3399 多核芯片的過程,開發(fā)板使用華清FS3399 開發(fā)板。
RK3399的CPU采用big.LITTLE大小核架構(gòu),雙Cortex-A72大核+四Cortex-A53小核結(jié)構(gòu),對整數(shù)、浮點、內(nèi)存等作了大幅優(yōu)化,在整體性能、功耗及核心面積三個方面都具革命性提升。
04
Liunx Kernel 調(diào)試
1、按照華清FS3399的使用手冊指導, 建立linux系統(tǒng)的虛擬機,按照第三章 Linux 系統(tǒng)編譯中的說明,獲取系統(tǒng)的所有源代碼,在虛擬機中編譯全系統(tǒng)所有代碼,或者單獨編譯linux kernel,編譯完成,將其打包拷貝到裝有CVD64軟件的機器上,并按照原始編譯路徑建立目錄(例如:作者的路徑為C:homelinux k3399_linux_sdk_v2.0),將linux kernel 源代碼解壓到所建立的目錄中備用。
2、用串口如前所述,啟動板子上的系統(tǒng),按CTRL+C讓其停在uboot環(huán)境中。
3、啟動CVD64軟件,進入Config->Interface中,在System選項卡中,點按UP命令,連上板子,進入Debug模式。
4、用Program->Load命令加載C:homelinux k3399_linux_sdk_v2.0kernelvmlinux,注意:選擇 No-code。
開始加載源代碼,由于源代碼較多,加載需要一段時間。可以選擇No-code,不下載板子上的代碼。
5、點按工具條上的黃箭頭顯示源代碼,
6、從菜單Symbol -> Symbol by Name -> Symbol 或點按工具條黃箭頭右側(cè)的一個圖標,打開Symbol Browse View視圖如下圖:
7、在Symbol Browse View視圖中輸入:start_kernel, 然后,回車,就可以顯示Debug List View,我們可以看到顯示如下:我們在包含start_kernel這行設(shè)置一個斷點,
8、然后, 按當前窗口的Go命令,或按工具條上的Go 按鈕,最后我們進入串口窗口,輸入:run bootcmd 回車。
這時,我們在串口窗口中可以看到,程序停在 Starting kernel ...的地方,這時我們就可以調(diào)試linux kernel的程序了。
9、這時我們可以在start_kernel 下面的語句設(shè)置斷點,如下圖:我們按兩次本窗口上的Go命令,程序就停在了518行上了。
05
多核調(diào)試
多核調(diào)試需要在多核啟動以后才能調(diào)試,以下我們演示SMP 調(diào)試。我們就需要在多核啟動完成后的smp_cpus_done函數(shù)處設(shè)置一個斷點,選擇System Browser View 視圖,輸入smp_cpus_done, 回車,
將會在Debug List View視圖中,彈出smp_cpus_done函數(shù),在此處設(shè)置一個斷點。
在上面調(diào)試linuxKernel時,停在start_kernel以后,再點擊圖上工具欄上的運行按鈕或或調(diào)試視圖中Go按鈕,繼續(xù)運行, 程序就會停在smp_cpus_done函數(shù)處,
這時我們看串口中斷信息;
這時我們雙擊下面工具條上的core選擇core1,這時下面工具條上已經(jīng)顯示的是core1了,說明Debug List View中已經(jīng)是core1的程序了。
單步調(diào)試后,就跳到下圖
這時我們返回core0,繼續(xù)調(diào)試一些步驟,我們可以自動進入core4調(diào)試程序,
到第860多行以后程序自動進入了core4,我們可以看下圖的下面的工具條上這時顯示的是core4,
以上就是對稱多處理調(diào)試,也就是SMP調(diào)試簡單的說明。CodeViser 也支持 AMP 調(diào)試,有機會在其他芯片平臺上我們再作詳細說明。
審核編輯:劉清
-
仿真器
+關(guān)注
關(guān)注
14文章
1018瀏覽量
83744 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
593瀏覽量
27397 -
JTAG
+關(guān)注
關(guān)注
6文章
400瀏覽量
71687 -
Cortex-A53
+關(guān)注
關(guān)注
0文章
33瀏覽量
21335 -
RK3399
+關(guān)注
關(guān)注
2文章
211瀏覽量
24866
原文標題:使用CodeViser 調(diào)試RK3399 處理器和Linux kernel指導(第二部分)
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論