MCAL Data Mapping fails

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

MCAL Data Mapping fails

ソリューションへジャンプ
2,154件の閲覧回数
liyongfeng
Contributor III

#define MCU_START_SEC_VAR_INIT_UNSPECIFIED

#include "Mcu_MemMap.h"

Mcu_StatusType Mcu_eStatus = MCU_UNINIT;

#define MCU_STOP_SEC_VAR_INIT_UNSPECIFIED

#include "Mcu_MemMap.h"

After bulid, the data fails to map to the .macl_data section:

.mcal_data.Mcu_eStatus
0x204201dd 0x1 load address 0x0040eb0d

Mapping to the .macl_data section is only achievable when __attribute__((section(".mcal_data"))) is used.

The content of the ld file is as follows:

.sram_data : AT(__sram_data_rom)

{

. = ALIGN(4);

__sram_data_begin__ = .;

. = ALIGN(4);

*(.ramcode)

. = ALIGN(4);

*(.data)

*(.data*)

. = ALIGN(4);

*(.mcal_data)

. = ALIGN(4);

__sram_data_end__ = .;

} > int_sram_c0

I can map correctly using *(.mcal_data*); is this method suitable?

 

0 件の賞賛
返信
1 解決策
1,824件の閲覧回数
liyongfeng
Contributor III

Understood. The (-fdata-sections) option is enabled by default when a new project is created in D32DS. Alternatively, this may be attributed to my lack of knowledge regarding compiler commands.

元の投稿で解決策を見る

0 件の賞賛
返信
5 返答(返信)
1,825件の閲覧回数
liyongfeng
Contributor III

Understood. The (-fdata-sections) option is enabled by default when a new project is created in D32DS. Alternatively, this may be attributed to my lack of knowledge regarding compiler commands.

0 件の賞賛
返信
1,878件の閲覧回数
liyongfeng
Contributor III

liyongfeng_0-1767580146080.pngCould you help me figure out where the problem is?

RTD : SW32K3_S32M27x_RTD_R21-11_6.0.0_QLP04

0 件の賞賛
返信
1,855件の閲覧回数
lukaszadrapa
NXP TechSupport
NXP TechSupport

Could you try following?

Add this to main.c or any other c file:

 

#define MCU_START_SEC_VAR_INIT_UNSPECIFIED

 

#include "Mcu_MemMap.h"

 

Mcu_StatusType Mcu_eStatus = MCU_UNINIT;

 

#define MCU_STOP_SEC_VAR_INIT_UNSPECIFIED

 

#include "Mcu_MemMap.h"

 

Then do a right click in this *.c file and select "Preprocess Selected File(s)".

 

You should get something like this for the definition above:

 

 

#define MCU_START_SEC_VAR_INIT_UNSPECIFIED

 

# 1 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h" 1

# 57 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#define MCU_MEMMAP_VENDOR_ID 43

#define MCU_MEMMAP_AR_RELEASE_MAJOR_VERSION 4

#define MCU_MEMMAP_AR_RELEASE_MINOR_VERSION 7

#define MCU_MEMMAP_AR_RELEASE_REVISION_VERSION 0

#define MCU_MEMMAP_SW_MAJOR_VERSION 6

#define MCU_MEMMAP_SW_MINOR_VERSION 0

#define MCU_MEMMAP_SW_PATCH_VERSION 0

# 81 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#define MEMMAP_ERROR

# 7329 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#undef MCU_START_SEC_VAR_INIT_UNSPECIFIED

#define ENTERED_MCU_START_SEC_VAR_INIT_UNSPECIFIED

 

#define MEMMAP_MATCH_ERROR

# 7341 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#undef MEMMAP_ERROR

#pragma GCC section data ".mcal_data"

#pragma GCC section bss ".mcal_bss"

# 42 "..\\src\\main.c" 2

 

Mcu_StatusType Mcu_eStatus = MCU_UNINIT;

 

#define MCU_STOP_SEC_VAR_INIT_UNSPECIFIED

 

# 1 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h" 1

# 57 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#define MCU_MEMMAP_VENDOR_ID 43

#define MCU_MEMMAP_AR_RELEASE_MAJOR_VERSION 4

#define MCU_MEMMAP_AR_RELEASE_MINOR_VERSION 7

#define MCU_MEMMAP_AR_RELEASE_REVISION_VERSION 0

#define MCU_MEMMAP_SW_MAJOR_VERSION 6

#define MCU_MEMMAP_SW_MINOR_VERSION 0

#define MCU_MEMMAP_SW_PATCH_VERSION 0

# 81 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#define MEMMAP_ERROR

# 7351 "c:\\nxp\\s32ds.3.6.2\\s32ds\\software\\platformsdk_s32k3\\rtd\\basenxp_ts_t40d34m60i0r0\\include\\mcu_memmap.h"

#undef ENTERED_MCU_START_SEC_VAR_INIT_UNSPECIFIED

 

 

 

 

#undef MEMMAP_MATCH_ERROR

 

#undef MCU_STOP_SEC_VAR_INIT_UNSPECIFIED

 

 

Please send me this output.

 

 

0 件の賞賛
返信
1,827件の閲覧回数
liyongfeng
Contributor III

Hi @lukaszadrapa ,

This is the information generated by using the variable Test_Mcu_eStatus in my main.c file.

0 件の賞賛
返信
2,012件の閲覧回数
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @liyongfeng 

Which RTD is used? I can't see such issue on my side, MCU_START_SEC_VAR_INIT_UNSPECIFIED is working for me. Did you get any warnings when building the project?

Regards,

Lukas

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2267626%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMCAL%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2267626%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%23MCU_START_SEC_VAR_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%23include%20%22Mcu_MemMap.h%22%3C%2FP%3E%3CP%3EMcu_StatusType%20Mcu_eStatus%20%3D%20MCU_UNINIT%3B%3C%2FP%3E%3CP%3E%23MCU_STOP_SEC_VAR_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%23include%20%22Mcu_MemMap.h%22%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%83%93%E3%83%AB%E3%83%89%E5%BE%8C%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%3C%2FSPAN%3E.macl_data%3CSPAN%3E%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E3%83%9E%E3%83%83%E3%83%97%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E.mcal_data.Mcu_e%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%3CBR%20%2F%3E0x204201dd%200x1%20%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%200x0040eb0d%3C%2FP%3E%3CP%3E.macl_data%20%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%3CSPAN%3E%E3%81%B8%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%81%AF%3C%2FSPAN%3E%E3%80%81%20__attribute__%20((section(%22.mcal_data%22)))%20%E3%81%8C%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%82%8B%3CSPAN%3E%E5%A0%B4%E5%90%88%E3%81%AB%E3%81%AE%E3%81%BF%E5%AE%9F%E7%8F%BE%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%3C%2FSPAN%3E%3CSPAN%3E%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Eld%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FSTRONG%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E.sram_data%20%3A%20%3CSPAN%3EAT%3C%2FSPAN%3E%20(__sram_data_rom)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E.%20%3D%3CSPAN%3E%E6%95%B4%E5%88%97%3C%2FSPAN%3E(4)%3B%3C%2FP%3E%3CP%3E__sram_data_begin__%20%3D%20.%3B%3C%2FP%3E%3CP%3E.%20%3D%3CSPAN%3E%E6%95%B4%E5%88%97%3C%2FSPAN%3E(4)%3B%3C%2FP%3E%3CP%3E*(.ram%E3%82%B3%E3%83%BC%E3%83%89)%3C%2FP%3E%3CP%3E.%20%3D%3CSPAN%3E%E6%95%B4%E5%88%97%3C%2FSPAN%3E(4)%3B%3C%2FP%3E%3CP%3E*%EF%BC%88%E3%80%82%E3%83%87%E3%83%BC%E3%82%BF%EF%BC%89%3C%2FP%3E%3CP%3E*%EF%BC%88%E3%80%82%E3%83%87%E3%83%BC%E3%82%BF*%EF%BC%89%3C%2FP%3E%3CP%3E.%20%3D%3CSPAN%3E%E6%95%B4%E5%88%97%3C%2FSPAN%3E(4)%3B%3C%2FP%3E%3CP%3E*(.mcal_data)%3C%2FP%3E%3CP%3E.%20%3D%3CSPAN%3E%E6%95%B4%E5%88%97%3C%2FSPAN%3E(4)%3B%3C%2FP%3E%3CP%3E__sram_data_end__%20%3D%20.%3B%3C%2FP%3E%3CP%3E%7D%20%26gt%3B%20int_sram_c0%3C%2FP%3E%3CP%3E*(.mcal_data*)%3CSPAN%3E%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%AD%A3%E3%81%97%E3%81%8F%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0CAN%3C%2FSPAN%3E%3CSPAN%3E%E3%80%82%E3%81%93%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AF%E9%81%A9%E5%88%87%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2270547%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MCAL%20Data%20Mapping%20fails%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2270547%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%2F184101%22%20target%3D%22_blank%22%3E%40liyongfeng%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%A9%E3%81%AE%20RTD%20%E3%81%8C%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%81%8B%3F%E7%A7%81%E3%81%AE%E5%81%B4%E3%81%A7%E3%81%AF%E3%81%9D%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%95%8F%E9%A1%8C%E3%81%AF%E8%A6%8B%E5%BD%93%E3%81%9F%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82MCU_START_SEC_VAR_INIT_UNSPECIFIED%20%E3%81%AF%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E3%83%93%E3%83%AB%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E4%BD%95%E3%81%8B%E8%AD%A6%E5%91%8A%E3%81%AF%E5%87%BA%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%3F%3C%2FP%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%83%AB%E3%83%BC%E3%82%AB%E3%82%B9%3C%2FP%3E%3C%2FLINGO-BODY%3E