編譯過程中替換函數(shù)名的兩種方法 (第二種很好使)
方法一
函數(shù)名為__wrap_symbol,且稱其為包裝函數(shù),“symbol”是一個函數(shù)名,大致執(zhí)行過程是這樣的:當調(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
-
RT-Thread
+關(guān)注
關(guān)注
31文章
1352瀏覽量
41395
發(fā)布評論請先 登錄
解鎖TSMaster fifo函數(shù):報文讀取的高效方法

6種方法去除焊接應(yīng)力

SMT生產(chǎn)過程中的常見缺陷
芯片制造過程中的兩種刻蝕方法

評論