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.

[参考译文] 编译器/MSP430FR6989:MSP430FR6989编译器警告

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/570145/compiler-msp430fr6989-msp430fr6989-compiler-warnings

部件号:MSP430FR6989

工具/软件:TI C/C++编译器

团队,
我的客户在编译 MSP430FR6989项目时收到以下警告:

警告1
说明资源路径位置类型
#1.0229万-D输出部分".rts430x.data"引用了加载符号"_nop",因此无法压缩;忽略了压缩"RLE",不是LegalFirmwareVersion.c /project/nonLegalRelevant/app/nonLegalFirmwareVersion/src C/C++问题

您是否有此警告来自何处的任何提示?
引用的文件(非常简单)似乎没有任何故障。


警告#2
说明资源路径位置类型
<ahref="processors.wiki.ti.com/.../1.042万">  对于FRAM设备,在启动时,需要禁用GPIO通电默认高阻抗模式以激活先前配置的端口设置。 这可以通过清除PM5CTL0寄存器中的LOCKLPM2 5位来完成。nonLegalFirmwareVersion.c /project/nonLegalRelevant/app/nonLegalFirmwareVersion/src C/C++问题

它们不使用MSP430标题,因此未定义符号。 但是,它们会以不同的方式配置端口。

谢谢,致以诚挚的问候!

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

    关于...

    FRAMziskus 说:
    #1.0229万-D输出部分".rts430x.data"指加载符号"_nop",因此不能压缩;忽略压缩"RLE"

    您可能可以忽略这一个。  这意味着输出部分rts430x.data大于其容量。  否则,它将不会出现任何问题。  如果您有足够的内存,则没有理由继续使用它。

    输出部分.rts430x.data和定义符号_nop (可能为.text)的任何输出部分可能位于同一组中。  因此,一个解决方案是将.rts430x.data移到组外。  此更改在链接程序命令文件中实现。  有关链接程序命令文件的一般背景,请参阅Wiki文章 链接程序命令文件入门

    有关此问题的完整背景信息,请参阅 此论坛主题。  公平警告:这是一段冗长而详细的阅读。

    关于...

    FRAMziskus 说:
    对于FRAM设备,在启动时,需要禁用GPIO开机默认高阻抗模式以激活先前配置的端口设置。[/QUOT]

    请参阅 此论坛主题中的讨论

    谢谢,此致,

    -George

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

    [引用user="George mock]有关此问题的完整背景信息,请参阅 此论坛主题。  公平警告:这是一段冗长而详细的阅读。[/QUOT]

    简短版本:不要将.cinit放在包含".rts430x.data"部分的组中,您将不会收到警告

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

    感谢大家的回答! 我的问题是,它们尚未分组:

    /******************************************************************************** //*
    	系统内存段 								*
    ///................ /
    	组(system_memory_volatile):align(0x0040)
    	{
    		.ti.persistent:{} 								/*用于#pragma持久性 */
    		.CIO :{} 									/* C I/O缓冲区 */
    		.sysmem :{} 									/*动态内存分配区域*/
    		.rts430x.data:{RTS*.lib<*.obj>(.bss),RTS430x<*.obj>(.data)	}/*RTS430x	Runtime-Library			*/
    						/*volatile *.lib<*.obj>(.data)}		RTS430x Runtime-Library			*/
    	}> VARS_NO.40it (rss_system(stat
    
    	
    	
    		:{} 			/*初始化表 */
    		。Pinit :{} 			/* C++构造函数表 */
    		.init_array :{} 			/* C++构造函数表 */
    		.mspabi.exidx:{} 			/* C++构造函数表 */
    		.mspabi.extab:{} 			/* C++构造函数表 */
    		.rts430x.code:{RTS*.lib<*.obj>(.text)	}/*	RTS430x运行时库			*/
    		.text:_system_pre_init {}/*					System-Pre-Init-function		*/
    
    	}> code_system
    
    	Group(forbided_memory_volate):
    	{.bss
    		:{}/*							全局和静态VARS */
    		.data :{}/*							全局和静态VARS */
    
    	}> VARS_Bidden
    
    	Group(forbided_memory_nonvolate):
    	{
    	文本 :{} 			/*代码 						*/
    	。const :{} 			/*常量数据 	*/
    
    	}> code_forbidden
    
    .TI.noinit :{}> RAM 			/*用于#pragma noinit */
    	.stack :{}> RAM (高) 			/*软件系统堆栈 */
    
    信息 :{}>信息 			/* MSP430信息FRAM内存段*/
    

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

    团队,

    您能评论 一下tunguskar的意见吗?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,在这种情况下,简短的回答是您将.cinit与RTS*.lib<*.obj>(.text)分组。 在该组之外的任何其他位置加入。