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.
Solved! Go to Solution.
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
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