|
Nexus Embedded Platform 1.0.0
Statically assembled reusable embedded mechanisms
|
Full physical Flash geometry and explicit bounded regions. More...
#include "nexus/core/time.h"Go to the source code of this file.
Data Structures | |
| struct | nx_flash_sector_t |
| Erase sector geometry, with offset relative to full physical Flash. More... | |
| struct | nx_flash_geometry_t |
| Read-only physical geometry; platform reserves no product storage. More... | |
| struct | nx_flash_region_t |
| Explicit consumer-selected bounds; no implicit product partition. More... | |
| struct | nx_flash_ops_t |
| Shared read-only methods using one provider state. More... | |
| struct | nx_flash_port |
| Immutable interface pointing to caller-owned state. More... | |
Typedefs | |
| typedef struct nx_flash_port | nx_flash_port_t |
Functions | |
| const nx_flash_geometry_t * | nx_flash_port_geometry (const nx_flash_port_t *port) |
| Query exact physical Flash geometry without side effects. | |
| nx_result_t | nx_flash_port_read (const nx_flash_port_t *port, uint32_t offset, void *data, size_t length) |
| Read bounded physical Flash without retaining destination. | |
| nx_result_t | nx_flash_port_program (const nx_flash_port_t *port, uint32_t offset, const void *data, size_t length, nx_time_us_t deadline) |
| Program aligned physical Flash and settle all hardware pulses. | |
| nx_result_t | nx_flash_port_erase (const nx_flash_port_t *port, uint32_t offset, size_t length, nx_time_us_t deadline) |
| Erase a whole physical sector range with pulse settlement. | |
| nx_result_t | nx_flash_region_validate (const nx_flash_region_t *region) |
| Validate region bounds against physical geometry. | |
| nx_result_t | nx_flash_region_read (const nx_flash_region_t *region, uint32_t offset, void *data, size_t length) |
| Read within an explicit physical region. | |
| nx_result_t | nx_flash_region_program (const nx_flash_region_t *region, uint32_t offset, const void *data, size_t length, nx_time_us_t deadline) |
| Program within an explicitly writable physical region. | |
| nx_result_t | nx_flash_region_erase (const nx_flash_region_t *region, uint32_t offset, size_t length, nx_time_us_t deadline) |
| Erase whole physical sectors within a writable region. | |
Full physical Flash geometry and explicit bounded regions.
Definition in file flash.h.
| typedef struct nx_flash_port nx_flash_port_t |
| nx_result_t nx_flash_port_erase | ( | const nx_flash_port_t * | port, |
| uint32_t | offset, | ||
| size_t | length, | ||
| nx_time_us_t | deadline ) |
Erase a whole physical sector range with pulse settlement.
| [in,out] | port | Single execution owner. |
| [in] | offset | Exact sector-start physical offset. |
| [in] | length | Positive sum of whole sectors. |
| [in] | deadline | Absolute deadline checked between erase pulses. |
| const nx_flash_geometry_t * nx_flash_port_geometry | ( | const nx_flash_port_t * | port | ) |
Query exact physical Flash geometry without side effects.
| [in] | port | Selected exact-density physical Flash provider. |
| nx_result_t nx_flash_port_program | ( | const nx_flash_port_t * | port, |
| uint32_t | offset, | ||
| const void * | data, | ||
| size_t | length, | ||
| nx_time_us_t | deadline ) |
Program aligned physical Flash and settle all hardware pulses.
| [in,out] | port | Single execution owner with valid voltage/clock policy. |
| [in] | offset | Program-unit aligned physical offset. |
| [in] | data | Aligned-length input retained only until return. |
| [in] | length | Positive program-unit multiple. |
| [in] | deadline | Absolute deadline checked between hardware pulses. |
| nx_result_t nx_flash_port_read | ( | const nx_flash_port_t * | port, |
| uint32_t | offset, | ||
| void * | data, | ||
| size_t | length ) |
Read bounded physical Flash without retaining destination.
| [in] | port | Fixed provider; no concurrent erase/program. |
| [in] | offset | Physical relative offset. |
| [out] | data | Destination not retained beyond return. |
| [in] | length | Byte count; zero permitted with NULL data. |
| nx_result_t nx_flash_region_erase | ( | const nx_flash_region_t * | region, |
| uint32_t | offset, | ||
| size_t | length, | ||
| nx_time_us_t | deadline ) |
Erase whole physical sectors within a writable region.
| [in] | region | Explicit valid writable region. |
| [in] | offset | Region-relative sector boundary. |
| [in] | length | Sum of whole sector lengths. |
| [in] | deadline | Absolute pulse deadline. |
| nx_result_t nx_flash_region_program | ( | const nx_flash_region_t * | region, |
| uint32_t | offset, | ||
| const void * | data, | ||
| size_t | length, | ||
| nx_time_us_t | deadline ) |
Program within an explicitly writable physical region.
| [in] | region | Valid writable region. |
| [in] | offset | Region-relative aligned offset. |
| [in] | data | Input buffer; borrowed until return only. |
| [in] | length | Aligned positive length. |
| [in] | deadline | Absolute pulse deadline. |
| nx_result_t nx_flash_region_read | ( | const nx_flash_region_t * | region, |
| uint32_t | offset, | ||
| void * | data, | ||
| size_t | length ) |
Read within an explicit physical region.
| [in] | region | Valid region. |
| [in] | offset | Region-relative byte offset. |
| [out] | data | Destination buffer. |
| [in] | length | Byte count. |
| nx_result_t nx_flash_region_validate | ( | const nx_flash_region_t * | region | ) |
Validate region bounds against physical geometry.
| [in] | region | Explicit caller-owned region description. |