s32k3 flash swap requirements?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

s32k3 flash swap requirements?

Jump to solution
412 Views
victory
Contributor III

Hi Nxp,

    for S32K3 flash swap function, i don't know is there any limitation for it,

1.  is it MUST need hse fw? if not ,is there any simple code example available?

2. if hse fw is MUST, is ab-swap fw needed, or full-mem also works?

thanks.

0 Kudos
Reply
1 Solution
388 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @victory 

to be able to perform AB swap, it is necessary to install HSE AB Swap firmware and then call HSE service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK.

It won't work with Full Mem version of the firmware and it won't work without the firmware.

You can take a look at HSE examples here:

https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples

Search for function HSE_ActivatePassiveBlock.

Or absolute minimalist code without any drivers is to:

Write value 0x00000051 (that the ID of HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK service) somewhere to non-cacheable (this is important because Messaging Unit does not see cached data) SRAM memory (not DTCM). And then write address of this value to Messaging Unit MU0, TR1 register. That's all. If you receive response 0x55A5AA33 (that's HSE_SRV_RSP_OK) in RR1 register, the operation was successful.

Regards,

Lukas

View solution in original post

0 Kudos
Reply
2 Replies
389 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @victory 

to be able to perform AB swap, it is necessary to install HSE AB Swap firmware and then call HSE service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK.

It won't work with Full Mem version of the firmware and it won't work without the firmware.

You can take a look at HSE examples here:

https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples

Search for function HSE_ActivatePassiveBlock.

Or absolute minimalist code without any drivers is to:

Write value 0x00000051 (that the ID of HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK service) somewhere to non-cacheable (this is important because Messaging Unit does not see cached data) SRAM memory (not DTCM). And then write address of this value to Messaging Unit MU0, TR1 register. That's all. If you receive response 0x55A5AA33 (that's HSE_SRV_RSP_OK) in RR1 register, the operation was successful.

Regards,

Lukas

0 Kudos
Reply
377 Views
victory
Contributor III
thanks your explanation.
0 Kudos
Reply