This message will disappear after all relevant tasks have been resolved.
Semantic MediaWiki
There are 1 incomplete or pending task to finish installation of Semantic MediaWiki. An administrator or user with sufficient rights can complete it. This should be done before adding new data to avoid inconsistencies.![]() |
Coming soon |
1. Introduction
Flash management proposes a simple interface to the upper layers to execute operations in FLASH. It manages synchronization between flash operations and the RF activity. Thus, users do not have to bother with RF timing and flash operations.
2. Features
2.1. Concepts
The flash management is a multi-layer organization and rely on different concepts. Among these concepts, here are the most important ones:
- Organization:
- Flash management is based upon a 5 layers distribution composed by:
- Simple NVM Arbiter
- Specific flash interface that emulates the behavior of multiple NVMs.
- Flash manager
- Main user interface for flash operation (Flash write, flash erase, etc.).
- RF Timing synchro
- Module that realizes synchronization between BLE LL and Flash operations by activating or deactivating the dedicated flash control status.
- Flash Driver
- Low level driver abstraction layer. Controlled by the flash control statuses.
- HAL Flash
- Low level driver that interacts directly with the Flash HW.
- Flash management is based upon a 5 layers distribution composed by:
- Asynchronous Operations:
- The whole flash operations are either executed via the Flash Manager interface or via the Simple NVM Arbiter interface. Both work on an asynchronous behavior, which means that the user is requesting operations to be performed and is notified later on, once the operation is over.
- However, since the operation is asynchronous, during write operation, the user shall hold his buffer allocation as long as the write operation is not done. In case of a content change in this buffer, the user shall restart a brand-new flash operation.
- Synchronous flash access with RF:
- Flash operations achieved with Flash manager or Simple NVM Arbiter are synchronized with RF activity. Meaning that flash operations are achieved only during free RF activity time slot.
- This feature is transparent to the user and is fully handled by the Flash manager or the Simple NVM Arbiter. Therefore, the user does not have to bother with RF and Flash synchro. This is all, already, managed.
- Flash Access:
- In this Flash management implementation, the Flash access is protected at two distinct levels:
- Flash semaphore
- A semaphore is required to share the flash interface between several SW modules. The owner of the semaphore is the only one that can request flash operations. The semaphore is attributed to the first requester and released once its operation is over.
- Flash control statuses
- Independently from the flash semaphore, the flash driver provides flags – Flash Control Status – to prevent flash operation depending on the system activity. These flags/statuses are checked before any flash operation by the flash driver.
- In this Flash management implementation, the Flash access is protected at two distinct levels:
2.2. Flash Driver
2.3. RF Timing Synchro
2.4. Flash Manager
2.5. Simple NVM Arbiter
3. Interface
Here comes a list of the available functions for the different Flash management modules:
3.1. Flash Driver
3.1.1. Flash driver error codes
Error code | Description |
---|---|
FD_FLASHOP_SUCCESS | Flash operation success |
FD_FLASHOP_FAILURE | Flash operation failure |
3.1.2. Flash driver functions
FD_SetStatus |
---|
Description
|
FD_WriteData |
---|
Description
|
FD_EraseSectors |
---|
Description
|
3.2. RF Timing Synchro
AMM_Init |
---|
Description
|
3.3. Flash Manager
AMM_Init |
---|
Description
|
3.4. Simple NVM Arbiter
AMM_Init |
---|
Description
|
4. How to
TBD.
5. Revisions