SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
In addition to LINK, STACK and ZONE IDs, the SSU includes a Flash semaphore (FLSEM) to grant exclusive access to the Flash controller for programming, program verify, erase, and erase verify operations by a given initiator at any point in time. The Flash semaphore locks all data accesses to the Flash controller registers to a specific CPU and LINK. Upon receiving a command, the Flash Controller sends a permission request out through the Flash Crossbar port (FXB) to the SSU. The SSU then determines, based on the current security context and the FLSEM owner, whether to grant permission to execute the Flash command. Flash Controller operations are not permitted when the FLSEM has no owner.
The LINK, ZONE and CPU fields in the FLSEMSTAT register specify the current owner of the Flash semaphore. In addition, code running from any LINK can confirm ownership of the semaphore by reading the FLSEMSTAT.MATCH bit. This bit returns 1 only if the LINKID and CPUID of the code performing the read match the current owner of the Flash semaphore. The FLSEMSTAT.ASSIGNED bit indicates whether the Flash semaphore is currently owned.
To grab the Flash semaphore:
To release the Flash semaphore: