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

    文章

    4406

    浏览量

    66812
  • 编译
    +关注

    关注

    0

    文章

    687

    浏览量

    34935
  • DEBUG
    +关注

    关注

    3

    文章

    95

    浏览量

    21246

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    控制流和函数调用的精细调整

    循环条件也能提升效率。将循环条件中的复杂计算提前到循环前进行计算,然后用结果作为循环条件,可以减少每次迭代的计算量。 条件判断的顺序也对性能有影响。将最有可能为真的条件放在前面,可以利用逻辑操作的短路
    发表于 11-14 06:32

    深入了解系统调用API:探索操作系统底层的关键接口

    ,也无法使用内核函数。当用户进程必须访问内核或使用某个内核函数时,就得使用系统调用(System Call)。在Linux中,系统调用是用户空间访问内核空间的唯一途径。 什么是系统
    的头像 发表于 11-03 09:20 424次阅读

    应用层外设进行数据传输,是否应该调用rt_device_create,rt_device_register等函数呢?

    假如我要在应用层用一个新的usart2串口传输数据,那我应该是怎么做? 1.在工程未编译前将usart2加上,即定义宏BSP_USING_UART2,利用RT-Thread在硬件初始化时调用
    发表于 10-11 06:29

    请问如何仅使用软件和 TC375 精简板来测量函数调用的堆栈使用情况?

    我想测量 AURIX TriCore™ TC3xx 项目的函数调用的堆栈使用情况。 我不知道该怎么做。 我知道事实上作为硬件我只有一个 TC375 lite 开发板,没有 BlueBox 或任何
    发表于 08-08 07:28

    详解hal_entry入口函数

    当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main函数调用了hal_entry
    的头像 发表于 07-25 15:34 1653次阅读

    verilog模块的调用、任务和函数

    在做模块划分时,通常会出现这种情形,某个大的模块中包含了一个或多个功能子模块,verilog是通过模块调用或称为模块实例化的方式来实现这些子模块与高层模块的连接的.
    的头像 发表于 05-03 10:29 1275次阅读
    verilog模块的<b class='flag-5'>调用</b>、任务和<b class='flag-5'>函数</b>

    函数指针的六个常见应用场景

    函数指针在嵌入式开发中有着广泛的应用,它让代码更加灵活,减少冗余,提高可扩展性。很多时候,我们需要根据不同的情况动态调用不同的函数,而函数指针正是实现这一需求的重要
    的头像 发表于 04-07 11:58 1117次阅读
    <b class='flag-5'>函数</b>指针的六个常见应用场景

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

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

    请问可以直接参考DLP4500软件源码的调用方式进行控制吗?需要添加哪些库文件吗?

    软件源码的调用方式进行控制吗?需要添加哪些库文件吗? 2. 在论坛中看到有人使用基于MFC进行控制投影的,请问使用MFC和Qt哪个更兼容、开发起来更容易些呢?
    发表于 03-03 08:23

    可以直接利用USB转IIC,在电脑上利用助手工具直接读写寄存器吗?

    对于 DLP LCD2000 EVM,我可以直接利用 USB 转 IIC,在电脑上利用助手工具直接读写寄存器吗? -----------
    发表于 02-26 07:47

    利用msp430进行数位滤波的动作,怎么实现?

    滤波的部份; 本来想直接套用的(包括FIR係数), 但我所设计的取样频率为125SPS,而该原始码只针对500SPS进行滤波, 所以无法直接利用。 后来我
    发表于 02-07 06:05

    C语言如何处理函数的返回值

    当你在函数的最后写上 return 0 的时候,它是如何返回给调用函数的? 比如 test 函数,为了待会更好的看懂汇编代码,我写成了 return 1234。 处理
    的头像 发表于 01-16 09:21 747次阅读

    如何把两个数据返回给调用函数

    函数的处理结果包含两个数据,如何把两个数据返回给调用函数? 第一种,把两个数据封装成一个结构体,函数返回结构体。 调用
    的头像 发表于 01-08 10:15 676次阅读

    EE-128:C语言中的DSP:从C调用汇编类成员函数

    电子发烧友网站提供《EE-128:C语言中的DSP:从C调用汇编类成员函数.pdf》资料免费下载
    发表于 01-07 13:48 0次下载
    EE-128:C语言中的DSP:从C<b class='flag-5'>调用</b>汇编类成员<b class='flag-5'>函数</b>