0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用CodeViser調(diào)試RK3399處理器和Linux kernel指導(第二部分)

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-08-08 11:11 ? 次閱讀

CodeViser是J&D Tech公司開發(fā)的一款JTAG仿真器,支持ARMRISC-VCPU 核。配套的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)境中。

41f60ffa-3598-11ee-9e74-dac502259ad0.png

3、啟動CVD64軟件,進入Config->Interface中,在System選項卡中,點按UP命令,連上板子,進入Debug模式。

42296468-3598-11ee-9e74-dac502259ad0.png

4、用Program->Load命令加載C:homelinux k3399_linux_sdk_v2.0kernelvmlinux,注意:選擇 No-code。

4256b198-3598-11ee-9e74-dac502259ad0.png

4275cce0-3598-11ee-9e74-dac502259ad0.png

開始加載源代碼,由于源代碼較多,加載需要一段時間。可以選擇No-code,不下載板子上的代碼。

42a8b7ea-3598-11ee-9e74-dac502259ad0.png

5、點按工具條上的黃箭頭顯示源代碼,

42c6d72a-3598-11ee-9e74-dac502259ad0.png

42dfff84-3598-11ee-9e74-dac502259ad0.png

6、從菜單Symbol -> Symbol by Name -> Symbol 或點按工具條黃箭頭右側(cè)的一個圖標,打開Symbol Browse View視圖如下圖:

4316053e-3598-11ee-9e74-dac502259ad0.png

7、在Symbol Browse View視圖中輸入:start_kernel, 然后,回車,就可以顯示Debug List View,我們可以看到顯示如下:我們在包含start_kernel這行設(shè)置一個斷點,

4330ea3e-3598-11ee-9e74-dac502259ad0.png

8、然后, 按當前窗口的Go命令,或按工具條上的Go 按鈕,最后我們進入串口窗口,輸入:run bootcmd 回車。

435b1d0e-3598-11ee-9e74-dac502259ad0.png

這時,我們在串口窗口中可以看到,程序停在 Starting kernel ...的地方,這時我們就可以調(diào)試linux kernel的程序了。

9、這時我們可以在start_kernel 下面的語句設(shè)置斷點,如下圖:我們按兩次本窗口上的Go命令,程序就停在了518行上了。

4381e9f2-3598-11ee-9e74-dac502259ad0.png

05

多核調(diào)試

多核調(diào)試需要在多核啟動以后才能調(diào)試,以下我們演示SMP 調(diào)試。我們就需要在多核啟動完成后的smp_cpus_done函數(shù)處設(shè)置一個斷點,選擇System Browser View 視圖,輸入smp_cpus_done, 回車,

43acce38-3598-11ee-9e74-dac502259ad0.png

將會在Debug List View視圖中,彈出smp_cpus_done函數(shù),在此處設(shè)置一個斷點。

43cc3c6e-3598-11ee-9e74-dac502259ad0.png

在上面調(diào)試linuxKernel時,停在start_kernel以后,再點擊圖上工具欄上的運行按鈕或或調(diào)試視圖中Go按鈕,繼續(xù)運行, 程序就會停在smp_cpus_done函數(shù)處,

43f2f930-3598-11ee-9e74-dac502259ad0.png

這時我們看串口中斷信息;

44217530-3598-11ee-9e74-dac502259ad0.png

這時我們雙擊下面工具條上的core選擇core1,這時下面工具條上已經(jīng)顯示的是core1了,說明Debug List View中已經(jīng)是core1的程序了。

446b50b0-3598-11ee-9e74-dac502259ad0.png

單步調(diào)試后,就跳到下圖

44a21050-3598-11ee-9e74-dac502259ad0.png

這時我們返回core0,繼續(xù)調(diào)試一些步驟,我們可以自動進入core4調(diào)試程序,

43f2f930-3598-11ee-9e74-dac502259ad0.png

到第860多行以后程序自動進入了core4,我們可以看下圖的下面的工具條上這時顯示的是core4,

44fbf070-3598-11ee-9e74-dac502259ad0.png

以上就是對稱多處理調(diào)試,也就是SMP調(diào)試簡單的說明。CodeViser 也支持 AMP 調(diào)試,有機會在其他芯片平臺上我們再作詳細說明。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 仿真器
    +關(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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RK3399處理器與AR9201處理器有哪些不同之處呢

    RK3399處理器與AR9201處理器有哪些不同之處呢?hi3559A處理器與RV1126處理器有哪些不同之處呢?
    發(fā)表于 02-21 07:29

    分享一下RK3399處理器的GPU和CPU性能方法

    分享一下RK3399處理器的GPU和CPU性能方法
    發(fā)表于 03-07 06:36

    基于RK3399處理器設(shè)計的RK3399開發(fā)板有哪些配置呢

    基于RK3399處理器設(shè)計的RK3399開發(fā)板有哪些配置呢?基于RK3399處理器設(shè)計的RK3399
    發(fā)表于 03-07 06:34

    RK3399處理器的性能優(yōu)勢有哪些?

    RK3399處理器的性能優(yōu)勢有哪些?
    發(fā)表于 03-08 06:46

    RK3399是什么?RK3399處理器有哪些功能呢

    RK3399是什么?RK3399處理器有哪些功能呢?
    發(fā)表于 03-09 06:37

    RK3399部分數(shù)據(jù)手冊

    RK3399部分芯片手冊
    發(fā)表于 11-08 17:44 ?80次下載

    如何使用 Nios II 處理器進行你中意的設(shè)計之第二部分教程

    使用 Nios II 處理器進行設(shè)計”第二部分
    的頭像 發(fā)表于 06-11 14:36 ?5035次閱讀
    如何使用 Nios II <b class='flag-5'>處理器</b>進行你中意的設(shè)計之<b class='flag-5'>第二部分</b>教程

    瑞芯微RK3399處理器的優(yōu)勢介紹

    Rk3399主板性能優(yōu)勢有哪些?大家都知道rk3399主板在性能以及其他方面都有很大的優(yōu)勢,不僅在CPU與GPU上更為先進,瑞芯微RK3399處理器還具備以下7大優(yōu)勢。
    發(fā)表于 03-18 14:29 ?5803次閱讀

    AN-389: 使用Σ-Δ轉(zhuǎn)換第二部分[中文版]

    AN-389: 使用Σ-Δ轉(zhuǎn)換第二部分[中文版]
    發(fā)表于 03-19 06:38 ?0次下載
    AN-389: 使用Σ-Δ轉(zhuǎn)換<b class='flag-5'>器</b>—<b class='flag-5'>第二部分</b>[中文版]

    超聲波感應(yīng)會被用于何處?—— 第二部分

    超聲波感應(yīng)會被用于何處?—— 第二部分
    發(fā)表于 11-01 08:27 ?2次下載
    超聲波感應(yīng)<b class='flag-5'>器</b>會被用于何處?—— <b class='flag-5'>第二部分</b>

    如何實現(xiàn)更高的系統(tǒng)效率——第二部分:高速柵極驅(qū)動

    如何實現(xiàn)更高的系統(tǒng)效率——第二部分:高速柵極驅(qū)動
    發(fā)表于 11-02 08:15 ?2次下載
    如何實現(xiàn)更高的系統(tǒng)效率——<b class='flag-5'>第二部分</b>:高速柵極驅(qū)動<b class='flag-5'>器</b>

    設(shè)計一臺物聯(lián)網(wǎng)模塊燈——第二部分

    設(shè)計一臺物聯(lián)網(wǎng)模塊燈——第二部分
    發(fā)表于 11-02 08:16 ?0次下載
    設(shè)計一臺物聯(lián)網(wǎng)模塊燈——<b class='flag-5'>第二部分</b>

    生成任意量級的偏置電流網(wǎng)絡(luò)(第二部分

    生成任意量級的偏置電流網(wǎng)絡(luò)(第二部分
    發(fā)表于 11-03 08:04 ?0次下載
    生成任意量級的偏置電流網(wǎng)絡(luò)(<b class='flag-5'>第二部分</b>)

    使用CodeViser調(diào)試RK3399多核芯片的過程

    CodeViser是J&D Tech公司開發(fā)的一款JTAG仿真,支持ARM和RISC-V等CPU 核。配套的CVD調(diào)試軟件提供高效穩(wěn)定的調(diào)試環(huán)境,支持源碼級
    的頭像 發(fā)表于 08-01 11:09 ?1610次閱讀
    使用<b class='flag-5'>CodeViser</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>RK3399</b>多核芯片的過程

    rk3399移植Linux內(nèi)核

    Linux內(nèi)核移植到RK3399上。 首先,我們需要了解RK3399的硬件架構(gòu)和特性。RK3399采用的是ARM架構(gòu),具有雙核Cortex-A72和四核Cortex-A53
    的頭像 發(fā)表于 01-08 09:56 ?1149次閱讀