I am trying to port a Lockbox application from BF547 to BF512. I faced a problem with SESR: it seems to hang within Secure Entry Mode.
After a raise 2 assembler instruction is issued, the next instruction is never executed. The same code works fine on BF547: even if autentication fails the execution continues past raise 2 instruction.
The SESR argument buffer and EVT2 vector are initialised, all interrupts are masked, memory locations seem to be correct. I tried different SESR call contexts, both in C and assembler. When called from C, a workaround for anomality 05000405 was applied - with no effect. I also tried to damage the signature to force SESR to complete with an error - also doesn't help.
For clear check, I used a VDSP++ Lockbox example for BF548. It works fine on BF547, but once ported to BF512, it hangs. However, if I remove raise 2 instruction (and SESR obviously is not called), the post-SESR portion of code is executed. I think it means that once SESR is called it never returns.
Same situation was checked on pre-production samples of BF518 version 0.1 - the result is the same.
Are there any reasons for SESR to hang? Maybe, there is some Lockbox sample code for BF51x? Are there any special issues concerning Lockbox implemetation in BF51x (exept those documented in Silicone Anomality List)?