首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TI's Red Hat mspgcc-430编译错误

TI's Red Hat mspgcc-430编译错误
EN

Stack Overflow用户
提问于 2015-07-27 03:56:50
回答 1查看 249关注 0票数 1

因此,我正在尝试编译代码,用C语言编写,用于linux中的msp430fx。我最近重新编译了一个新版本的mspgcc,因为以前使用的是4.3,它与扩展模式(20位-mlarge)不兼容/不稳定。

我跟踪了这个站点

安装后,我运行了一个简单的(main,调用一些随机函数),它编译得很好,但现在,编译这个大项目,我在结束这个错误:

bsp 430-gcc build/MoteISTv5_mspgcc/projects/common/03oos_macpong_prog -mmcu=msp430f5438a -Wall -Wno-main -mlarge -O0 -g -ggdb -Lbuild/MoteISTv5 5_mspgcc/bsp/boards Lbuild/MoteISTv5 5_mspgcc/内核/openos-Lbuild/MoteISTv5 5_mspgcc/驱动程序-Lbuild/MoteISTv5 5_mspgcc/openstack -Lbuild/MoteISTv5_mspgcc/openapps -lopenstack -lopenapps -ldrivers -lbsp /opt/msp430-toolchain/lib/gcc/msp430-none-elf/4.9.1/../../../../msp430-none-elf/bin/ld:无法打开链接器脚本文件msp430f5438a.ld:没有这样的文件或目录collect2: ld返回了一个退出状态scon:* build/MoteISTv5_mspgcc/projects/common/03oos_macpong_prog错误1:因错误而终止了构建。

因为我对编译器不太了解,所以我需要一些帮助来解决这个问题。有人能帮忙吗?

先杀了他,

迪奥戈·格拉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-29 22:54:22

编辑:在这个新版本的gcc 430-elf-gcc这个函数被命名为_read_SR()而不是__read_status_register()。

======================= / ====================== / =====================

显然,我不得不将.ld文件的目录强制到带有-L的编译器标志中。

但是现在使用新的mspgcc 430-gcc v4.9.1,他不承认__read_status_register函数,而在mspgcc-遗留(4.6.3)中,他没有问题地编译.

我做了一些浏览,而且很明显,bin库不支持大多数__的“特定处理器功能”。他们说我们必须使用内联程序集来访问特殊寄存器,这是很尴尬的。“他们是否会移除这种支持?”

如果您需要使用内联程序集,这里是__read_status_register()的一个示例

代码语言:javascript
复制
static inline __attribute__((always_inline))
unsigned int __read_status_register( void){
    unsigned int xReturn;
    asm volatile( "MOV  R2, %0"
                : "=r"  (xReturn)); // output parameters
    return xReturn;
}

要了解更多信息,您可以使用我发现非常有用的本站

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31644751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档