RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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)用,以方便程序猿的測(cè)試工作。

測(cè)試工具

MDE:2.3.2.126

Toolkit:NONE

QACT:NULL

Hardware:QCC3026

Software:adk_qcc512x_rom_v21.win.6.4_installer_6.4.2.21

其實(shí)很簡單,就是利用pydbg工具直接調(diào)用具體函數(shù)即可,為了方便測(cè)試,我們?cè)趍ain.c中添加一個(gè)函數(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

這個(gè)時(shí)候就可以看到在fw_live_log中打印了:

pydbg test function, num = 5

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

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

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

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

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

編輯:jq

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

    關(guān)注

    3

    文章

    4327

    瀏覽量

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

    關(guān)注

    0

    文章

    657

    瀏覽量

    32852
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    93

    瀏覽量

    19907

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計(jì)算速度比直接調(diào)用sqrtf()要慢, 計(jì)算一次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é)計(jì)算軟件,廣泛應(yīng)用于科學(xué)計(jì)算、數(shù)據(jù)分析、算法開發(fā)等領(lǐng)域。其中,Matlab的神經(jīng)網(wǎng)絡(luò)工具箱(Neural Network Toolbox)為用戶提供了豐富的函數(shù)工具
    的頭像 發(fā)表于 07-08 18:26 ?1839次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    西門子博途:手動(dòng)更新塊調(diào)用

    選擇不一致的調(diào)用,然后在上下文菜單(鼠標(biāo)右鍵)中選擇函數(shù)“Update”。 然后會(huì)出現(xiàn)一個(gè)窗口,其中顯示舊的(不正確的)和新的塊調(diào)用(帶有已刪除的“ActiveNotAck”參數(shù))。
    的頭像 發(fā)表于 12-25 11:12 ?3110次閱讀
    西門子博途:手動(dòng)更新塊<b class='flag-5'>調(diào)用</b>
    RM新时代网站-首页