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

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

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

迅為2K1000開發(fā)板龍芯平臺Ejtag 單步調(diào)試 PMON 的匯編階段

北京迅為電子 ? 2022-03-21 15:14 ? 次閱讀

迅為2K1000開發(fā)板

Ejtag調(diào)試器

在 9.6 小節(jié)中,我們在匯編節(jié)點實現(xiàn)了 led 閃爍的功能,如果您自己寫的程序沒有成功,我們該如何調(diào) 試呢?就可以利用 Ejtag 仿真器進(jìn)行單步調(diào)試。

那我們要如何進(jìn)行單步調(diào)試呢?我們是不是就得先知道每一個指令對應(yīng)的地址呢?這樣我們才可以打斷點。我們先來修改一下在 9.6 小節(jié)中的代碼,我們加一個標(biāo)簽。如下圖所示:

然后我們重新編譯 pmon 源碼生成 pmon 鏡像并燒寫到開發(fā)板,一定要將編譯的燒寫到開發(fā)板!??!接著在 pmon-loongson3/zloader.ls2k 使用命令/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-objdump -d start.o > 1.txt

將編譯得到的 start.o 文件進(jìn)行反匯編并將結(jié)果輸出到 1.txt,添加 led3_ctrl 標(biāo)簽的目的是為了反匯編以后更加容易找到 led3 控制相關(guān)的指令,如下圖所示:

使用命令 vim 1.txt 打開反匯編后的輸出文件,找到標(biāo)簽 led3_ctrl 所在的位置,如下圖所示:

從上圖可以看出,控制 led3 相關(guān)的代碼是從地址 d60 開始的,而 MIPS 的入口地址是 0xbfc00000,所以我們是不是就可以把斷點打的地址為 0xbfc00d84 的地方呢,這個地方對應(yīng)的指令為點燈操作。

接著我們啟動 Ejitag 工具并配置好 Ejtag 工具,在 Ejtag 命令行下輸入命令 hb 0xffffffffbfc00d84,注意,此

時開發(fā)板并未上電!??!

接著我們給開發(fā)板上電,此時 hb 命令會執(zhí)行成,這時立刻輸入 set 命令停止 cpu,如下圖所示:

然后我們輸入命令 hbls,查看斷點是否設(shè)置成功,設(shè)置成功如下圖所示:

接著輸入命令 cont,讓 cpu 執(zhí)行到斷點出停止,如下圖所示:

然后使用命令 unhb 0xffffffffbfc00d84 刪除斷點,這里一定要刪除,不然 si 命令不能往下執(zhí)行,如下圖所示:

接著輸入命令 si 1 執(zhí)行 1 條執(zhí)行,si 1 的意思就是單步執(zhí)行 1 條指令,如下圖所示:

此時我們可以發(fā)現(xiàn) led3 已經(jīng)點亮,說明我們之前寫的匯編代碼是沒有問題的。如果大家沒有點亮,可以使用 set 命令來查看通用寄存器的值來排查錯誤。

接著我們將斷電打在關(guān)燈的指令位置,在反匯編 1.txt 文件中,我們可以發(fā)現(xiàn)關(guān)燈的指令是在 da0 位置, 如下圖所示:

所以我們輸入命令 hb 0xffffffffbfc00da0 將斷點打在這個位置下,如下圖所示:

然后執(zhí)行 cont 命令運行 cpu,cpu 會執(zhí)行到這個斷點位置,然后停止,如下圖所示:

cpu 已經(jīng)停到這個位置了,我們就可以使用命令 unhb 來刪除斷點了,這里一定要刪除,不然 si 命令不能往下執(zhí)行,如下圖所示:

接著輸入命令 si 1 條指令,如果我們寫的代碼沒有問題,可以發(fā)現(xiàn) led3 熄滅,如下圖所示:

這樣我們就在匯編階段下調(diào)試完成了 led,同理,調(diào)試其他的 GPIO 大家也可以使用這種方法,這里就 不在贅述,大家可以自行探索一下。

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

    關(guān)注

    3

    文章

    327

    瀏覽量

    31146
  • PMON
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    8218
  • EJTAG
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    8111
  • 2K1000
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    545
收藏 人收藏

    評論

    相關(guān)推薦

    國產(chǎn)龍芯處理器選擇2K1000開發(fā)板有資料

    視頻教程 新增龍芯2K1000開發(fā)環(huán)境搭建系列、系統(tǒng)編譯與燒寫系列、PMON基礎(chǔ)知識及啟動流程分析系列、pmon移植教程系列視頻教程。更多視
    發(fā)表于 10-16 14:23

    【作品合集】龍芯2K0300蜂鳥開發(fā)板試用精選

    廣東龍芯2K0300蜂鳥開發(fā)板采用核心加擴展板的模式設(shè)計,核心上集成了CPU 、DDR4 、PHY芯片、EMMC、NOR FLASH等
    發(fā)表于 09-10 18:17

    龍芯2K0300蜂鳥試用】試用開箱體驗及調(diào)試

    龍芯2K0300蜂鳥試用開箱: 龍芯2K0300蜂鳥開發(fā)板是一塊集成度很高的板卡,
    發(fā)表于 09-08 12:08

    龍芯2K0300蜂鳥試用】龍芯2K0300蜂鳥開發(fā)板開發(fā)環(huán)境搭建

    的需求,開發(fā)者提供了廣闊的應(yīng)用空間。 龍芯2K0300蜂鳥開發(fā)板開發(fā)環(huán)境通過下面的方法來搭
    發(fā)表于 09-05 21:16

    龍芯2K0300蜂鳥試用】龍芯2K0300蜂鳥開發(fā)板上電測試!

    。無論是進(jìn)行硬件調(diào)試、軟件開發(fā)還是系統(tǒng)集成,都能顯著提升開發(fā)效率,優(yōu)化產(chǎn)品設(shè)計流程。 市場潛力 :龍芯2K0300蜂鳥的發(fā)布,預(yù)示著國產(chǎn)嵌入
    發(fā)表于 09-05 20:46

    【北京龍芯iTOP-LS2K0500開發(fā)板快速啟動手冊-第3章 Windows安裝串口終端

    龍芯iTOP-LS2K0500開發(fā)板
    的頭像 發(fā)表于 08-28 15:13 ?437次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】<b class='flag-5'>龍芯</b>iTOP-LS<b class='flag-5'>2K</b>0500<b class='flag-5'>開發(fā)板</b>快速啟動手冊-第3章 Windows安裝串口終端

    【北京】itop-龍芯2k1000 sylixos 嵌入式實時系統(tǒng)燒寫手冊-第一章與第二章 詳細(xì)步驟

    【北京】itop-龍芯2k1000 sylixos 嵌入式實時系統(tǒng)燒寫手冊-第一章與第二章 詳細(xì)步驟
    的頭像 發(fā)表于 08-26 14:18 ?515次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】itop-<b class='flag-5'>龍芯</b><b class='flag-5'>2k1000</b> sylixos 嵌入式實時系統(tǒng)燒寫手冊-第一章與第二章 詳細(xì)步驟

    2K0500開發(fā)板硬件連接快速測試

    2K0500開發(fā)板硬件連接快速測試
    的頭像 發(fā)表于 08-13 15:40 ?216次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>2K</b>0500<b class='flag-5'>開發(fā)板</b>硬件連接快速測試

    龍芯2K0300蜂鳥試用】2 2K0300系列開發(fā)板

    龍芯中科以2k0300芯片基礎(chǔ),不32個月的時間,先后推出蜂鳥、先鋒派、久久派,供開發(fā)者熟悉龍芯
    發(fā)表于 08-12 22:00

    龍芯2K0300蜂鳥試用】開發(fā)板簡介

    龍芯2K0300蜂鳥試用】開發(fā)板簡介 廣東龍芯 2K0300 蜂鳥
    發(fā)表于 08-12 17:27

    [廣東龍芯2K1000/2K500開發(fā)板] OpenWRT 使用說明

    500_config ##2k1000的配置名為loongson_2k1000_config ##此處以2k500例 $ cp configs/loongson_
    發(fā)表于 02-19 14:40

    全國大學(xué)生計算機系統(tǒng)能力大賽操作系統(tǒng)設(shè)計賽-LoongArch 賽道廣東龍芯2K1000LA 平臺資料分享

    ,可以參考龍芯開源社區(qū),龍芯中科公司官網(wǎng),龍芯在github的官方賬號以及龍芯實驗室大賽設(shè)置的文檔倉庫 內(nèi)核賽道選用的
    發(fā)表于 02-04 15:37

    3588開發(fā)板Ubuntu安裝Docker

    3588開發(fā)板Ubuntu安裝Docker
    的頭像 發(fā)表于 01-29 16:07 ?592次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>3588<b class='flag-5'>開發(fā)板</b>Ubuntu安裝Docker

    2K1000核心在能源管理系統(tǒng)產(chǎn)品方案

    2K1000核心在能源管理系統(tǒng)產(chǎn)品方案
    的頭像 發(fā)表于 11-17 14:15 ?442次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>2K1000</b>核心<b class='flag-5'>板</b>在能源管理系統(tǒng)產(chǎn)品方案

    龍芯2K1000開發(fā)板加載PMON鏡像

    ://192.168.1.38/gzrom-dtb.bin,其中 192.168.1.38 虛擬機 Ubuntu 的 IP 地址,如下圖所示 燒寫完成后重啟開發(fā)板 PMON 即可更新成功。 更多文檔可以查看 B站搜索-北京
    發(fā)表于 10-24 10:58