[研电赛技术支持] L6241E: startup_gd32f407_427.o(RESET) cannot use the address of ‘RWPI (R9 used as SB)‘ function错误

[复制链接]
 楼主| 木木guainv 发表于 2024-10-30 09:33 | 显示全部楼层 |阅读模式
4961167218cddaa6d2.png

5189467218ce9c31b1.png

解决办法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 | 显示全部楼层
编译器或链接器的设置可能不正确,导致生成的代码或数据布局与硬件要求不匹配。
grfqq325 发表于 2025-5-25 18:11 | 显示全部楼层
启动代码与编译选项不匹配,启动文件里的某些函数不能以RWPI方式访问。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

186

主题

4320

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

186

主题

4320

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部