This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430FR5738:CCS 5.5 和Grace生成的文件的Grace内存模型。

Guru**** 2384100 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/598990/ccs-msp430fr5738-ccs-v5-5-grace-memory-model-for-grace-generated-file

部件号:MSP430FR5738

工具/软件:Code Composer Studio

大家好,

我希望这是一个好的论坛,我对编译器论坛犹豫不决

当我使用FRAM MSP430 µC时,我想将内存代码 和数据存储器模型更改为小(FRAM最大内存大小<16KO...)以优化我的代码大小。 但由于模型不兼容(错误#1.6019万),存在链接错误。

实际上,在由Grace自动生成的makefile中,有一行:

#可选编译器标志
CCOPTS ?=-vmspx --abi=eabi --code_model=small --data_model=small -O0 --opt_for speed=0 --include_path=...

#编译器和归档程序命令
CC ="C:/PROGRA~1/TI/Ccsv5/tools/compiler/MSP430_MSP4.4/bin/cl430" 4.2 --abi=eabi -c --obj_directory=objs/-vmspx --neil_data=none --code_model=large --data_model=restricted

第一行似乎根据我的项目配置正确更改,但第二行已修复。 使用选项中的两个参数调用编译器,默认情况下逻辑选择大模型。

我尝试删除makefile,但新生成的makefile具有相同的行为。

你有解释吗? 可能有些宽限库是用大内存模型编译的,所以这种配置是强制的,但我使用的是driverlib库,不存在这种类型的问题。

此致,

Wilfrid

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilfrid

    您可以通过更改项目的RTSC目标来更改内存模型。 右键单击您的项目,然后选择“属性”。 然后,在“CCS常规”中,选择RTSC选项卡,在“目标”框中,将“ti.targets.MSP430.elf.MSP430X”更改为“ti.targets.MSP430.elf.MSP430X_small”,然后重建项目。

    此致,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢,

    完美!!!

    此致,

    Wilfrid