吴忠躺衫网络科技有限公司

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

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

3天內不再提示

迅為2K1000開發板龍芯平臺Ejtag 單步調試 PMON 的匯編階段

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

迅為2K1000開發板

Ejtag調試器

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

那我們要如何進行單步調試呢?我們是不是就得先知道每一個指令對應的地址呢?這樣我們才可以打斷點。我們先來修改一下在 9.6 小節中的代碼,我們加一個標簽。如下圖所示:

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

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

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

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

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

時開發板并未上電!!!

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

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

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

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

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

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

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

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

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 龍芯
    +關注

    關注

    3

    文章

    349

    瀏覽量

    31362
  • PMON
    +關注

    關注

    0

    文章

    7

    瀏覽量

    8252
  • EJTAG
    +關注

    關注

    0

    文章

    2

    瀏覽量

    8152
  • 2K1000
    +關注

    關注

    0

    文章

    21

    瀏覽量

    586
收藏 人收藏

    評論

    相關推薦

    龍芯2K1000開發板/核心流暢運行Busybox、Buildroot、Loognix、QT5.12系統

    視頻教程 新增龍芯2K1000開發環境搭建系列、系統編譯與燒寫系列、PMON基礎知識及啟動流程分析系列、pmon移植教程系列視頻教程。更多視
    發表于 01-21 14:38

    龍芯LS2K1000LA和LS2K1000有何區別?

    則是使用mips架構。所以倆個不同架構的處理器使用的源碼略有不同,但是硬件上基于2k10002k1000la的開發板&核心
    發表于 11-14 11:06

    電子】龍芯LS2K1000LA和LS2K1000有何區別?

    電子】龍芯LS2K1000LA和LS2K1000有何區別?
    的頭像 發表于 11-13 14:13 ?343次閱讀
    【<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>有何區別?

    北京iTOP-LS2K0500開發板快速使用編譯環境虛擬機Ubuntu基礎操作及設置

    北京iTOP-LS2K0500開發板快速使用編譯環境虛擬機Ubuntu基礎操作及設置
    的頭像 發表于 10-29 13:48 ?332次閱讀
    北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-LS<b class='flag-5'>2K</b>0500<b class='flag-5'>開發板</b>快速使用編譯環境虛擬機Ubuntu基礎操作及設置

    【北京】itop-龍芯2k1000開發指南Linux基礎入門vim 編輯器

    【北京】itop-龍芯2k1000開發指南Linux基礎入門vim 編輯器
    的頭像 發表于 10-25 14:56 ?361次閱讀
    【北京<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'>開發</b>指南Linux基礎入門vim 編輯器

    國產龍芯處理器選擇2K1000開發板有資料

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

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

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

    龍芯2K0300蜂鳥試用】試用開箱體驗及調試

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

    龍芯2K0300蜂鳥試用】龍芯2K0300蜂鳥開發板開發環境搭建

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

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

    。無論是進行硬件調試、軟件開發還是系統集成,都能顯著提升開發效率,優化產品設計流程。 市場潛力 :龍芯2K0300蜂鳥的發布,預示著國產嵌入
    發表于 09-05 20:46

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

    龍芯iTOP-LS2K0500開發板
    的頭像 發表于 08-28 15:13 ?619次閱讀
    【北京<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'>開發板</b>快速啟動手冊-第3章 Windows安裝串口終端

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

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

    2K0500開發板硬件連接快速測試

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

    龍芯2K0300蜂鳥試用】開發板簡介

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

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

    500_config ##2k1000的配置名為loongson_2k1000_config ##此處以2k500例 $ cp configs/loongson_
    發表于 02-19 14:40
    百家乐官网网络赌博网址| 金都百家乐官网现金网| 百家乐开发软件| 太阳城百家乐官网如何看路| 威尼斯人娱乐城动态| 太阳城百家乐官网注册平台| 威尼斯人娱乐城博彩| 百家乐官网庄最高连开几把| 百家乐官网之三姐妹赌博机| 德州扑克胜率计算器| 扑克王百家乐的玩法技巧和规则| 单张百家乐论坛| 红9百家乐官网的玩法技巧和规则| 百家乐官网如何打公式| 大发888娱乐场 d188| 网上百家乐是假还是真的| 百家乐官网打鱼秘| 可以玩百家乐官网的博彩公司| 呼和浩特市| 六合彩号码| 大发888免费软件下载| 澳门百家乐765118118| 百家乐注册彩金| 百家乐真人百家乐皇冠| 百家乐官网详解| 网上百家乐官网的玩法技巧和规则| 太阳城百家乐官网红利| 四会市| 网上现金博彩网| 香港六合彩白小姐图库| 大发888完整客户端| 大发888娱乐城官方下载lm0| 百家乐百家乐技巧| 为什么百家乐玩家越来越多选择网上百家乐| 线上百家乐平台| 百家乐霸王闲| 注册百家乐送彩金 | 百家乐平台网| 百家乐一直下注庄家| 百家乐干洗店| 新澳博百家乐的玩法技巧和规则|