TI中文支持网
TI专业的中文技术问题咨询交流网站

MSP430FR5994: TI-RTOS工程链接时出错:No specialization routine chosen for '_c_int00'

Part Number:MSP430FR5994

Hi, 各位工程师朋友、专家

我初次用 MSP430 处理器 + TI-RTOS ,创建了一个工程,然后COPY了 tirtos_msp43x_2_20_00_06 下的例子程序:MSP_EXP430FR5994 板 uartecho 例子

工程配置:XDCtools 3.32.0.06,TI-RTOS for MSP43x 2.20.0.06

编译没有出错,链接时出现如下错误提示:

No specialization routine chosen for '_c_int00', referenced from '.reset:boot.ae430X<boot.oe430X>

No specialization routine chosen for '_c_int00', referenced from 'ROOT_SECTION:<internal>

从字面意思看,好像是链接时找不到 _c_int00, 这个入口函数应该是 rts430_eabi.lib 库中定义的,工程配置时,Runtime support library 选择了 <automatic> ,下面其实有三个库文件可以选择:

 rts43x_lc_rd_eabi.lib

rts43x_lc_sd_eabi.lib

rts43x_eabi.lib

我也搞不清他们之间的区别,但是都尝试了一遍,都会报出链接错误。

不知道这是什么问题,请各位指教!感激不尽!

Jialinzhuang

linzhuang jia:

或者哪位是否能直接提供一个 MSP430FR5XX + TI-RTOS 的 demo project ?先在这里说声感谢!  

,

Yale Li:

您好,这个问题我与资深工程师讨论一下再答复您。

另外,强烈不建议在MSP430上使用TI-RTOS,请参阅 slau840a 第18页

,

linzhuang jia:

哦,好的。我以前用的是 TM4C123X, TM4C129X,MSP432 这些芯片,软件开发用 TI-RTOS 感觉非常好用。 后来不知道什么原因,MSP432P401 突然就停产消失了,这个也是超低功耗的,对于功能简单又需要超低功耗的场合,只好用 MSP430 来替代,但是我习惯了 RTOS 的支持,没有 RTOS 写程序感觉超级不方便。既然强烈不建议,那就算了,我慢慢习惯一下没有 RTOS 的编程吧。 谢谢您的帮助和答复!

,

linzhuang jia:

刚才我在英文e2e看到了您帮我转的帖子,但是因为我的帐号注册的邮件地址不是企业邮箱,无法答复,修改邮箱的时候又遇到了问题,一直无法收到 TI 发到企业邮箱的确认邮件。所以我在这里回答一下,如果您看到,帮我转到英文 e2e

我使用的 CCS 是 10.3.1.00003 

使用的编译器是 TI v20.2.4.LTS

谢谢!

,

Yale Li:

好的!

,

Yale Li:

我在我的电脑上通过以下方式运行是没有问题的:

我用的是CCS v6.1.3,通过–>spruhu4e<–中第2.3章及第3.1章介绍的,在APP center中安装TI-RTOS,并通过TIREX(TI Resource Explore)导入工程的方式进行操作。点击Build之后没有问题。因为我手头暂时没有MSP430FR5994的板子,所以没有办法尝试Debug。

不同版本的CCS(如v11, v10, v6)是可以安装在同一台计算机上的。

需要注意的是,CCS v7之前在当时并不完全免费,是有代码大小限制的。现在,您只需要按照–>Free license for older versions<–中的步骤下载并添加license即可,否则会有代码大小超出限制(error #10269: output file "xxx.out" exceeds code size limit)的报错。

您可以先试一下这种方法。

,

linzhuang jia:

好的。

这个确实可能是 TI 在 CCS 升级过程中带入的问题。因为我在 CCS10 里找到了一个地方可以直接导入 MSP430FR5994 的 TI-RTOS  Project Examples,不用自己动手配置,但是链接也会出同样的错误。换回 CCS9 也一样的。

我再试试 CCS8,CCS7,。。。一个一个试

,

Yale Li:

如果换一个版本还是同样的错误的话,我推测是不是安装有问题?您有换一台电脑试一试吗?

或者换一个版本的编译器试一下。

正如TI-RTOS Downloads页面所显示的,针对MSP430的TI-RTOS的最后一个版本2.20.00.06是在2016年发布的,之后就没有更新,这是我选择CCS v6的原因。不过理论上讲后续版本也是支持之前的产品的。

另外我收到回复的话会及时回复您的。

,

linzhuang jia:

已经可以证实是CCS升级过程中带入的BUG,我刚刚安装了CCS7.0,同样的方法步骤,导入MSP430FR5994 的 TI-RTOS 例子工程,编译链接成功,没有任何问题。

,

Yale Li:

好的,我向E2E反馈一下。

,

Yale Li:

您好,较新版本的CCS对TI-RTOS的支持确实不太友好,如果您要使用较新版本的CCS,推荐您使用v16.x.x.LTS版本(18.1.7.LTS之前的)的编译工具。

对TI-RTOS适配最好的CCS及XDCTools的版本分别是:

CCS 6.1.3XDCTools 3.32.00.06

详见–>[FAQ] CCS: Trouble building and/or running TI-RTOS projects on MSP430

为方便您查看,以下附上E2E链接↓↓↓

MSP430FR5994: TI-RTOS project linking error : No specialization routine chosen for '_c_int00'

,

linzhuang jia:

好的,非常感谢您的支持!

,

Yale Li:

不客气

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR5994: TI-RTOS工程链接时出错:No specialization routine chosen for '_c_int00'
分享到: 更多 (0)