How to resolve the conflict between MCAL xxx_MemMap.h and the third-party MemMap.h?

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

How to resolve the conflict between MCAL xxx_MemMap.h and the third-party MemMap.h?

2,682 次查看
ou_gangxun
Contributor II

When I used S32K1xx_MCAL_421_RTM104 to integrate with the third-party BSW source code, I found that the interrupt function declaration of the third-party OS and MCAL conflicted.

This is the MCAL source code:

1.png

 

And this is the third-party OS's declaration of the interrupt function:

2.png

I checked the source code of the two and found that the configuration of new ppredefined symbol for each interrupt function in the Adc_Adc12bsarv2_Irq.c file is the smallest way to change the code content.

Like this:

3.png

Is this okay?
Or is there any other way?

 

0 项奖励
回复
4 回复数

2,642 次查看
namnguyenviet
NXP Employee
NXP Employee

Hello @ou_gangxun ,

I would suggest to ask Vector how and why the Memmap files are generated like that. Normally, Vector has implemented the memory mapping generation after the MCAL package is released, i.e. they based on the naming on MCAL file to implement their integrator package. Unfortunately, we don't have Vector integrator package to double check, in my opinion probably their was something wrong in OS configuration.

Regards,

Nam

0 项奖励
回复

2,669 次查看
namnguyenviet
NXP Employee
NXP Employee

Hello @ou_gangxun ,

We don't recommend you to modify the MCAL code like that. The integrator should take the responsibilities to generate the Memmap file and put the code into correct memory mapping, as MCAL code has indicated. 

We have rarely see the issue with Memmap file reported by integrator. Could you show me which 3rd integrator are you using for Memmap file generating? I see an probably issue, as in the 3rd party code, the Memmap file header should be "Adc_Memmap.h" instead of "Memmap.h". If  possible, can you send us the whole generation file and Memmap file from 3rd integrator?

Best Regards,

Nam

0 项奖励
回复

2,653 次查看
ou_gangxun
Contributor II

Due to our company's policy, the source code cannot be shared.
The BSW software supplier is Vector.

MemMap.h is a file defined by Vector, which contains header files such as Rte_MemMap.h, Os_MemMap.h, etc.

Since the BSW we bought has memory protection, I think the OS module will allocate a special location for its interrupt function (please refer to Annex 1).

However, MCAL puts the interrupt function and the main program function in the same memory segment mcal_text.

That's why I want to modify *_Irq.c

0 项奖励
回复

2,656 次查看
ou_gangxun
Contributor II

This reply is discarded。

0 项奖励
回复