S32K3+RTD400+SPD 1.0.4 link file

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K3+RTD400+SPD 1.0.4 link file

309件の閲覧回数
Neo1096
Contributor III

I encountered some issues regarding link files when using SPD104. Currently, I am using iar version 9.50.2. The icf file generated when converting from S32DS to iar does not include SPD-related content. I refer to the section about eMcem_MemMap in the SPD104 manual. Some segment allocations were added to the icf file, but some problems were still encountered.

The most frequently encountered error is this

Error[Lp005]: placement includes a mix of sections with content (example "rw data section .s32_saf_bss in eMcem.o symbols: [eMcem_DriverState]") [suitable for placement in ROM] and sections without content (example "zi section .bss in abs.o symbols: [abs_output]") [suitable for placement in RAM]

 

From the code, for example, there is the following code in eMcem_MemMap.h

#ifdef EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED

/ * *

* @file eMcem_MemMap.h

* @violates @ref eMcem_MemMap_h_REF_1

* /

#undef EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED

/ * *

* @file eMcem_MemMap.h

* @violates @ref eMcem_MemMap_h_REF_1

* /

#undef MEMMAP_ERROR

#pragma ghs section bss=".s32_saf_bss"

#endif

According to the understanding in the manual, the.s32_saf_bss segment here should be a segment placed in RAM, but in eMcem.c, there is the following code

#define EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED

/* @violates @ref eMcem_c_REF_0410 */

/* @violates @ref eMcem_c_REF_2001 */

#include "eMcem_MemMap.h"

 

/ * *

* @brief Driver state.

* @details The eMCEM driver changes state during start-up or runtime from EMCEM_S_UINIT to EMCEM_S_INITIALIZED.

* If the configuration lock type is set to HARD_LOCK, driver locks its configuration

* and changes its state to EMCEM_S_LOCKED.

* /

eMcem_StateType eMcem_DriverState = EMCEM_S_UNINIT;

 

#define EMCEM_STOP_SEC_VAR_ZERO_INIT_UNSPECIFIED

In the code, eMcem_DriverState is explicitly assigned a value. Even though the assignment here is 0, according to the rule, it should be placed in the data section

 

I can configure the compiler to forcibly correct the segment allocation logic of variables: move the explicitly zero-initialized variables that should belong to "no content" from the.data segment (with content) to the.bSS segment (no content), making it comply with the requirement in the linker script that only "no content segments" can be placed in the RAM area, thereby resolving the conflict of mixed placement. But I don't think this is a solution to the problem from the root

 

Is there a more reasonable solution to this problem?

0 件の賞賛
返信
1 返信

270件の閲覧回数
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @Neo1096,

Can you use the linker file from this thread?

https://community.nxp.com/t5/S32K/S32K3-SPD-DMA/m-p/2139734

 

BR, Daniel

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2155674%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K3%2BRTD400%2BSPD%201.0.4%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2155674%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESPD104%20%E3%81%AE%E4%BD%BF%E7%94%A8%E6%99%82%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%8F%BE%E5%9C%A8%E3%80%81iar%20%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%209.50.2%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82S32DS%20%E3%81%8B%E3%82%89%20iar%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%82%8B%20icf%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%81%AF%E3%80%81SPD%20%E9%96%A2%E9%80%A3%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82SPD104%20%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%AE%20eMcem_MemMap%20%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%81%8C%20icf%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E4%BE%9D%E7%84%B6%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%80%E3%82%82%E9%A0%BB%E7%B9%81%E3%81%AB%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%3C%2FP%3E%3CP%3E%E3%82%A8%E3%83%A9%E3%83%BC%5BLp005%5D%3A%20%E9%85%8D%E7%BD%AE%E3%81%AB%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%82%92%E5%90%AB%E3%82%80%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C%E6%B7%B7%E5%9C%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%EF%BC%88%E4%BE%8B%EF%BC%9AeMcem.o%E3%81%AErw%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3.s32_saf_bss%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%3A%20%5BeMcem_DriverState%5D%22)%20%5BROM%20%E3%81%B8%E3%81%AE%E9%85%8D%E7%BD%AE%E3%81%AB%E9%81%A9%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%5D%20%E3%81%8A%E3%82%88%E3%81%B3%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AE%E3%81%AA%E3%81%84%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%20(%E4%BE%8B%3A%20%22zi%20section%20.bss%20in%20abs.o%20%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%3A%20%5Babs_output%5D%22)%20%5BRAM%20%E3%81%B8%E3%81%AE%E9%85%8D%E7%BD%AE%E3%81%AB%E9%81%A9%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%5D%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8B%E3%82%89%E3%80%81%E4%BE%8B%E3%81%88%E3%81%B0%E3%80%81eMcem_MemMap.h%E3%81%AB%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%23ifdef%20EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED%3C%2FP%3E%3CP%3E%2F%20*%20*%3C%2FP%3E%3CP%3E*%20%40file%20eMcem_MemMap.h%3C%2FP%3E%3CP%3E*%20%40ref%20eMcem_MemMap_h_REF_1%20%E3%81%AB%E9%81%95%E5%8F%8D%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E*%2F%3C%2FP%3E%3CP%3E%23undef%20EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED%3C%2FP%3E%3CP%3E%2F%20*%20*%3C%2FP%3E%3CP%3E*%20%40file%20eMcem_MemMap.h%3C%2FP%3E%3CP%3E*%20%40ref%20eMcem_MemMap_h_REF_1%20%E3%81%AB%E9%81%95%E5%8F%8D%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E*%2F%3C%2FP%3E%3CP%3E%23%E6%9C%AA%E5%AE%9A%E7%BE%A9%20MEMMAP_ERROR%3C%2FP%3E%3CP%3E%23pragma%20ghs%20%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%20bss%3D%22.s32_saf_bss%22%3C%2FP%3E%3CP%3E%23endif%3C%2FP%3E%3CP%3E%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%AE%E7%90%86%E8%A7%A3%E3%81%AB%E3%82%88%E3%82%8C%E3%81%B0%E3%80%81%E3%81%93%E3%81%93%E3%81%AE.s32_saf_bss%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AFRAM%E3%81%AB%E9%85%8D%E7%BD%AE%E3%81%95%E3%82%8C%E3%82%8B%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%E3%81%A7%E3%81%82%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A0%E3%81%8C%E3%80%81eMcem.c%E3%81%A7%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%23%E5%AE%9A%E7%BE%A9%20EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED%3C%2FP%3E%3CP%3E%2F*%20%40ref%20eMcem_c_REF_0410%20%E3%81%AB%E9%81%95%E5%8F%8D%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3C%2FP%3E%3CP%3E%2F*%20%40ref%20eMcem_c_REF_2001%20%E3%81%AB%E9%81%95%E5%8F%8D%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3C%2FP%3E%3CP%3E%23include%20%22eMcem_MemMap.h%22%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%2F%20*%20*%3C%2FP%3E%3CP%3E*%20%40brief%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AE%E7%8A%B6%E6%85%8B%E3%80%82%3C%2FP%3E%3CP%3E*%20%40details%20eMCEM%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AF%E3%80%81%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%BE%E3%81%9F%E3%81%AF%E5%AE%9F%E8%A1%8C%E6%99%82%E3%81%AB%E7%8A%B6%E6%85%8B%E3%82%92%20EMCEM_S_UINIT%20%E3%81%8B%E3%82%89%20EMCEM_S_INITIALIZED%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E*%20%E6%A7%8B%E6%88%90%E3%83%AD%E3%83%83%E3%82%AF%E3%82%BF%E3%82%A4%E3%83%97%E3%81%8CHARD_LOCK%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AF%E6%A7%8B%E6%88%90%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E*%20%E7%8A%B6%E6%85%8B%E3%82%92%20EMCEM_S_LOCKED%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E*%2F%3C%2FP%3E%3CP%3EeMcem_StateType%20eMcem_DriverState%20%3D%20EMCEM_S_UNINIT%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%23EMCEM_STOP_SEC_VAR_ZERO_INIT_UNSPECIFIED%20%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81eMcem_DriverState%20%E3%81%AB%E6%98%8E%E7%A4%BA%E7%9A%84%E3%81%AB%E5%80%A4%E3%81%8C%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%89%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%93%E3%81%A7%E3%81%AE%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%81%AF0%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E3%83%AB%E3%83%BC%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8C%E3%81%B0%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E5%A4%89%E6%95%B0%E3%81%AE%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%82%92%E5%BC%B7%E5%88%B6%E7%9A%84%E3%81%AB%E4%BF%AE%E6%AD%A3%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81%E3%80%8C%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AA%E3%81%97%E3%80%8D%E3%81%AB%E5%B1%9E%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E6%98%8E%E7%A4%BA%E7%9A%84%E3%81%AB%E3%82%BC%E3%83%AD%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%95%E3%82%8C%E3%81%9F%E5%A4%89%E6%95%B0%E3%82%92%E3%80%81.data%20%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20(%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%82%E3%82%8A)%20%E3%81%8B%E3%82%89%20.bSS%20%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20(%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AA%E3%81%97)%20%E3%81%AB%E7%A7%BB%E5%8B%95%E3%81%97%E3%80%81%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BC%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E8%A6%81%E4%BB%B6%20(RAM%20%E9%A0%98%E5%9F%9F%E3%81%AB%E3%81%AF%E3%80%8C%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AA%E3%81%97%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%E3%80%8D%E3%81%AE%E3%81%BF%E3%82%92%E9%85%8D%E7%BD%AE%E3%81%A7%E3%81%8D%E3%82%8B)%20%E3%81%AB%E6%BA%96%E6%8B%A0%E3%81%95%E3%81%9B%E3%81%A6%E3%80%81%E6%B7%B7%E5%90%88%E9%85%8D%E7%BD%AE%E3%81%AE%E7%AB%B6%E5%90%88%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E6%A0%B9%E6%9C%AC%E7%9A%84%E3%81%AA%E5%95%8F%E9%A1%8C%E3%81%AE%E8%A7%A3%E6%B1%BA%E7%AD%96%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%A8%E6%80%9D%E3%81%86%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E3%82%88%E3%82%8A%E5%90%88%E7%90%86%E7%9A%84%E3%81%AA%E8%A7%A3%E6%B1%BA%E7%AD%96%E3%81%AF%E3%81%82%E3%82%8B%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2155833%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K3%2BRTD400%2BSPD%201.0.4%20link%20file%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2155833%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F229677%22%20target%3D%22_blank%22%3E%40Neo1096%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%81%AEThread%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K3-SPD-DMA%2Fm-p%2F2139734%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K3-SPD-DMA%2Fmp%2F2139734%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%E3%80%81%E3%83%80%E3%83%8B%E3%82%A8%E3%83%AB%3C%2FP%3E%3C%2FLINGO-BODY%3E