What is the difference between the SMPU and MPU in MPC5744P

cancel
Showing results for 
Search instead for 
Did you mean: 

What is the difference between the SMPU and MPU in MPC5744P

140 Views
Contributor III

hello, NXP:

I am confused about the SMPU and MPU in MPC5744P.

In the Application Note: AN4939- MPC5744P Software Start Up and Optimization , the MPU is intialized by asm.

TIM图片20200605184121.png

I have check the MPC5744P SMPU Intialization, the demo code is like MPC5748G. 

TIM图片20200605184348.png

What is the differences? 

Regards,

meng

Tags (3)
0 Kudos
3 Replies

28 Views
NXP TechSupport
NXP TechSupport

Hi,

 

the main difference between SMPU and CMPU is that SMPU is implemented on crossbar, so we can configure access right for all masters. CMPU is implemented on core. The key point is that CMPU is used to check only core accesses. It does not affect other masters. For example, let’s say you configure certain RAM area as read-only (this will be configured on CMPU on core 0, for example). Then core 0 can’t write this area – exception would be triggered. However, this restriction is not visible for other masters like DMA because it is core feature, not system feature. That means other master can write this area despite of CMPU. This is the reason why also SMPU is implemented.

 

I shared sample code for CMPU initialization for MPC5744P here on the community:

https://community.nxp.com/docs/DOC-335468

 

There’s also link to excel configurator (https://community.nxp.com/docs/DOC-335468) which can help you to easily generate initialization code as required.

 

And here are sample codes for SMPU written for MPC5748G microcontroller. But the principle is still the same:

https://community.nxp.com/docs/DOC-328346

https://community.nxp.com/docs/DOC-332545

 

Regards,

Lukas

0 Kudos

28 Views
Contributor III

hello, Lukas:

Thank you very much !

I am transplant Micrium uCOSIII Operating system to MPC5744P, which is using in the MPC5748G, in the Micrium website.

But there are a lot of problems, Is that a big difference between the MPC5748G  and MPC5744P ?

I have know that the core of MPC5748G is e200z42004n3 , and the core of MPC5744P is e200z4251n3 from the AN4802 document.( Qorivva MPC57xx e200zx Core Differences ).
Is the instructions difference between the two cores? Is there anything in particular I should pay attention to ?

regards,

meng

0 Kudos

28 Views
NXP TechSupport
NXP TechSupport

Hi Meng,

asm code written for MPC5748G should work also for MPC5744P. There's no difference in the instruction set. The troubles can be caused rather by differences in memory map or in different feature set.

Regards,

Lukas

0 Kudos