Unable to write ZMK (ZMK_WSL=1)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Unable to write ZMK (ZMK_WSL=1)

ソリューションへジャンプ
1,711件の閲覧回数
ryanm_
Contributor II

I've been able to successfully setup HAB on our board with a V1.1 Vybrid processor.  I'm able to boot a application that has been signed with the CST.  However after booting my signed application I'm  unable to set the SNVS ZMK.  The problem is that SNVS_HPLR - ZMK-WSL = 1.

When I read the text for that for that field it says the following:

pastedImage_0.png

How do I clear the Write Soft Lock with a "system reset"?    I've tried issuing a SW Reset from the SRC without any luck.

Below is a dump of SNVS registers immediately after boot.

Secure boot enabled

HAB Configuration: 0xcc HAB State: 0x99

No HAB Failure Events Found!

0x400a7000 = 0x00000001

0x400a7004 = 0x00002020

0x400a7008 = 0x00000000

0x400a700c = 0x00000000

0x400a7010 = 0x00000000

0x400a7014 = 0x80000d00

0x400a7018 = 0x00000000

0x400a701c = 0x00000000

0x400a7020 = 0x00000000

0x400a7024 = 0x00000000

0x400a7028 = 0x00000000

0x400a702c = 0x00000000

0x400a7030 = 0x00000000

0x400a7034 = 0x00000000

0x400a7038 = 0x00000000

0x400a703c = 0x00000000

0x400a7040 = 0x00000000

0x400a7044 = 0x00000000

0x400a7048 = 0x00000000

0x400a704c = 0x00000008

0x400a7050 = 0x00000000

0x400a7054 = 0x00000000

0x400a7058 = 0x00000000

0x400a705c = 0x00000000

0x400a7060 = 0x00000000

0x400a7064 = 0x00000000

0x400a7068 = 0x00000000

0x400a706c = 0x00000000

0x400a7070 = 0x00000000

0x400a7074 = 0x00000000

0x400a7078 = 0x00000000

0x400a707c = 0x00000000

0x400a7080 = 0x00000000

0x400a7084 = 0x00000000

0x400a7088 = 0x00000000

0x400a708c = 0x00000000

Thanks,

Ryan

ラベル(1)
0 件の賞賛
1 解決策
1,224件の閲覧回数
ryanm_
Contributor II

Naoum,

The problem with the ZMK_WSL = 1 being set when leaving the bootrom was because the Code Signing Tool (cst) file needed to have Unlock commands added (HABCST_UG.pdf - Section 5.2.17).

By adding unlock commands for SNVS I was able to set the ZMK.

Thanks,

Ryan

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
1,224件の閲覧回数
naoumgitnik
Senior Contributor V

Dear Ryan,

To expedite the support process, may you, please, be more specific regarding "burning the fuse to go from "Open" to "Closed"”, e.g. refer to the specific place in our documentation? - IMO, at the first glance, it is directly related to it.

Sincerely, Naoum Gitnik.

0 件の賞賛
1,224件の閲覧回数
ryanm_
Contributor II

Naoum,

By "Open" to "Closed" I'm referring to changing the Security Configuration (Section 5.3 of the Vybrid Security Reference Manual).  The specific fuse that was blown is "SEC_CONFIG" discussed in section 8.5.14.

We also tried to assert reset via RESET_B but that didn't seem to help clearing the ZML_WSL bit.

Note:  Section 13.5 - SNVS reset and system power up -- has a table that indicates all SNVS_HP and SNVS_LP registers and flopgs are reset with HP Hard (ipg_hard_async_reset_b)

-Ryan

0 件の賞賛
1,225件の閲覧回数
ryanm_
Contributor II

Naoum,

The problem with the ZMK_WSL = 1 being set when leaving the bootrom was because the Code Signing Tool (cst) file needed to have Unlock commands added (HABCST_UG.pdf - Section 5.2.17).

By adding unlock commands for SNVS I was able to set the ZMK.

Thanks,

Ryan

0 件の賞賛
1,224件の閲覧回数
ryanm_
Contributor II

I forgot to mention that that prior to burning the fuse to go from "Open" to "Closed" I was able to set the SNVS ZMK in the "Non-Secure" state.

0 件の賞賛
1,224件の閲覧回数
timesyssupport
Senior Contributor II

This is outside the scope of our standard support for the Linux/MQX environment with Vybrid. Does the Vybrid Design team have any comments on this?

Thanks,

Timesys Support

0 件の賞賛