編譯過程中替換函數(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)系本站處理。
舉報投訴
相關(guān)推薦
Linux驅(qū)動程序的編譯方法主要包括兩種: 與內(nèi)核一起編譯 和 編譯成獨立的內(nèi)核模塊 。以下是對這兩種方
發(fā)表于 08-30 14:46
?254次閱讀
Linux驅(qū)動程序的編譯方法主要可以歸納為兩種: 手動編譯 和 使用內(nèi)核構(gòu)建系統(tǒng)(Makefile)自動編譯 。 1. 手動
發(fā)表于 08-30 14:39
?382次閱讀
邏輯函數(shù)的化簡是數(shù)字電路設(shè)計中的重要步驟,它有助于減少電路中的門數(shù)量,提高電路的性能和可靠性。邏輯函數(shù)的化簡方法主要可以分為
發(fā)表于 08-22 16:40
?356次閱讀
電容充放電過程中電壓的變化規(guī)律是一個非常重要的電子學(xué)課題,涉及到電容器的基本工作原理和特性。在這篇文章中,我們將詳細探討電容充放電過程中電壓的變化規(guī)律,包括電容的基本特性、充電過程、放
發(fā)表于 07-11 09:43
?3158次閱讀
使用離線工具包安裝的esp-idf,vscode 中使用的是esp-idf插件。esp-idf工程正常。但是再添加ESP-ADF的過程中,ESP-ADF中example工程編譯出錯;順便問一下,我的系統(tǒng)是win11,已經(jīng)再電腦高
發(fā)表于 06-17 07:49
在數(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次閱讀
在SMT貼片加工過程中,錫膏和助焊劑會產(chǎn)生殘留物質(zhì),殘留物中包含有有機酸和可分解的電離子,其中有機酸具有腐蝕作用,電離子殘留在焊盤還會引起短路,而且這些殘留物在PCBA板上是比較臟的,也不符合客戶對產(chǎn)品清潔度的要求。所以,對PCBA板進行清洗是非常有必要的,接下來為大家介
發(fā)表于 12-20 10:04
?800次閱讀
Multisim仿真幅頻特性曲線和相頻特性曲線的兩種方法
發(fā)表于 12-11 17:29
?1.5w次閱讀
利用SPICE進行放大器穩(wěn)定性分析的兩種方法
發(fā)表于 12-05 15:38
?4719次閱讀
MySQL是目前非常流行的開源數(shù)據(jù)庫管理系統(tǒng)之一,它具有強大的功能和性能。其中之一的字符串函數(shù)REPLACE,可以用于替換字符串中的指定字符或字符串。在本文中,我們將詳細討論MySQL替換
發(fā)表于 11-30 10:44
?1350次閱讀
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ù)字。在本文章中,我將詳盡、詳實、細致地介紹其中的幾種常見方法。 使用replace()函數(shù): r
發(fā)表于 11-22 09:48
?903次閱讀
一、函數(shù)參數(shù)的分類 函數(shù)的參數(shù)分為兩類:形參 及 實參 形參:形參是在創(chuàng)建過程中聲明的參數(shù),如果不給形參傳入特定的實參,形參就沒有實際的意義 實參:實參是在
發(fā)表于 11-14 11:13
?2358次閱讀
key_value,然后在主函數(shù)里將根據(jù)key_value的值來做出相應(yīng)的動作!
分析上述兩種方法:對于第一種方法,如果主程序特別長且很消耗時間,那么很可能出現(xiàn)按鍵漏掃的情況,不可靠。第二種情況是每隔段
發(fā)表于 10-26 08:02
評論