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

    文章

    445

    浏览量

    32933
  • PMON
    +关注

    关注

    0

    文章

    8

    浏览量

    8464
  • EJTAG
    +关注

    关注

    0

    文章

    2

    浏览量

    8309
  • 2K1000
    +关注

    关注

    0

    文章

    21

    浏览量

    867
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    iTOP-Hi3516CV610开发板SDK升级更新

    为了让大家在使用iTOP-Hi3516CV610开发板进行产品开发时,拥有更强大的性能和更丰富的功能,我们对开发板的底层SDK进行了重大
    的头像 发表于 03-27 14:26 376次阅读

    iTOP-Hi3403开发板:解锁多目拼接相机的10.4TOPS强“芯”动力,开启4K智能视觉新纪元

    iTOP-Hi3403开发板:解锁多目拼接相机的10.4TOPS强“芯”动力,开启4K智能视觉新纪元
    的头像 发表于 01-29 11:05 1128次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>iTOP-Hi3403<b class='flag-5'>开发板</b>:解锁多目拼接相机的10.4TOPS强“芯”动力,开启4<b class='flag-5'>K</b>智能视觉新纪元

    性能与性价比兼得!RK3562开发板开启嵌入式开发新选择

    性能与性价比兼得!RK3562开发板开启嵌入式开发新选择
    的头像 发表于 12-23 16:10 1688次阅读
    性能与性价比兼得!<b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3562<b class='flag-5'>开发板</b>开启嵌入式<b class='flag-5'>开发</b>新选择

    RK3588开发板Android系统烧写及注意事项

    RK3588开发板Android系统烧写及注意事项
    的头像 发表于 12-03 15:17 7379次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3588<b class='flag-5'>开发板</b>Android系统烧写及注意事项

    3568开发板从零学习Linux驱动开发一站式资料包如何让我效率翻倍

    3568开发板从零学习Linux驱动开发一站式资料包如何让我效率翻倍
    的头像 发表于 11-05 11:16 530次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>3568<b class='flag-5'>开发板</b>从零学习Linux驱动<b class='flag-5'>开发</b>:<b class='flag-5'>迅</b><b class='flag-5'>为</b>一站式资料包如何让我效率翻倍

    iTOP-RK3576开发板再升级全新金属外壳

    iTOP-RK3576开发板再升级全新金属外壳
    的头像 发表于 10-22 15:48 1411次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>iTOP-RK3576<b class='flag-5'>开发板</b>再升级全新金属外壳

    RK3568开发板模型推理测试实战LPRNet 车牌识别

    RK3568开发板模型推理测试实战LPRNet 车牌识别
    的头像 发表于 08-25 14:55 1545次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3568<b class='flag-5'>开发板</b>模型推理测试实战LPRNet 车牌识别

    RK3562开发板 Ubuntu系统功能测试

    RK3562开发板 Ubuntu系统功能测试
    的头像 发表于 07-10 13:46 1522次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3562<b class='flag-5'>开发板</b> Ubuntu系统功能测试

    龙软件受邀参加2025龙芯产品发布暨用户大会,发布基于龙芯2K3000的OrangePi Nova

    /3C6000等新品的发布。作为龙芯合作伙伴,龙软件受邀参加此次大会,并在会上发布基于龙芯2K3000的新一代国产AI开发和智算
    的头像 发表于 06-26 17:01 2056次阅读
    <b class='flag-5'>迅</b>龙软件受邀参加2025<b class='flag-5'>龙芯</b>产品发布暨用户大会,发布基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>3000的OrangePi Nova

    RK3576开发板NPU环境搭建和使用rknn-toolkit2功能演示连推理

    RK3576开发板NPU环境搭建和使用rknn-toolkit2功能演示连推理
    的头像 发表于 06-23 13:54 1364次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3576<b class='flag-5'>开发板</b>NPU环境搭建和使用rknn-toolkit<b class='flag-5'>2</b>功能演示连<b class='flag-5'>板</b>推理

    RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装

    RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装
    的头像 发表于 06-18 15:22 1461次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3576<b class='flag-5'>开发板</b>NPUrknn-toolkit<b class='flag-5'>2</b>环境搭建和使用docker环境安装

    RK3576开发板NPU例程测试-rknn-toolkit2环境搭建和使用

    RK3576开发板NPU例程测试-rknn-toolkit2环境搭建和使用
    的头像 发表于 06-17 13:46 1977次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3576<b class='flag-5'>开发板</b>NPU例程测试-rknn-toolkit<b class='flag-5'>2</b>环境搭建和使用

    RK3562开发板Buildroot系统功能测试

    RK3562开发板Buildroot系统功能测试
    的头像 发表于 06-13 13:46 2262次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3562<b class='flag-5'>开发板</b>Buildroot系统功能测试

    RK3576核心高算力AI开发板开启智能应用新时代

    RK3576核心高算力AI开发板开启智能应用新时代
    的头像 发表于 06-10 14:13 1829次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3576核心<b class='flag-5'>板</b>高算力AI<b class='flag-5'>开发板</b>开启智能应用新时代

    RK3576开发板高算力低成本工业级核心板卡开发平台

    RK3576开发板高算力低成本工业级核心板卡开发平台
    的头像 发表于 06-09 15:13 2073次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3576<b class='flag-5'>开发板</b>高算力低成本工业级核心板卡<b class='flag-5'>开发</b><b class='flag-5'>平台</b>