1 如何利用MDE的pydbg工具进行函数的直接调用-德赢Vwin官网 网
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

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

    关注

    3

    文章

    4327

    浏览量

    62567
  • 编译
    +关注

    关注

    0

    文章

    657

    浏览量

    32851
  • DEBUG
    +关注

    关注

    3

    文章

    93

    浏览量

    19907

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

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

收藏 人收藏

    评论

    相关推荐

    HAL库的函数调用示例

    HAL(Hardware Abstraction Layer,硬件抽象层)库是STM32等微控制器中常用的库,它为开发者提供了访问和控制硬件设备的接口。以下是一些常用的HAL库函数及其调用示例: 一
    的头像 发表于 12-02 14:01 311次阅读

    在CM32M433R MCU上调用riscv_sqrt_f32()函数的计算速度比直接调用sqrtf()要慢,为什么?

    在CM32M433R MCU上调用riscv_sqrt_f32()函数的计算速度比直接调用sqrtf()要慢, 计算一次riscv_sqrt_f32大概54 cycles;sqrtf(
    发表于 07-24 06:12

    如何利用Matlab进行神经网络训练

    Matlab作为一款强大的数学计算软件,广泛应用于科学计算、数据分析、算法开发等领域。其中,Matlab的神经网络工具箱(Neural Network Toolbox)为用户提供了丰富的函数工具
    的头像 发表于 07-08 18:26 1837次阅读

    STM32CubeIde生成的工程,使用printf函数没有调用_write和__io_putchar函数,为什么?

    (int ch) 函数,发现没有串口没有输出,使用SWD进行debug,并对syscalls.c中的_write函数以及重写的io_putchar函数打了断点,结果printf执行后,
    发表于 05-24 06:13

    FreeRTOS如何在中断中调用内存分配函数

    最近在玩FreeRTOS,遇到一个问题,就是不知如何在中断中调用内存分配函数。pvPortMalloc函数中会调用xTaskResumeAll,而这个
    发表于 05-08 08:25

    请问为什么非main.c的其他文件能调用函数

    timer.c 能直接调用函数,是不是因为tmer.h中也包含了#include \"sys.h\"头文件?
    发表于 04-25 06:49

    函数多层调用的主要注意事项分析

    应用方案设计中,开发者经常会碰到某个子函数需要多次多级调用的情况。
    的头像 发表于 03-27 15:36 837次阅读
    子<b class='flag-5'>函数</b>多层<b class='flag-5'>调用</b>的主要注意事项分析

    回调函数(callback)是什么?回调函数的实现方法

    回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调
    发表于 03-12 11:46 2901次阅读

    函数指针与回调函数的应用实例

    通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数函数指针可以像一般函数一样,用于调用
    的头像 发表于 03-07 11:13 399次阅读
    <b class='flag-5'>函数</b>指针与回调<b class='flag-5'>函数</b>的应用实例

    内联函数定义 为什么需要内联函数

    inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。
    的头像 发表于 02-19 12:20 540次阅读

    verilog中函数和任务对比

    在verilog中,函数和任务均用来描述共同的代码段,并且在模式内任意位置被调用,提高代码效率,让代码更加的直观,提高代码可读性。但是在实际使用的过程中,函数和任务也存在诸多的不同,下面将对而这
    的头像 发表于 02-12 18:43 881次阅读

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

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

    如果使用FCALL调用函数而使用RET返回的话, 就会发生CSA泄露怎么解决?

    FCALL调用函数不会自动存储Upper Context, 需要使用FRET进行返回, 如果使用FCALL调用函数而使用RET返回的话,
    发表于 01-26 07:57

    Nuclei Studio IDE工具如何调用生成的lib库?

    创建2个工程: test工程:主工程,会调用libt_lib.a库 目前将t_lib工程生成的libt_lib.a直接拷贝到test工程的application/source目录下,编译时报
    发表于 01-10 06:12

    西门子博途:手动更新块调用

    选择不一致的调用,然后在上下文菜单(鼠标右键)中选择函数“Update”。 然后会出现一个窗口,其中显示旧的(不正确的)和新的块调用(带有已删除的“ActiveNotAck”参数)。
    的头像 发表于 12-25 11:12 3109次阅读
    西门子博途:手动更新块<b class='flag-5'>调用</b>