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

    文章

    410

    浏览量

    32560
  • PMON
    +关注

    关注

    0

    文章

    8

    浏览量

    8428
  • EJTAG
    +关注

    关注

    0

    文章

    2

    浏览量

    8290
  • 2K1000
    +关注

    关注

    0

    文章

    21

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装
    的头像 发表于 06-18 15:22 965次阅读
    <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 1281次阅读
    <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>环境搭建和使用

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

    RK3576开发板高算力低成本工业级核心板卡开发平台
    的头像 发表于 06-09 15:13 1446次阅读
    <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>

    龙芯2K0300开发板软件资料-新世界更新

    【资料更新】正点原子龙芯2K0300开发板资料更新! 龙芯2K0300开发板软件资料-新世界更新
    发表于 04-22 14:16

    2K0300开发板进一步刨析,打造HMI一体机产品的灵活优势

    2K0300开发板进一步刨析,打造HMI一体机产品的灵活优势
    的头像 发表于 02-26 13:58 1037次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>2K</b>0300<b class='flag-5'>开发板</b>进一步刨析,打造HMI一体机产品的灵活优势

    基于龙芯2K0300处理器 龙芯中科携手正点原子发布龙芯ATK-DL2K0300B开发板

    龙芯中科携手正点原子发布龙芯ATK-DL2K0300B开发板。该开发板正点原子发布的首款
    的头像 发表于 02-25 15:29 1275次阅读
    基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>0300处理器 <b class='flag-5'>龙芯</b>中科携手正点原子发布<b class='flag-5'>龙芯</b>ATK-DL<b class='flag-5'>2K</b>0300B<b class='flag-5'>开发板</b>

    龙芯2K0300开发板及资料来袭,开启国产芯片新篇章!

    正点原子携手龙芯正式发布首款龙芯开发板:ATK-DL2K0300开发板!基于龙芯LS
    发表于 02-24 15:04

    全新上市 |iTOP-LS2K0300开发板HMI

    全新上市 |iTOP-LS2K0300开发板HMI
    的头像 发表于 02-17 14:39 948次阅读
    全新上市 |<b class='flag-5'>迅</b><b class='flag-5'>为</b>iTOP-LS<b class='flag-5'>2K</b>0300<b class='flag-5'>开发板</b>HMI

    国产龙芯处理器双核64位系统2K1000开发板/核心

    视频教程 新增龙芯2K1000开发环境搭建系列、系统编译与烧写系列、PMON基础知识及启动流程分析系列、pmon移植教程系列视频教程。更多视
    发表于 02-17 11:12

    iTOP-LS2K0300HMI/开发板/核心

    的打磨,北京电子正式推出基于龙芯2K0300的HMI产品(带壳/不带壳子)。 核心亮点:卓越性能与灵活接口 01-强劲处理能力 ■ 配备64位双发射超标量LA264 核心,主频高
    发表于 02-14 15:02

    电子推出基于龙芯2K0300的HMI产品

    2024年6月,龙芯中科发布了又一款重磅产品龙芯2K0300,龙芯2K0300芯片是一款基于LA264处理器核的多功能SoC芯片,可广泛适用
    的头像 发表于 02-13 14:30 918次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>电子推出基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>0300的HMI产品

    龙芯2K1000开发板/核心介绍

    视频教程 新增龙芯2K1000开发环境搭建系列、系统编译与烧写系列、PMON基础知识及启动流程分析系列、pmon移植教程系列视频教程。更多视
    发表于 02-08 11:01

    龙芯2K1000开发板/核心流畅运行Busybox、Buildroot、Loognix、QT5.12系统

    视频教程 新增龙芯2K1000开发环境搭建系列、系统编译与烧写系列、PMON基础知识及启动流程分析系列、pmon移植教程系列视频教程。更多视
    发表于 01-21 14:38

    RK3576开发板核心与底板接口硬件介绍

    RK3576开发板核心与底板接口硬件介绍
    的头像 发表于 01-14 15:15 2360次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3576<b class='flag-5'>开发板</b>核心<b class='flag-5'>板</b>与底板接口硬件介绍

    [RK3568开发板]非科班也能玩转Android应用,体验QT跨平台能力

    [RK3568开发板]非科班也能玩转Android应用,体验QT跨平台能力
    的头像 发表于 12-18 16:41 1369次阅读
    [<b class='flag-5'>迅</b><b class='flag-5'>为</b>RK3568<b class='flag-5'>开发板</b>]非科班也能玩转Android应用,体验QT跨<b class='flag-5'>平台</b>能力