硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2699|回复: 3
收起左侧

[Embedded Studio] Segger Embedded Studio 5.10a版本存在BUG

[复制链接]

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-9-10 19:09:37 | 显示全部楼层 |阅读模式
Segger Embedded Studio 5.10a版本软件开发环境下,开发STM32L452RET6芯片移植uC-OS 2.93.00版本时,编译会提示错误如下图所示:
微信图片_20200910190259.png
根据错误提示内容“relocation R_ARM_THM_CALL to Arm-mode function not supported on this core, from .text.OSIntExit+112 (os_core.o) to OSIntCtxSw (os_cpu_a.o)”,
SEGGER官网给出的解释如下所示:
https://wiki.segger.com/Correct_typing_of_Thumb_functions
好奇的是工程我是用Segger Embedded Studio 4.52c版本软件创建的,编译是没有任何问题,为什么SES软件版本升级会出现这样的错误,感觉有点不理解
也不确定是否是SES新版软件的问题,希望了解的告知下或者可以把这个问题反馈给SEGGER官网最好
Segger Embedded Studio 4.52c工程编译如下图所示:
微信图片_20200910190253.png
还有可以确定的是,好像是STM32部分芯片创建的uCOS-II工程会出现这样的问题,STM32F4系列芯片没有遇到,但是STM32L4和STM32L5系列发现会遇到这样的问题

回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
 楼主| 发表于 2020-9-10 19:13:38 | 显示全部楼层
刚也测试了Segger Embedded Studio 5.10版本软件,编译也是会存在这样的问题,不知道是不是步子迈大了,扯到啥东西了
回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
 楼主| 发表于 2020-9-10 19:20:24 | 显示全部楼层
诉说下最新进展:
uCOS-II V2.93.00软件包的ports下os_cpu_a.S汇编文件内容中,OSCtxSw和OSIntCtxSw汇编函数内容部分修改下即可以解决Segger Embedded Studio V5.10a版本软件下编译出错问题
改动前:
.thumb_func
OSCtxSw:
OSIntCtxSw:
    LDR     R0, =NVIC_INT_CTRL                                  @ Trigger the PendSV exception (causes context switch)
    LDR     R1, =NVIC_PENDSVSET
    STR     R1, [R0]
    BX      LR
改动后:
.thumb_func
OSCtxSw:
.thumb_func
OSIntCtxSw:
    LDR     R0, =NVIC_INT_CTRL                                  @ Trigger the PendSV exception (causes context switch)
    LDR     R1, =NVIC_PENDSVSET
    STR     R1, [R0]
    BX      LR

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-9-11 06:16:30 | 显示全部楼层
关注下,一直没有往GCC上移植过uCOS,谢谢楼主分享。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-18 06:46 , Processed in 0.162529 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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