標(biāo)題: 請教匯編內(nèi)聯(lián)語句編譯問題 [打印本頁]

作者: stm32_1    時間: 2023-10-31 21:15
標(biāo)題: 請教匯編內(nèi)聯(lián)語句編譯問題
我在學(xué)習(xí)一款單片機(jī)的底層驅(qū)動,看到這幾句代碼沒弄明白,有沒有懂匯編的大佬幫忙解釋下這幾句是啥意思,還有變量T_WDG_INJ_TG_0明明沒有定義,為啥會不報(bào)錯呢

#define ASM_KEYWORD  __asm
#define MCAL_PUT_IN_QUOTES(x) #x
#define MCAL_FAULT_INJECTION_POINT(label)   ASM_KEYWORD(MCAL_PUT_IN_QUOTES(label:))
MCAL_FAULT_INJECTION_POINT(T_WDG_INJ_TG_0);


Snipaste_2023-10-31_21-06-01.png (14.66 KB, 下載次數(shù): 64)

Snipaste_2023-10-31_21-06-01.png

作者: Hephaestus    時間: 2023-10-31 23:23
匯編不是高級語言,特點(diǎn)是不同處理器的匯編語言完全不一樣,根本就不通用。你連你用的單片機(jī)型號都要隱瞞,那就不可能有人幫你了。
作者: hero_71    時間: 2023-11-1 09:05
Hephaestus 發(fā)表于 2023-10-31 23:23
匯編不是高級語言,特點(diǎn)是不同處理器的匯編語言完全不一樣,根本就不通用。你連你用的單片機(jī)型號都要隱瞞, ...

NXP FS32K14x
作者: hero_71    時間: 2023-11-1 09:08
展開就是 __asm(T_WDG_INJ_TG_0:); T_WDG_INJ_TG_0應(yīng)該在頭文件里面有定義
作者: hi等你    時間: 2023-11-1 10:13
這是匯編?我一句都看不懂,怎么沒有mov,jump這些指令?看來我用的是假匯編語言,慚愧了
作者: Hephaestus    時間: 2023-11-1 14:44
hi等你 發(fā)表于 2023-11-1 10:13
這是匯編?我一句都看不懂,怎么沒有mov,jump這些指令?看來我用的是假匯編語言,慚愧了

這是c語言內(nèi)嵌匯編,樓主還是沒有說到底用的是什么,gcc、iar還是mdk,標(biāo)準(zhǔn)c語言里面沒有東西,語法都不一樣的。
作者: stm32_1    時間: 2023-11-2 21:10
Hephaestus 發(fā)表于 2023-11-1 14:44
這是c語言內(nèi)嵌匯編,樓主還是沒有說到底用的是什么,gcc、iar還是mdk,標(biāo)準(zhǔn)c語言里面沒有東西,語法都不 ...

我也不知道在什么編譯器用,這幾句代碼是恩智浦的S32K14x型號的單片機(jī)的底層驅(qū)動里面的,這個型號的單片機(jī)一般用在汽車電子領(lǐng)域
作者: stm32_1    時間: 2023-11-2 21:14
Hephaestus 發(fā)表于 2023-10-31 23:23
匯編不是高級語言,特點(diǎn)是不同處理器的匯編語言完全不一樣,根本就不通用。你連你用的單片機(jī)型號都要隱瞞, ...

我沒接觸過匯編,不知道要報(bào)單片機(jī)型號,這個是恩智浦的S32K14x
作者: stm32_1    時間: 2023-11-2 21:20
Hephaestus 發(fā)表于 2023-11-1 14:44
這是c語言內(nèi)嵌匯編,樓主還是沒有說到底用的是什么,gcc、iar還是mdk,標(biāo)準(zhǔn)c語言里面沒有東西,語法都不 ...

這四句代碼的最后一句是在一個函數(shù)里被調(diào)用的,前面三句是我追根溯源在一個頭文件里找到的,我手里有兩個工程一個是IAR的,一個是S32DS的,兩個都是T_WDG_INJ_TG_0在整個工程中找不到但是編譯時不報(bào)錯
作者: Hephaestus    時間: 2023-11-2 21:31
stm32_1 發(fā)表于 2023-11-2 21:20
這四句代碼的最后一句是在一個函數(shù)里被調(diào)用的,前面三句是我追根溯源在一個頭文件里找到的,我手里有兩個 ...

就是個標(biāo)號有什么找不到的?
作者: stm32_1    時間: 2023-11-2 21:38
Hephaestus 發(fā)表于 2023-11-2 21:31
就是個標(biāo)號有什么找不到的?

就是在工程中全局搜索只有這一處出現(xiàn),沒有地方定義它
作者: 人中狼    時間: 2023-11-2 22:06
這個不像是匯編,還是像C,估計(jì)標(biāo)號可能是在器件庫,而不是代碼庫里
作者: Hephaestus    時間: 2023-11-2 22:50
stm32_1 發(fā)表于 2023-11-2 21:38
就是在工程中全局搜索只有這一處出現(xiàn),沒有地方定義它

那你查下連接生成的map文件。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1