找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1785|回復: 12
打印 上一主題 下一主題
收起左側(cè)

請教匯編內(nèi)聯(lián)語句編譯問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:985217 發(fā)表于 2023-10-31 21:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我在學習一款單片機的底層驅(qū)動,看到這幾句代碼沒弄明白,有沒有懂匯編的大佬幫忙解釋下這幾句是啥意思,還有變量T_WDG_INJ_TG_0明明沒有定義,為啥會不報錯呢

#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
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2023-10-31 23:23 | 只看該作者
匯編不是高級語言,特點是不同處理器的匯編語言完全不一樣,根本就不通用。你連你用的單片機型號都要隱瞞,那就不可能有人幫你了。
回復

使用道具 舉報

板凳
ID:1093026 發(fā)表于 2023-11-1 09:05 | 只看該作者
Hephaestus 發(fā)表于 2023-10-31 23:23
匯編不是高級語言,特點是不同處理器的匯編語言完全不一樣,根本就不通用。你連你用的單片機型號都要隱瞞, ...

NXP FS32K14x
回復

使用道具 舉報

地板
ID:1093026 發(fā)表于 2023-11-1 09:08 | 只看該作者
展開就是 __asm(T_WDG_INJ_TG_0:); T_WDG_INJ_TG_0應該在頭文件里面有定義
回復

使用道具 舉報

5#
ID:996773 發(fā)表于 2023-11-1 10:13 | 只看該作者
這是匯編?我一句都看不懂,怎么沒有mov,jump這些指令?看來我用的是假匯編語言,慚愧了
回復

使用道具 舉報

6#
ID:883242 發(fā)表于 2023-11-1 14:44 | 只看該作者
hi等你 發(fā)表于 2023-11-1 10:13
這是匯編?我一句都看不懂,怎么沒有mov,jump這些指令?看來我用的是假匯編語言,慚愧了

這是c語言內(nèi)嵌匯編,樓主還是沒有說到底用的是什么,gcc、iar還是mdk,標準c語言里面沒有東西,語法都不一樣的。
回復

使用道具 舉報

7#
ID:985217 發(fā)表于 2023-11-2 21:10 | 只看該作者
Hephaestus 發(fā)表于 2023-11-1 14:44
這是c語言內(nèi)嵌匯編,樓主還是沒有說到底用的是什么,gcc、iar還是mdk,標準c語言里面沒有東西,語法都不 ...

我也不知道在什么編譯器用,這幾句代碼是恩智浦的S32K14x型號的單片機的底層驅(qū)動里面的,這個型號的單片機一般用在汽車電子領(lǐng)域
回復

使用道具 舉報

8#
ID:985217 發(fā)表于 2023-11-2 21:14 | 只看該作者
Hephaestus 發(fā)表于 2023-10-31 23:23
匯編不是高級語言,特點是不同處理器的匯編語言完全不一樣,根本就不通用。你連你用的單片機型號都要隱瞞, ...

我沒接觸過匯編,不知道要報單片機型號,這個是恩智浦的S32K14x
回復

使用道具 舉報

9#
ID:985217 發(fā)表于 2023-11-2 21:20 | 只看該作者
Hephaestus 發(fā)表于 2023-11-1 14:44
這是c語言內(nèi)嵌匯編,樓主還是沒有說到底用的是什么,gcc、iar還是mdk,標準c語言里面沒有東西,語法都不 ...

這四句代碼的最后一句是在一個函數(shù)里被調(diào)用的,前面三句是我追根溯源在一個頭文件里找到的,我手里有兩個工程一個是IAR的,一個是S32DS的,兩個都是T_WDG_INJ_TG_0在整個工程中找不到但是編譯時不報錯
回復

使用道具 舉報

10#
ID:883242 發(fā)表于 2023-11-2 21:31 | 只看該作者
stm32_1 發(fā)表于 2023-11-2 21:20
這四句代碼的最后一句是在一個函數(shù)里被調(diào)用的,前面三句是我追根溯源在一個頭文件里找到的,我手里有兩個 ...

就是個標號有什么找不到的?
回復

使用道具 舉報

11#
ID:985217 發(fā)表于 2023-11-2 21:38 | 只看該作者
Hephaestus 發(fā)表于 2023-11-2 21:31
就是個標號有什么找不到的?

就是在工程中全局搜索只有這一處出現(xiàn),沒有地方定義它
回復

使用道具 舉報

12#
ID:384109 發(fā)表于 2023-11-2 22:06 | 只看該作者
這個不像是匯編,還是像C,估計標號可能是在器件庫,而不是代碼庫里
回復

使用道具 舉報

13#
ID:883242 發(fā)表于 2023-11-2 22:50 | 只看該作者
stm32_1 發(fā)表于 2023-11-2 21:38
就是在工程中全局搜索只有這一處出現(xiàn),沒有地方定義它

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表