0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用MDE的pydbg工具進(jìn)行函數(shù)的直接調(diào)用

智聯(lián)開發(fā)Arduino ? 來源:藍(lán)牙 ? 作者: 鐘志峰 ? 2021-08-10 09:34 ? 次閱讀

內(nèi)容簡介

本文介紹如何利用MDE的pydbg工具進(jìn)行函數(shù)的直接調(diào)用,以方便程序猿的測試工作。

測試工具

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工具直接調(diào)用具體函數(shù)即可,為了方便測試,我們在main.c中添加一個函數(shù):

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

說明我們之前寫的函數(shù)被調(diào)用了。

用這種方法,理論上可以調(diào)用很多現(xiàn)有的函數(shù),這里來測試一下調(diào)用

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

當(dāng)按下回車鍵后,耳機(jī)中就能聽到Power On提示音了。其實就是非常簡單,輸入一次命令就調(diào)用一次該函數(shù)。

用pydbg工具,在debug的過程中測試一些功能還是挺方便的,當(dāng)然,這個功能也可以直接用命令提示符窗口進(jìn)行操作,這樣也避免了運(yùn)行臃腫的MDE工具。如果需要了解如何在DOS窗口下進(jìn)行命令的輸入。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62630
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32873
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    94

    瀏覽量

    19923

原文標(biāo)題:十分方便的debug方式--用Pydbg直接運(yùn)行函數(shù)

文章出處:【微信號:gh_e32ad3aa085f,微信公眾號:智聯(lián)開發(fā)Arduino】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    HAL庫的函數(shù)調(diào)用示例

    HAL(Hardware Abstraction Layer,硬件抽象層)庫是STM32等微控制器中常用的庫,它為開發(fā)者提供了訪問和控制硬件設(shè)備的接口。以下是一些常用的HAL庫函數(shù)及其調(diào)用示例: 一
    的頭像 發(fā)表于 12-02 14:01 ?389次閱讀

    利用vMeasure eMobilityAnalyzer函數(shù)庫分析電機(jī)性能

    本文利用vMeasure eMobilityAnalyzer函數(shù)庫中的克拉克變換功能,將三相電機(jī)定子電流或電壓轉(zhuǎn)換為兩相電流或電壓,幫助工程師更有效地、可視化地分析電機(jī)的行為并對控制算法進(jìn)行針對性的優(yōu)化,從而提高電機(jī)的性能和效率
    的頭像 發(fā)表于 09-13 11:37 ?399次閱讀
    <b class='flag-5'>利用</b>vMeasure eMobilityAnalyzer<b class='flag-5'>函數(shù)</b>庫分析電機(jī)性能

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計算速度比直接調(diào)用sqrtf()要慢,為什么?

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計算速度比直接調(diào)用sqrtf()要慢, 計算一次riscv_sqrt_f32大概54 cycles;sqrtf(
    發(fā)表于 07-24 06:12

    如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練

    Matlab作為一款強(qiáng)大的數(shù)學(xué)計算軟件,廣泛應(yīng)用于科學(xué)計算、數(shù)據(jù)分析、算法開發(fā)等領(lǐng)域。其中,Matlab的神經(jīng)網(wǎng)絡(luò)工具箱(Neural Network Toolbox)為用戶提供了豐富的函數(shù)工具
    的頭像 發(fā)表于 07-08 18:26 ?1888次閱讀

    STM32CubeIde生成的工程,使用printf函數(shù)沒有調(diào)用_write和__io_putchar函數(shù),為什么?

    (int ch) 函數(shù),發(fā)現(xiàn)沒有串口沒有輸出,使用SWD進(jìn)行debug,并對syscalls.c中的_write函數(shù)以及重寫的io_putchar函數(shù)打了斷點,結(jié)果printf執(zhí)行后,
    發(fā)表于 05-24 06:13

    FreeRTOS如何在中斷中調(diào)用內(nèi)存分配函數(shù)?

    最近在玩FreeRTOS,遇到一個問題,就是不知如何在中斷中調(diào)用內(nèi)存分配函數(shù)。pvPortMalloc函數(shù)中會調(diào)用xTaskResumeAll,而這個
    發(fā)表于 05-08 08:25

    請問為什么非main.c的其他文件能調(diào)用函數(shù)?

    timer.c 能直接調(diào)用函數(shù),是不是因為tmer.h中也包含了#include \"sys.h\"頭文件?
    發(fā)表于 04-25 06:49

    函數(shù)多層調(diào)用的主要注意事項分析

    應(yīng)用方案設(shè)計中,開發(fā)者經(jīng)常會碰到某個子函數(shù)需要多次多級調(diào)用的情況。
    的頭像 發(fā)表于 03-27 15:36 ?890次閱讀
    子<b class='flag-5'>函數(shù)</b>多層<b class='flag-5'>調(diào)用</b>的主要注意事項分析

    回調(diào)函數(shù)(callback)是什么?回調(diào)函數(shù)的實現(xiàn)方法

    回調(diào)函數(shù)是一種特殊的函數(shù),它作為參數(shù)傳遞給另一個函數(shù),并在被調(diào)用函數(shù)執(zhí)行完畢后被調(diào)用?;卣{(diào)
    發(fā)表于 03-12 11:46 ?2948次閱讀

    函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實例

    通常我們說的指針變量是指向一個整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)。 函數(shù)指針可以像一般函數(shù)一樣,用于調(diào)用
    的頭像 發(fā)表于 03-07 11:13 ?402次閱讀
    <b class='flag-5'>函數(shù)</b>指針與回調(diào)<b class='flag-5'>函數(shù)</b>的應(yīng)用實例

    內(nèi)聯(lián)函數(shù)定義 為什么需要內(nèi)聯(lián)函數(shù)

    inline關(guān)鍵字是C99標(biāo)準(zhǔn)的型關(guān)鍵字,其作用是將函數(shù)展開,把函數(shù)的代碼復(fù)制到每一個調(diào)用處。
    的頭像 發(fā)表于 02-19 12:20 ?548次閱讀

    verilog中函數(shù)和任務(wù)對比

    在verilog中,函數(shù)和任務(wù)均用來描述共同的代碼段,并且在模式內(nèi)任意位置被調(diào)用,提高代碼效率,讓代碼更加的直觀,提高代碼可讀性。但是在實際使用的過程中,函數(shù)和任務(wù)也存在諸多的不同,下面將對而這
    的頭像 發(fā)表于 02-12 18:43 ?892次閱讀

    linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦?

    。 要順利進(jìn)行函數(shù)調(diào)用的調(diào)試,首先需要準(zhǔn)備好代碼和符號表。在編譯代碼時,需要加上 `-g` 參數(shù)來生成調(diào)試信息。這樣編譯器會在可執(zhí)行文件中嵌入符號表,以供GDB使用。如果沒有生成符號表,我們將很難
    的頭像 發(fā)表于 01-31 10:33 ?719次閱讀

    如果使用FCALL調(diào)用函數(shù)而使用RET返回的話, 就會發(fā)生CSA泄露怎么解決?

    FCALL調(diào)用函數(shù)不會自動存儲Upper Context, 需要使用FRET進(jìn)行返回, 如果使用FCALL調(diào)用函數(shù)而使用RET返回的話,
    發(fā)表于 01-26 07:57

    Nuclei Studio IDE工具如何調(diào)用生成的lib庫?

    創(chuàng)建2個工程: test工程:主工程,會調(diào)用libt_lib.a庫 目前將t_lib工程生成的libt_lib.a直接拷貝到test工程的application/source目錄下,編譯時報
    發(fā)表于 01-10 06:12