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

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

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

編譯過程中替換函數(shù)名的兩種方法

冬至子 ? 來源:藥RV ? 作者:藥RV ? 2023-10-11 17:15 ? 次閱讀

編譯過程中替換函數(shù)名的兩種方法 (第二種很好使)

方法一

函數(shù)名為__wrap_symbol,且稱其為包裝函數(shù),“symbol”是一個函數(shù)名,大致執(zhí)行過程是這樣的:當(dāng)調(diào)用“symbol”函數(shù)時,如果“symbol”函數(shù)未定義的話就會調(diào)用__wrap_symbol函數(shù);__wrap_symbol稱做包裝函數(shù)。

示例:

DEVICE = ' -march=rv32imac -Wl,--wrap,timer_irq_handler -mabi=ilp32 -DUSE_PLIC -DUSE_M_TIME -DNO_INIT -mcmodel=medany -msmall-data-limit=8 -L. -nostartfiles -lc '
void __wrap_timer_irq_handler(uint32_t mcause)
{
#warning requires critical section if interrupt nesting is used.
rt_interrupt_enter();
rt_tick_increase();
rt_interrupt_leave();
}

若定義了timer_irq_handler函數(shù)就會使用timer_irq_handler,未定義timer_irq_handler就使用__wrap_timer_irq_handler

方法二

示例

下文是張向量表,向量表使用了corev_handler

vector_table:
j corev_handler // irq0
j corev_handler
j corev_handler
j corev_handler // irq3
j corev_handler
j corev_handler
...
在編譯命令中添加如下代碼

DEVICE = ' -march=rv32imac -D"corev_handler=SW_handler" -mabi=ilp32 -DUSE_PLIC -DUSE_M_TIME -DNO_INIT -mcmodel=medany -msmall-data-limit=8 -L. -nostartfiles -lc '
這種方式會將掃描到存在corev_handler的地方均重定義為SW_handler

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

    關(guān)注

    31

    文章

    1249

    瀏覽量

    39727
收藏 人收藏

    評論

    相關(guān)推薦

    linux驅(qū)動程序的編譯方法是什么

    Linux驅(qū)動程序的編譯方法主要包括兩種: 與內(nèi)核一起編譯編譯成獨立的內(nèi)核模塊 。以下是對這兩種方
    的頭像 發(fā)表于 08-30 14:46 ?254次閱讀

    linux驅(qū)動程序的編譯方法有哪兩種

    Linux驅(qū)動程序的編譯方法主要可以歸納為兩種: 手動編譯 和 使用內(nèi)核構(gòu)建系統(tǒng)(Makefile)自動編譯 。 1. 手動
    的頭像 發(fā)表于 08-30 14:39 ?382次閱讀

    邏輯函數(shù)的化簡方法有哪兩種

    邏輯函數(shù)的化簡是數(shù)字電路設(shè)計的重要步驟,它有助于減少電路的門數(shù)量,提高電路的性能和可靠性。邏輯函數(shù)的化簡方法主要可以分為
    的頭像 發(fā)表于 08-22 16:40 ?356次閱讀

    電容充放電過程中電壓的變化規(guī)律

    電容充放電過程中電壓的變化規(guī)律是一個非常重要的電子學(xué)課題,涉及到電容器的基本工作原理和特性。在這篇文章,我們將詳細探討電容充放電過程中電壓的變化規(guī)律,包括電容的基本特性、充電過程、放
    的頭像 發(fā)表于 07-11 09:43 ?3158次閱讀

    添加ESP-ADF的過程中,ESP-ADFexample工程編譯出錯的原因?

    使用離線工具包安裝的esp-idf,vscode 中使用的是esp-idf插件。esp-idf工程正常。但是再添加ESP-ADF的過程中,ESP-ADFexample工程編譯出錯;順便問一下,我的系統(tǒng)是win11,已經(jīng)再電腦高
    發(fā)表于 06-17 07:49

    數(shù)字設(shè)備采集數(shù)字圖像的兩種方法是什么

    在數(shù)字設(shè)備,采集數(shù)字圖像的方法有很多種,但最常見的兩種方法是:1) 使用數(shù)字相機拍攝,2) 通過掃描儀掃描。 一、使用數(shù)字相機拍攝 數(shù)字相機是一種可以捕捉圖像并將其轉(zhuǎn)換為數(shù)字格式的設(shè)備。數(shù)字相機
    的頭像 發(fā)表于 05-31 15:48 ?590次閱讀

    高頻電流探頭的兩種測量方法過程與特點分析

    高頻電流探頭的兩種測量方法過程與特點分析? 高頻電流探頭是一種用于測量高頻電流的儀器,常用于電力系統(tǒng)、通信系統(tǒng)和電子設(shè)備。它具有非接觸式測量、高精度、寬頻帶等特點,廣泛應(yīng)用于各個領(lǐng)
    的頭像 發(fā)表于 01-05 16:12 ?664次閱讀

    PCBA板清洗的兩種方法介紹

    在SMT貼片加工過程中,錫膏和助焊劑會產(chǎn)生殘留物質(zhì),殘留物包含有有機酸和可分解的電離子,其中有機酸具有腐蝕作用,電離子殘留在焊盤還會引起短路,而且這些殘留物在PCBA板上是比較臟的,也不符合客戶對產(chǎn)品清潔度的要求。所以,對PCBA板進行清洗是非常有必要的,接下來為大家介
    的頭像 發(fā)表于 12-20 10:04 ?800次閱讀

    Multisim仿真幅頻特性曲線和相頻特性曲線的兩種方法

    Multisim仿真幅頻特性曲線和相頻特性曲線的兩種方法
    的頭像 發(fā)表于 12-11 17:29 ?1.5w次閱讀
    Multisim仿真幅頻特性曲線和相頻特性曲線的<b class='flag-5'>兩種方法</b>

    利用SPICE進行放大器穩(wěn)定性分析的兩種方法

    利用SPICE進行放大器穩(wěn)定性分析的兩種方法
    的頭像 發(fā)表于 12-05 15:38 ?4719次閱讀
    利用SPICE進行放大器穩(wěn)定性分析的<b class='flag-5'>兩種方法</b>

    MySQL替換字符串函數(shù)REPLACE

    MySQL是目前非常流行的開源數(shù)據(jù)庫管理系統(tǒng)之一,它具有強大的功能和性能。其中之一的字符串函數(shù)REPLACE,可以用于替換字符串的指定字符或字符串。在本文中,我們將詳細討論MySQL替換
    的頭像 發(fā)表于 11-30 10:44 ?1350次閱讀

    PoE以太網(wǎng)供電的兩種方法

    PoE以太網(wǎng)供電的兩種方法? PoE(Power over Ethernet)以太網(wǎng)供電是一種通過以太網(wǎng)電纜向網(wǎng)絡(luò)設(shè)備傳輸電力的技術(shù)。它可以為無線接入點、IP電話、網(wǎng)絡(luò)攝像機、交換機等設(shè)備提供
    的頭像 發(fā)表于 11-28 15:51 ?834次閱讀

    Python將字符元素替換成數(shù)字

    Python提供了多種方法將字符元素替換成數(shù)字。在本文章,我將詳盡、詳實、細致地介紹其中的幾種常見方法。 使用replace()函數(shù): r
    的頭像 發(fā)表于 11-22 09:48 ?903次閱讀

    函數(shù)參數(shù)的分類有哪些

    一、函數(shù)參數(shù)的分類 函數(shù)的參數(shù)分為類:形參 及 實參 形參:形參是在創(chuàng)建過程中聲明的參數(shù),如果不給形參傳入特定的實參,形參就沒有實際的意義 實參:實參是在
    的頭像 發(fā)表于 11-14 11:13 ?2358次閱讀

    關(guān)于51單片機的矩陣鍵盤掃描的兩種方法的困惑求解

    key_value,然后在主函數(shù)里將根據(jù)key_value的值來做出相應(yīng)的動作! 分析上述兩種方法:對于第一種方法,如果主程序特別長且很消耗時間,那么很可能出現(xiàn)按鍵漏掃的情況,不可靠。第二種情況是每隔段
    發(fā)表于 10-26 08:02