木木guainv 发表于 2024-10-30 09:33

L6241E: startup_gd32f407_427.o(RESET) cannot use the address of ‘RWPI (R9 used as SB)‘ function错误





解决办法Read-Write Position Independent:为可读写代码生成独立的代码空间。可读写代码生成独立的代码空间之后,将无法用原地址进行访问。

No Auto Includes:不自动添加头文件(一般不勾选)。

不勾选该选项,编译器就会在Keil安装路径寻找你工程中.h文件。

举例:我们定义uint8_t是定义在stdint.h文件里面的,但是我们工程目录下一般是没有stdint.h文件。这时候,编译器就会在Keil路径下去寻找stdint.h文件。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/MYPossible/article/details/143261393

星辰大海不退缩 发表于 2024-10-31 11:13

我们定义uint8_t是定义在stdint.h文件里面的

elephant00 发表于 2024-10-31 12:12

寄存器冲突

jcky001 发表于 2024-10-31 12:13

检查链接脚本,审查启动代码

两只袜子 发表于 2024-10-31 13:00

可能是链接脚本中定义的内存布局与启动代码中的期望不符,导致某些必要的段(section)或变量被放置在不正确的内存区域。

jcky001 发表于 2024-10-31 14:00

编译器或链接器的设置可能不正确,导致生成的代码或数据布局与硬件要求不匹配。
页: [1]
查看完整版本: L6241E: startup_gd32f407_427.o(RESET) cannot use the address of ‘RWPI (R9 used as SB)‘ function错误