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

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

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

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

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

迅為2K1000開(kāi)發(fā)板

Ejtag調(diào)試器

在 9.6 小節(jié)中,我們?cè)?a target="_blank">匯編節(jié)點(diǎn)實(shí)現(xiàn)了 led 閃爍的功能,如果您自己寫(xiě)的程序沒(méi)有成功,我們?cè)撊绾握{(diào) 試呢?就可以利用 Ejtag 仿真器進(jìn)行單步調(diào)試。

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

然后我們重新編譯 pmon 源碼生成 pmon 鏡像并燒寫(xiě)到開(kāi)發(fā)板,一定要將編譯的燒寫(xiě)到開(kāi)發(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 打開(kāi)反匯編后的輸出文件,找到標(biāo)簽 led3_ctrl 所在的位置,如下圖所示:

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

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

時(shí)開(kāi)發(fā)板并未上電?。?!

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

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

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

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

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

此時(shí)我們可以發(fā)現(xiàn) led3 已經(jīng)點(diǎn)亮,說(shuō)明我們之前寫(xiě)的匯編代碼是沒(méi)有問(wèn)題的。如果大家沒(méi)有點(diǎn)亮,可以使用 set 命令來(lái)查看通用寄存器的值來(lái)排查錯(cuò)誤。

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

所以我們輸入命令 hb 0xffffffffbfc00da0 將斷點(diǎn)打在這個(gè)位置下,如下圖所示:

然后執(zhí)行 cont 命令運(yùn)行 cpu,cpu 會(huì)執(zhí)行到這個(gè)斷點(diǎn)位置,然后停止,如下圖所示:

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

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

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

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

    關(guān)注

    3

    文章

    332

    瀏覽量

    31181
  • PMON
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    8221
  • EJTAG
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

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

    關(guān)注

    0

    文章

    21

    瀏覽量

    555
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電子】龍芯LS2K1000LA和LS2K1000有何區(qū)別?

    電子】龍芯LS2K1000LA和LS2K1000有何區(qū)別?
    的頭像 發(fā)表于 11-13 14:13 ?55次閱讀
    【<b class='flag-5'>迅</b><b class='flag-5'>為</b>電子】<b class='flag-5'>龍芯</b>LS<b class='flag-5'>2K1000</b>LA和LS<b class='flag-5'>2K1000</b>有何區(qū)別?

    【北京】itop-龍芯2k1000開(kāi)發(fā)指南Linux基礎(chǔ)入門(mén)vim 編輯器

    【北京】itop-龍芯2k1000開(kāi)發(fā)指南Linux基礎(chǔ)入門(mén)vim 編輯器
    的頭像 發(fā)表于 10-25 14:56 ?232次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】itop-<b class='flag-5'>龍芯</b><b class='flag-5'>2k1000</b><b class='flag-5'>開(kāi)發(fā)</b>指南Linux基礎(chǔ)入門(mén)vim 編輯器

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

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

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

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

    龍芯2K0300蜂鳥(niǎo)試用】試用開(kāi)箱體驗(yàn)及調(diào)試

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

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

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

    龍芯2K0300蜂鳥(niǎo)試用】龍芯2K0300蜂鳥(niǎo)開(kāi)發(fā)板上電測(cè)試!

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

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

    龍芯iTOP-LS2K0500開(kāi)發(fā)板
    的頭像 發(fā)表于 08-28 15:13 ?483次閱讀
    【北京<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'>開(kāi)發(fā)板</b>快速啟動(dòng)手冊(cè)-第3章 Windows安裝串口終端

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

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

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

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

    龍芯2K0300蜂鳥(niǎo)試用】開(kāi)發(fā)板簡(jiǎn)介

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

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

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

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

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

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

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

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

    2K1000核心在能源管理系統(tǒng)產(chǎn)品方案
    的頭像 發(fā)表于 11-17 14:15 ?473次閱讀
    <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)品方案