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

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

3天内不再提示

如何利用MDE的pydbg工具进行函数的直接调用

智联开发Arduino 来源:蓝牙 作者: 钟志峰 2021-08-10 09:34 次阅读

内容简介

本文介绍如何利用MDE的pydbg工具进行函数的直接调用,以方便程序猿的测试工作。

测试工具

MDE:2.3.2.126

Toolkit:NONE

QACT:NULL

Hardware:QCC3026

Software:adk_qcc512x_rom_v21.win.6.4_installer_6.4.2.21

其实很简单,就是利用pydbg工具直接调用具体函数即可,为了方便测试,我们在main.c中添加一个函数:

8d37d38a-f86f-11eb-9bcf-12bb97331649.png

void pydbg_fun_test(int num)

{

PRINT((“pydbg test function, num = %d ”,num));

}

完成后直接编译并debug,然后在pydbg窗口中输入:

apps1.fw.call.pydbg_fun_test(5)

904b5524-f86f-11eb-9bcf-12bb97331649.png

这个时候就可以看到在fw_live_log中打印了:

pydbg test function, num = 5

说明我们之前写的函数被调用了。

用这种方法,理论上可以调用很多现有的函数,这里来测试一下调用

apps1.fw.call.IndicateEvent(0x4001)来播放一个poweron的提示音。

当按下回车键后,耳机中就能听到Power On提示音了。其实就是非常简单,输入一次命令就调用一次该函数。

用pydbg工具,在debug的过程中测试一些功能还是挺方便的,当然,这个功能也可以直接用命令提示符窗口进行操作,这样也避免了运行臃肿的MDE工具。如果需要了解如何在DOS窗口下进行命令的输入。

编辑:jq

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

    关注

    3

    文章

    3868

    浏览量

    61308
  • 编译
    +关注

    关注

    0

    文章

    615

    浏览量

    32374
  • DEBUG
    +关注

    关注

    3

    文章

    83

    浏览量

    19444

原文标题:十分方便的debug方式--用Pydbg直接运行函数

文章出处:【微信号:gh_e32ad3aa085f,微信公众号:智联开发Arduino】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux用gdb调试遇到函数调用怎么办?

    。 要顺利进行函数调用的调试,首先需要准备好代码和符号表。在编译代码时,需要加上 `-g` 参数来生成调试信息。这样编译器会在可执行文件中嵌入符号表,以供GDB使用。如果没有生成符号表,我们将很难
    的头像 发表于 01-31 10:33 196次阅读

    python调用math函数的方法

    在Python编程中,数学函数是非常重要的工具,我们可以使用它们进行各种数值计算、几何运算和统计分析等操作。Python的标准库中内置了很多数学函数,而其中最基本和常用的数学
    的头像 发表于 11-22 11:01 1236次阅读

    我们应如何查看某一次函数调用时的内部变量呢?

    模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数函数块,这样就可以反复调用
    的头像 发表于 11-17 09:09 276次阅读
    我们应如何查看某一次<b class='flag-5'>函数</b>块<b class='flag-5'>调用</b>时的内部变量呢?

    如何查看及更改函数/函数块的调用环境

    模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数函数块,这样就可以反复调用。其优点是:使程序架构更加清晰,避免重复编写相似功能的代码。不过可能会产生一个疑惑:既然PLC的程序
    的头像 发表于 11-17 09:08 438次阅读
    如何查看及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b>块的<b class='flag-5'>调用</b>环境

    OP-TEE的内核初始化函数调用

    generic_boot_init_primary函数内容 generic_boot_init_primary函数是OP-TEE建立系统运行环境的入口函数,该函数
    的头像 发表于 11-02 18:18 355次阅读
    OP-TEE的内核初始化<b class='flag-5'>函数</b><b class='flag-5'>调用</b>

    Python 简化函数调用的3种技巧

    假设有一个函数,这个函数需要接收4个参数,并返回这4个参数的和: def sum_four (a, b, c, d): return a + b + c + d 如果需要固定最后前三个参数,仅改变
    的头像 发表于 11-01 16:20 170次阅读

    python定义函数调用函数的顺序

    ' is not defined   从报错结果可以看出,名字为plus的函数还没进行定义(虽然我们是在后面进行了定义)。所以当我们在调用函数
    的头像 发表于 10-04 17:17 582次阅读

    python函数函数之间的调用

    函数函数之间的调用 3.1 第一种情况 程序代码如下: def x ( f ): def y (): print ( 1 ) return y def f (): print
    的头像 发表于 10-04 17:17 351次阅读

    一文详解python调用函数

    函数被定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。但是在 Python 中我们要注意一个关键点,就是Python不允许前向引用,即在函数定义之前,不允
    发表于 10-01 10:45 232次阅读

    通过函数指针调用函数,需不需要加星号?

    先来说下结论,不管是获取函数地址,还是通过函数指针调用函数,两种写法都可以,就用法上来说,没有什么区别,初学者也不必过多纠结。
    的头像 发表于 09-05 17:05 690次阅读

    调用SCL函数块-事例

    在以下部分中,将在组织块“Main” 中调用 SCL 函数块“SCL_Best_before_date” 并互连输入和输出参数。
    的头像 发表于 08-10 09:51 559次阅读
    <b class='flag-5'>调用</b>SCL<b class='flag-5'>函数</b>块-事例

    网络系统调用网络套接字入口函数

    网络套接字入口函数 //所有的网络套接字系统调用函数(socket bind listen connect )都使用一个共同的入口函数:sys_socketcall /* 第一个参数c
    的头像 发表于 07-24 11:02 272次阅读

    C函数调用机制与栈帧原理详解

    当一个C函数调用时,函数的参数如何传递、堆栈指针如何变化、栈帧是如何被建立以及如何被消除的,一直缺乏系统性的理解,因此决定花时间学习下函数调用
    发表于 06-08 10:49 565次阅读
    C<b class='flag-5'>函数</b><b class='flag-5'>调用</b>机制与栈帧原理详解

    SCL中调用函数的示例

    在此,可插入函数 (FC) 调用函数块 (FB) 调用函数块可作为单实例、多重实例或参数实例进行
    的头像 发表于 06-06 10:18 1346次阅读

    在Verilog中利用函数将重复性的行为级设计进行提取

    在 Verilog 中,可以利用任务(关键字为 task)或函数(关键字为 function),将重复性的行为级设计进行提取,并在多个地方调用,来避免重复代码的多次编写,使代码更加的简
    的头像 发表于 06-02 11:39 860次阅读
    在Verilog中<b class='flag-5'>利用</b><b class='flag-5'>函数</b>将重复性的行为级设计<b class='flag-5'>进行</b>提取