zhumx 发表于 2023-11-2 10:35:43

如何在汇编文件中引用C文件定义的字符串常量或宏?

本帖最后由 zhumx 于 2023-11-2 10:38 编辑

如题,想在汇编文件中定义一个字符串,并分配到存储器中,目前使用如下指令实现:devname    DCB "l431demo";DL-App DevName
    ALIGN   16,想在该段代码中使用C文件定义的常量字符串或宏代替汇编中的字符串,这样修改字符串时只需修改C中的相应字符串,不需要改汇编中的字符串了。

RTZERO 发表于 2023-11-2 12:03:56

https://stackoverflow.com/questions/52228818/access-assembly-macro-function-directives-in-a-c-file

RTZERO 发表于 2023-11-2 12:05:17

https://stackoverflow.com/questions/52228818/access-assembly-macro-function-directives-in-a-c-file

RTZERO 发表于 2023-11-2 12:06:54

https://bbs.csdn.net/topics/80146954
https://stackoverflow.com/questions/52228818/access-assembly-macro-function-directives-in-a-c-file
需要你的汇编环境兼容。

zhumx 发表于 2023-11-2 13:26:34

RTZERO 发表于 2023-11-2 12:06
https://bbs.csdn.net/topics/80146954
https://stackoverflow.com/questions/52228818/access-assembly-m ...

谢谢,我的是armcc

庄永 发表于 2023-11-2 23:51:31

zhumx 发表于 2023-11-2 13:26
谢谢,我的是armcc

在汇编里面IMPORT你在c里面定义的变量

zhumx 发表于 2023-11-3 15:05:43

庄永 发表于 2023-11-2 23:51
在汇编里面IMPORT你在c里面定义的变量

不行,报错:

庄永 发表于 2023-11-3 23:16:52

zhumx 发表于 2023-11-3 15:05
不行,报错:

定义成 char dev_name[] = "hello";试试

zhumx 发表于 2023-11-6 10:26:10

庄永 发表于 2023-11-3 23:16
定义成 char dev_name[] = "hello";试试

报这个:.\Objects\dlapp_kdw65xx_V7.axf: Error: L6248E: dl_app_init.o(Init) in PI region 'ER_RO' cannot have address type relocation to dev_name in PI region 'ER_RW'.
页: [1]
查看完整版本: 如何在汇编文件中引用C文件定义的字符串常量或宏?