找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 974|回复: 12
打印 上一主题 下一主题
收起左侧

请教汇编内联语句编译问题

[复制链接]
跳转到指定楼层
楼主
我在学习一款单片机的底层驱动,看到这几句代码没弄明白,有没有懂汇编的大佬帮忙解释下这几句是啥意思,还有变量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, 下载次数: 64)

Snipaste_2023-10-31_21-06-01.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-10-31 23:23 | 只看该作者
汇编不是高级语言,特点是不同处理器的汇编语言完全不一样,根本就不通用。你连你用的单片机型号都要隐瞒,那就不可能有人帮你了。
回复

使用道具 举报

板凳
ID:1093026 发表于 2023-11-1 09:05 | 只看该作者
Hephaestus 发表于 2023-10-31 23:23
汇编不是高级语言,特点是不同处理器的汇编语言完全不一样,根本就不通用。你连你用的单片机型号都要隐瞒, ...

NXP FS32K14x
回复

使用道具 举报

地板
ID:1093026 发表于 2023-11-1 09:08 | 只看该作者
展开就是 __asm(T_WDG_INJ_TG_0:); T_WDG_INJ_TG_0应该在头文件里面有定义
回复

使用道具 举报

5#
ID:996773 发表于 2023-11-1 10:13 | 只看该作者
这是汇编?我一句都看不懂,怎么没有mov,jump这些指令?看来我用的是假汇编语言,惭愧了
回复

使用道具 举报

6#
ID:883242 发表于 2023-11-1 14:44 | 只看该作者
hi等你 发表于 2023-11-1 10:13
这是汇编?我一句都看不懂,怎么没有mov,jump这些指令?看来我用的是假汇编语言,惭愧了

这是c语言内嵌汇编,楼主还是没有说到底用的是什么,gcc、iar还是mdk,标准c语言里面没有东西,语法都不一样的。
回复

使用道具 举报

7#
ID:985217 发表于 2023-11-2 21:10 | 只看该作者
Hephaestus 发表于 2023-11-1 14:44
这是c语言内嵌汇编,楼主还是没有说到底用的是什么,gcc、iar还是mdk,标准c语言里面没有东西,语法都不 ...

我也不知道在什么编译器用,这几句代码是恩智浦的S32K14x型号的单片机的底层驱动里面的,这个型号的单片机一般用在汽车电子领域
回复

使用道具 举报

8#
ID:985217 发表于 2023-11-2 21:14 | 只看该作者
Hephaestus 发表于 2023-10-31 23:23
汇编不是高级语言,特点是不同处理器的汇编语言完全不一样,根本就不通用。你连你用的单片机型号都要隐瞒, ...

我没接触过汇编,不知道要报单片机型号,这个是恩智浦的S32K14x
回复

使用道具 举报

9#
ID:985217 发表于 2023-11-2 21:20 | 只看该作者
Hephaestus 发表于 2023-11-1 14:44
这是c语言内嵌汇编,楼主还是没有说到底用的是什么,gcc、iar还是mdk,标准c语言里面没有东西,语法都不 ...

这四句代码的最后一句是在一个函数里被调用的,前面三句是我追根溯源在一个头文件里找到的,我手里有两个工程一个是IAR的,一个是S32DS的,两个都是T_WDG_INJ_TG_0在整个工程中找不到但是编译时不报错
回复

使用道具 举报

10#
ID:883242 发表于 2023-11-2 21:31 | 只看该作者
stm32_1 发表于 2023-11-2 21:20
这四句代码的最后一句是在一个函数里被调用的,前面三句是我追根溯源在一个头文件里找到的,我手里有两个 ...

就是个标号有什么找不到的?
回复

使用道具 举报

11#
ID:985217 发表于 2023-11-2 21:38 | 只看该作者
Hephaestus 发表于 2023-11-2 21:31
就是个标号有什么找不到的?

就是在工程中全局搜索只有这一处出现,没有地方定义它
回复

使用道具 举报

12#
ID:384109 发表于 2023-11-2 22:06 | 只看该作者
这个不像是汇编,还是像C,估计标号可能是在器件库,而不是代码库里
回复

使用道具 举报

13#
ID:883242 发表于 2023-11-2 22:50 | 只看该作者
stm32_1 发表于 2023-11-2 21:38
就是在工程中全局搜索只有这一处出现,没有地方定义它

那你查下连接生成的map文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表