編譯過(guò)程中替換函數(shù)名的兩種方法 (第二種很好使)
方法一
函數(shù)名為__wrap_symbol,且稱其為包裝函數(shù),“symbol”是一個(gè)函數(shù)名,大致執(zhí)行過(guò)程是這樣的:當(dāng)調(diào)用“symbol”函數(shù)時(shí),如果“symbol”函數(shù)未定義的話就會(huì)調(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ù)就會(huì)使用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 '
這種方式會(huì)將掃描到存在corev_handler的地方均重定義為SW_handler
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
SMT(表面貼裝技術(shù))生產(chǎn)過(guò)程中常見(jiàn)的缺陷主要包括以下幾種,以及相應(yīng)的解決方法: 一、元件立碑(Manhattan效應(yīng)) 缺陷描述 : 元器件在回流焊過(guò)程中發(fā)生傾斜或翻倒,導(dǎo)致元器件的一端或兩
發(fā)表于 01-10 18:00
?413次閱讀
本文簡(jiǎn)單介紹了芯片制造過(guò)程中的兩種刻蝕方法 ? 刻蝕(Etch)是芯片制造過(guò)程中相當(dāng)重要的步驟。 刻蝕主要分為干刻蝕和濕法刻蝕。 ①干法刻蝕 利用等離子體將不要的材料去除。 ②濕法刻蝕
發(fā)表于 12-06 11:13
?465次閱讀
同樣是函數(shù),在 C 和 C++ 中有什么區(qū)別? 第一個(gè)返回值。 C語(yǔ)言的函數(shù)可以不寫返回值類型,編譯器會(huì)默認(rèn)為返回 int。 但是 C++ 的函數(shù),除了構(gòu)造和析構(gòu)這
發(fā)表于 11-29 10:25
?416次閱讀
Linux驅(qū)動(dòng)程序的編譯方法主要包括兩種: 與內(nèi)核一起編譯 和 編譯成獨(dú)立的內(nèi)核模塊 。以下是對(duì)這兩種方
發(fā)表于 08-30 14:46
?747次閱讀
Linux驅(qū)動(dòng)程序的編譯方法主要可以歸納為兩種: 手動(dòng)編譯 和 使用內(nèi)核構(gòu)建系統(tǒng)(Makefile)自動(dòng)編譯 。 1. 手動(dòng)
發(fā)表于 08-30 14:39
?895次閱讀
邏輯函數(shù)的化簡(jiǎn)是數(shù)字電路設(shè)計(jì)中的重要步驟,它有助于減少電路中的門數(shù)量,提高電路的性能和可靠性。邏輯函數(shù)的化簡(jiǎn)方法主要可以分為
發(fā)表于 08-22 16:40
?1154次閱讀
電容充放電過(guò)程中電壓的變化規(guī)律是一個(gè)非常重要的電子學(xué)課題,涉及到電容器的基本工作原理和特性。在這篇文章中,我們將詳細(xì)探討電容充放電過(guò)程中電壓的變化規(guī)律,包括電容的基本特性、充電過(guò)程、放
發(fā)表于 07-11 09:43
?6649次閱讀
用戶介紹一下DHE雷達(dá)物位計(jì)在測(cè)量過(guò)程中產(chǎn)生干擾的具體因素都有哪些。 一、DHE雷達(dá)物位計(jì)在測(cè)量過(guò)程中,常見(jiàn)的干擾可分為兩種:直流干擾和交流干擾。 1、直流干擾? ? ??? 在雷達(dá)物位計(jì)測(cè)量回路
發(fā)表于 06-26 16:03
?406次閱讀
使用離線工具包安裝的esp-idf,vscode 中使用的是esp-idf插件。esp-idf工程正常。但是再添加ESP-ADF的過(guò)程中,ESP-ADF中example工程編譯出錯(cuò);順便問(wèn)一下,我的系統(tǒng)是win11,已經(jīng)再電腦高
發(fā)表于 06-17 07:49
在數(shù)字設(shè)備中,采集數(shù)字圖像的方法有很多種,但最常見(jiàn)的兩種方法是:1) 使用數(shù)字相機(jī)拍攝,2) 通過(guò)掃描儀掃描。 一、使用數(shù)字相機(jī)拍攝 數(shù)字相機(jī)是一種可以捕捉圖像并將其轉(zhuǎn)換為數(shù)字格式的設(shè)備。數(shù)字相機(jī)
發(fā)表于 05-31 15:48
?923次閱讀
函數(shù)發(fā)生器,作為電子測(cè)試和測(cè)量領(lǐng)域的重要工具,其穩(wěn)定性和可靠性對(duì)于實(shí)驗(yàn)和測(cè)試結(jié)果的準(zhǔn)確性至關(guān)重要。然而,由于各種原因,函數(shù)發(fā)生器在使用過(guò)程中可能會(huì)遇到各種故障。本文將詳細(xì)介紹函數(shù)發(fā)生器
發(fā)表于 05-15 11:45
?1110次閱讀
這兩種方法都是示波器測(cè)量頻率的常用方法,可以根據(jù)實(shí)際情況選擇使用。同時(shí),需要注意在測(cè)量過(guò)程中,確保示波器的設(shè)置和參數(shù)選擇正確,以獲得準(zhǔn)確的測(cè)量結(jié)果。
發(fā)表于 05-08 17:22
?4949次閱讀
一站式PCBA智造廠家今天為大家講講smt加工過(guò)程中空洞產(chǎn)生的原因有哪些?解決SMT加工過(guò)程中空洞問(wèn)題的方法。SMT加工是電子制造中常見(jiàn)的一種表面貼裝技術(shù),它具有高效、高質(zhì)、高可靠性等特點(diǎn)。然而,在
發(fā)表于 04-02 09:40
?671次閱讀
描述 在所有編程和腳本語(yǔ)言中,函數(shù)是可以在程序中重復(fù)使用的語(yǔ)句塊。在 PHP 中,函數(shù)的概念與另一種語(yǔ)言(如“C”)中的概念相同。標(biāo)準(zhǔn) PH
發(fā)表于 03-20 14:27
?441次閱讀
放射性廢物的處置問(wèn)題一直是核工業(yè)發(fā)展過(guò)程中不可忽視的關(guān)鍵環(huán)節(jié)。核燃料后處理循環(huán)過(guò)程中產(chǎn)生的高放廢液的安全處置是放射性廢物處理的關(guān)鍵,國(guó)際上比較成熟的高放廢液處理方法是玻璃固化[1]。
發(fā)表于 03-12 16:43
?614次閱讀
評(píng)論