wlh1102 发表于 2020-8-4 16:51:55

threadX移植出错 Error: L6218E: Undefined symbol __initial_sp

移植threadX总是报错.\Objects\project.axf: Error: L6218E: Undefined symbol __initial_sp (referred from tx_initialize_low_level_sample.o).,是怎么回事,ports和common,startup_stm32h743xx.s都是用模板里的,什么原因呢

eric2013 发表于 2020-8-4 16:56:28

ThreadX内核移植中__RAM_segment_used_end__的作用
http://www.armbbs.cn/forum.php?mod=viewthread&tid=98114&fromuid=58
(出处: 硬汉嵌入式论坛)

wlh1102 发表于 2020-8-4 17:07:46

    .global   __initial_sp   

__RAM_segment_used_end__ = __initial_sp
都有,怎么还在报错

eric2013 发表于 2020-8-4 17:37:24

wlh1102 发表于 2020-8-4 17:07
.global   __initial_sp   

__RAM_segment_used_end__ = __initial_sp


上传你得工程看下。

wlh1102 发表于 2020-8-4 19:12:22

发工程,见附件

eric2013 发表于 2020-8-4 19:30:13

wlh1102 发表于 2020-8-4 19:12
发工程,见附件


wlh1102 发表于 2020-8-4 21:12:40

USE Microlib 勾上后还是编译报错,用AC5编译成功后在用AC6编译居然没有报错,估计是编译器AC5和AC6的差异。

wlh1102 发表于 2020-8-4 21:21:01

感谢版主耐心指导:lol

huangxian 发表于 2022-3-31 11:09:30

eric2013 发表于 2020-8-4 19:30


我勾选了use microlib,还是会报错
如果我不勾选就只有一个错误
.\Objects\F1_THREADX.axf: Error: L6218E: Undefined symbol __initial_sp (referred from tx_initialize_low_level.o).
如果我勾选了,就会变成两个错误
.\Objects\F1_THREADX.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup_stm32f103xe.o).
.\Objects\F1_THREADX.axf: Error: L6218E: Undefined symbol __initial_sp (referred from tx_initialize_low_level.o).

huangxian 发表于 2022-3-31 17:04:56

huangxian 发表于 2022-3-31 11:09
我勾选了use microlib,还是会报错
如果我不勾选就只有一个错误
.\Objects\F1_THREADX.axf: Error: L62 ...

".\Objects\F1_THREADX.axf" - 0 Error(s), 437 Warning(s).


关闭工程重新打开突然就好了

dengjingg 发表于 2022-4-15 21:23:36

huangxian 发表于 2022-3-31 17:04
".\Objects\F1_THREADX.axf" - 0 Error(s), 437 Warning(s).




这个问题应该是个BUG。 右键STM32 的启动文件 startup_stm32h743xx.srebulid target 就可以,我也遇到了,有时候莫名其妙的。

mark_arm 发表于 2023-3-16 14:15:44

dengjingg 发表于 2022-4-15 21:23
这个问题应该是个BUG。 右键STM32 的启动文件 startup_stm32h743xx.srebulid target 就可以,我也遇到 ...

谢谢!你这个办法,我今天试了一下也成功了:lol。

鄢一安 发表于 2024-3-26 08:50:29

eric2013 发表于 2020-8-4 19:30


我也遇到了这个,但是发现直接用cubemx创建的工程(加threadx)也没有勾选微库就没问题,发现它没有把Image$$RW_IRAM1$$ZI$$Limit替换为__initial_sp,但工程也能跑,这是为啥

eric2013 发表于 2024-3-26 10:46:23

鄢一安 发表于 2024-3-26 08:50
我也遇到了这个,但是发现直接用cubemx创建的工程(加threadx)也没有勾选微库就没问题,发现它没有把Ima ...

这个的作用是把剩余RAM空间给ThreadX动态内存使用,如果你用不到,不用管。
页: [1]
查看完整版本: threadX移植出错 Error: L6218E: Undefined symbol __initial_sp