How to set Core1 reset vector in Mcu module?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to set Core1 reset vector in Mcu module?

1,241 次查看
Lambert_Yang
NXP Employee
NXP Employee

Hi.

I have been using MCAL4.3 HF7 on MPC5777C and tried to start core1 by configuring Mcu module.

In Mcu module, the Core1 reset vector value can only be set as a fixed value(default 0xFFFFFFFC, off course it's not correct for core1), however the reset vector changes every time we compile a changed project. And then we need to configure this field again. 

The Core0 reset vector is set as a default value too(0xFFFFFFFC) where it will find RCW and core0 reset vector. So it's ok when core0 reset vector changes.

How about Core1 reset vector? What is the right way to configure it? 

p.s. Maybe my dual-core linker and startup files are not complete which made this issue. So I post my project for your information. Thanks!

pastedImage_1.png

标签 (1)
标记 (2)
0 项奖励
回复
3 回复数

1,125 次查看
hungnguyenphi
NXP Employee
NXP Employee

Hi Lambert Yang,

With your project we should set the Core1 reset vector to 0x00800020(flash_memory in linker file). Because I see that the startup code for your Core1(_start1) place in .text of flash_memory in your linker file.

Best regards,

Hung.

0 项奖励
回复

1,125 次查看
Lambert_Yang
NXP Employee
NXP Employee

Sorry Hung, it didn't work.

In this case, the right value is 0x00801930 which you can find in PlatformIntegration.map. However, this value changes each time we compile a modified project. 

pastedImage_1.png

So I doubt _start1 was not placed in .text of flash_memory successfully. What is the right way to fix the address of _start1? 

0 项奖励
回复

1,125 次查看
hungnguyenphi
NXP Employee
NXP Employee

Hi, from my point of view we can create a new section(eg: text1) in linker file and then put the function StartupCode_core1 in this section with :

#pragma ghs section text=".text1"

void StartupCode_core1(void)

{

...

}

#pragma ghs section

then we will have the fix address of _start1.

0 项奖励
回复