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

    文章

    4423

    浏览量

    68124
  • 编译
    +关注

    关注

    0

    文章

    698

    浏览量

    35365
  • DEBUG
    +关注

    关注

    3

    文章

    95

    浏览量

    21481

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vector PC-lint Plus新增项目级静态函数调用图输出功能

    从2025SP1版本起,PC-lint Plus新增项目级静态函数调用图(Static Function Call Graph)输出功能。
    的头像 发表于 05-08 16:00 220次阅读
    Vector PC-lint Plus新增项目级静态<b class='flag-5'>函数</b><b class='flag-5'>调用</b>图输出功能

    四轴无人机控制核心丨笙泉新品(CGF062A) 融合MCU与MDE优势, 实现稳定高效的飞行表现

    。不同于一般以32位MCU透过CPU计算电流回授的作法,CGF062A内建硬件马达驱动引擎(Motor Driving Engine, MDE),可直接取样三相马达的ia、ib 电流讯号,并由硬件完成
    发表于 05-06 14:10

    ElfBoard嵌入式教育科普|Linux系统I/O接口:Open函数详解

    1.函数概述open()是Linux/Unix内核提供的底层系统调用,核心功能是打开或创建文件。成功调用后,内核会返回一个整型的文件描述符作为该文件的句柄,后续的所有读写操作都基于此描述符进行
    的头像 发表于 12-29 11:41 1421次阅读
    ElfBoard嵌入式教育科普|Linux系统I/O接口:Open<b class='flag-5'>函数</b>详解

    西门子PLC中函数FC的使用方法

    函数函数块作为模块化编程的重要组成部分,在PLC 用户程序中有着相当频繁的应用。两者在生成与使用的过程中都有一定的相似,且都不能单独使用。而需要赋予特定的功能,由组织块(OB)直接或者间接
    的头像 发表于 12-19 11:26 4790次阅读
    西门子PLC中<b class='flag-5'>函数</b>FC的使用方法

    函数调用性能消耗

    函数调用对于处理器的性能消耗是很小的,只占有函数执行工作中性能消耗的一小部分。参数传入函数变量寄存器中有一定的限制。这些参数必须是整型兼容的(char,shorts,ints和floa
    发表于 12-12 07:50

    内联函数介绍

    内联函数禁用所有的编译选项。使用__inline修饰函数导致函数调用直接替换为函数体。这样代
    发表于 12-12 07:08

    如何用函数指针调用函数

    ;please enter a and b:\"); scanf(\"%d%d\",a,b); c = (*p)(a, b);//通过函数指针调用Max函数
    发表于 12-11 06:26

    TQKIT开发板工具让系统功能调用更简单

    TQKIT开发板工具,将复杂的系统控制能力以接口形式开放给开发者,让系统功能调用更简单。
    的头像 发表于 12-08 09:27 609次阅读
    TQKIT开发板<b class='flag-5'>工具</b>让系统功能<b class='flag-5'>调用</b>更简单

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

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

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

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

    应用层外设进行数据传输,是否应该调用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 2338次阅读

    C语言中的内联函数与宏

    在C编程中,内联函数和宏都用于避免函数调用的开销并编写可复用的逻辑部分,但它们在工作方式和安全性方面存在显著差异。
    的头像 发表于 07-25 15:10 2170次阅读
    C语言中的内联<b class='flag-5'>函数</b>与宏