HSE update

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
790件の閲覧回数
liyongfeng
Contributor III

Problem Description:
When updating the HSE firmware in A/B SWAP mode, the following steps were performed:

Step 1:
Current code runs in active_A.
No user code is copied to passive_B.
Only the HSE service is called: TrigUpdateHSEFW(&pHseRamAddr[0], HSE_ACCESS_MODE_ONE_PASS, hseFwLength);
Then, the HSE service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK is called to swap.

Step 2: Reset the system.

Step 3:
Now, active_B has no code and cannot run.
An ELF file is downloaded to active_B via the debugger.
The HSE version read is the latest version.
No HSE FW update is performed on passive_A.
The HSE service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK is called again to swap.
Reset the system.

Step 4:
After reset, reading the HSE version from active_A shows the latest version.
Expected behavior: Since A-side HSE FW was not updated, it should still show the old version.
Question: Why does active_A report the latest version even though it was not updated?

      •  

       

0 件の賞賛
返信
1 解決策
762件の閲覧回数
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @liyongfeng 

There's nothing wrong, this is correct and expected behavior. You are not supposed to run the update service 2x for both partition separately. You are supposed to run the service only 1x and then call  HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK and reset the device. The HSE will automatically write the new firmware to both partitions. 

Please read "11.3 HSE Firmware update (AB_SWAP)" in HSE Firmware Reference Manual v2.5 for more details. 

The key point:

"The HSE takes the backup of itself in the new passive partition after reset post every swap service, whether FW is updated or not. So, for these sequences, the boot time will be more by approximately 1 second as HSE FW takes backup."

Regards,

Lukas

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
763件の閲覧回数
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @liyongfeng 

There's nothing wrong, this is correct and expected behavior. You are not supposed to run the update service 2x for both partition separately. You are supposed to run the service only 1x and then call  HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK and reset the device. The HSE will automatically write the new firmware to both partitions. 

Please read "11.3 HSE Firmware update (AB_SWAP)" in HSE Firmware Reference Manual v2.5 for more details. 

The key point:

"The HSE takes the backup of itself in the new passive partition after reset post every swap service, whether FW is updated or not. So, for these sequences, the boot time will be more by approximately 1 second as HSE FW takes backup."

Regards,

Lukas

0 件の賞賛
返信