0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何确定这个调试器是否正常工作呢?

痞子衡嵌入式 来源:痞子衡嵌入式 作者:痞子衡嵌入式 2022-07-15 11:07 次阅读

自制了一个调试器,该如何确定这个调试器是否正常工作呢?官方给了一个调试工程,专门用于测试调试器是否正常(所有 MDK 支持的调试器都可以使用该工程测试)。

为了测试 103 的芯片,我们需要稍微修改一下工程(原来的工程不适合)。

工程路径如下(这里的 5.5.1 根据实际安装版本找):

C:Keil_v5ARMPACKARMCMSIS5.5.1CMSISDAPFirmwareValidationMDK5

首先,我们先复制两个工程文件出来,因为默认情况下为只读,所以需要设置为可读写:

0a9fbb26-03eb-11ed-ba43-dac502259ad0.png

我们设置 Validasion 两个文件为可读写。

0ab10804-03eb-11ed-ba43-dac502259ad0.png

打开工程,出现错误,直接取消即可:

0ac5e1ac-03eb-11ed-ba43-dac502259ad0.png

因为是测试 CMSIS-DAP 调试器(其它调试器类似),所以需要设置一些调试配置。

1、首先修改地址为0x08000000,因为我们的目标板是 103 的。

0ad760b2-03eb-11ed-ba43-dac502259ad0.png

2、选择调试器,SWJ 勾选上,连接被调试板子,此时应该能看到右边的 ID。

0ae54cae-03eb-11ed-ba43-dac502259ad0.png

如果没有连接目标板子,就会出现错误,但是调试器是可以正常识别的:

0af34be2-03eb-11ed-ba43-dac502259ad0.png

3、下载配置:

0b00ad28-03eb-11ed-ba43-dac502259ad0.png

完成之后,我们就可以关闭工程了。

现在我们有两种方式进行测试:

手动法:

重新打开工程,编译、下载、调试三部曲之后,在调试界面下会自动完成测试工作,测试完成后会自动退出调试模式,测试结果存放在工程目录下 test_results :

0b1b20ae-03eb-11ed-ba43-dac502259ad0.png

0b2ee670-03eb-11ed-ba43-dac502259ad0.png

通过这种方式,鱼鹰得到结果都是正常的:

0b46e6d0-03eb-11ed-ba43-dac502259ad0.png

自动法:

这种方法使用脚本自动完成测试功能(不需要打开工程)。里面有一个脚本 test.bat。正常情况下,直接在命令行下执行就可得到结果,但可能安装路径不对时,会出现如下错误:

0b563022-03eb-11ed-ba43-dac502259ad0.png

此时可以在执行脚本时手动指定路径,或者修改脚本中的路径:

test.batC:Keil_v5UV4UV4.exe

然后可以得到下面的执行结果。

0b64bfc0-03eb-11ed-ba43-dac502259ad0.png

可以看出,这种执行的结果最后一项是有问题的,目前暂不清楚为啥两者结果不一致。

以上就是鱼鹰想为大家分享的内容,帮助大家测试一个制作好的调试器。

那么原理是什么呢?

其实就是利用了 MDK 调试器中的 test.ini 文件进行调试命令交互,如设置断点、读写内存等操作,并对结果进行验证,通过学习它,能更深刻的理解调试过程,建议大家学习。

最后分享一些相关的链接供大家学习:

驱动安装

https://www.armbbs.cn/forum.php?mod=viewthread&tid=101747&extra=page%3D2%26filter%3Dtypeid%26typeid%3D312

https://www.armbbs.cn/forum.php?mod=viewthread&tid=101748&extra=page%3D1%26filter%3Dtypeid%26typeid%3D312

源码 pack(5.8.0 ,其它版本亦可)

https://www.armbbs.cn/forum.php?mod=viewthread&tid=107629&extra=page%3D1%26filter%3Dtypeid%26typeid%3D312

测试:

https://www.armbbs.cn/forum.php?mod=viewthread&tid=99606&extra=page%3D2%26filter%3Dtypeid%26typeid%3D312

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50732

    浏览量

    423275
  • 调试器
    +关注

    关注

    1

    文章

    303

    浏览量

    23718

原文标题:如何测试自制调试器的功能?

文章出处:【微信号:pzh_mcu,微信公众号:痞子衡嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Aurix development studio是否支持GCC调试器

    当我尝试使用 Aurix development studio 调试 Aurix 示例时,我发现只有两个选项 TASKING C/C++ 调试器 winIDEA 调试器 我的问题是,GCC
    发表于 05-20 06:57

    S32K312有调试器程序运行正常,没有调试器程序跑飞的原因?

    使用S32K312,发现用调试器在FLASH上调试时,程序运行正常。在没有调试器的情况下,运行ADC对MCR寄存进行初始化操作时,程序跑飞
    发表于 03-20 07:57

    基于DCC和JTAG的ARM硬件仿真调试器的研究与实现

    嵌入式系统开发是当今计算机软件发展的一个热点。嵌入式系统调试器是进行嵌入式开发的关键工具,常用于对嵌入式软件的调试和测试。嵌入式系统调试器由交叉调试器
    发表于 10-27 16:27 56次下载

    基于CodeWarrior集成开发环境的调试器原理

    本文首先阐述了调试器设计的基本原理,调试器的类型,调试器的结构等基本概念。然后介绍了断点设置,单步跟踪,执行控制和符号表读写的原理;以及硬件和操作系统对跟踪调试
    发表于 12-27 15:31 65次下载
    基于CodeWarrior集成开发环境的<b class='flag-5'>调试器</b>原理

    调试器模块(可按键调试

    飞思卡尔单片机 调试器模块(可按键调试)源程序
    发表于 01-13 15:18 11次下载

    使用在PICkit™ 3线调试器

    使用在PICkit™ 3线调试器
    发表于 09-22 14:53 5次下载
    使用在PICkit™ 3线<b class='flag-5'>调试器</b>

    gdb调试器解析

    工具,如Visual Studio自带的设置断点、单步跟踪等,都受到了广大用户的赞赏。那么,在Linux下有什么很好的调试工具? gdb调试器是一款GNU开发组织并发布的UNIX/Linux下的程序
    发表于 10-18 13:49 1次下载

    Microchip 调试器(MDB) 用户指南

    Microchip 调试器(MDB) 用户指南
    发表于 05-25 17:29 8次下载

    Microchip调试器(MDB)用户指南

    Microchip调试器(MDB)是Microchip硬件和软件开发工具的命令行调试器接口。作为Microchip MPLAB® X集成开发环境(Integrated Development Environment,IDE)图形界面的替代,MDB通过命令提示符接口来
    发表于 05-12 09:46 19次下载

    逻辑调试器link-logic

    link_logic带link调试功能、串口调试、逻辑分析仪与一身的数字调试器项目地址:GitHub个人博客:全球:fzxhub.com 中国:fzxhub.gitee.io简介本项目是一个link
    发表于 01-12 20:21 9次下载
    逻辑<b class='flag-5'>调试器</b>link-logic

    串口/网络数据调试器

    串口/网络数据调试器
    发表于 05-09 14:59 1次下载

    如何判断安全光幕是否正常工作

    状态?当安全光幕通电后,发光通电时闪烁三下后常亮,进入工作状态。受光通电时红灯绿灯同时闪烁三下,进入工作状态。 什么情况下代表安全光幕正常
    的头像 发表于 08-30 09:35 535次阅读
    如何判断安全光幕<b class='flag-5'>是否</b><b class='flag-5'>正常</b><b class='flag-5'>工作</b>?

    Microchip调试器(MDB)用户指南

    Microchip调试器(MDB)是Microchip硬件和软件开发工具的命令行调试器接口。作为Microchip MPLAB® X集成开发环境(Integrated Development Environment,IDE)图形界面的替代,MDB通过命令提示符接口来
    发表于 09-22 17:53 0次下载
    Microchip<b class='flag-5'>调试器</b>(MDB)用户指南

    噪声仿真之前如何确认电路是否工作正常

    噪声仿真之前如何确认电路是否工作正常? 在进行噪声仿真之前,确认电路是否正常
    的头像 发表于 11-06 11:10 393次阅读

    调试器连接MCU不稳定怎么办?

    有没有小伙伴遇到使用GDlink或者Jlink调试GD32 MCU的时候出现不稳定的情况,刚要发现问题时调试器和MCU断开连接了,这个时候可能抓狂的心都有了。今天就教给大家几个提高调试器
    的头像 发表于 02-21 09:44 932次阅读
    <b class='flag-5'>调试器</b>连接MCU不稳定怎么办?