54 #define NV_COMMON_MAGIC 0x442A6B6E 56 #define NV_COMMON_MAGIC_OFFSET 0 57 #define NV_COMMON_MAGIC_SIZE 1 58 #define NV_COMMON_SECTION_LENGTH_OFFSET (NV_COMMON_MAGIC_OFFSET + NV_COMMON_MAGIC_SIZE * sizeof(uint32_t)) 59 #define NV_COMMON_SECTION_LENGTH_SIZE 1 60 #define NV_COMMON_FIRST_FIELD_OFFSET (NV_COMMON_SECTION_LENGTH_OFFSET + NV_COMMON_SECTION_LENGTH_SIZE * sizeof(uint32_t)) 63 #define NV_COMMON_PICOWAN_DEVICE_ADDRESS_OFFSET NV_COMMON_FIRST_FIELD_OFFSET 64 #define NV_COMMON_PICOWAN_DEVICE_ADDRESS_SIZE 1 65 #define NV_COMMON_PICOWAN_NETWORK_SESSION_KEY_OFFSET (NV_COMMON_PICOWAN_DEVICE_ADDRESS_OFFSET + NV_COMMON_PICOWAN_DEVICE_ADDRESS_SIZE * sizeof(uint32_t)) 66 #define NV_COMMON_PICOWAN_NETWORK_SESSION_KEY_SIZE 4 67 #define NV_COMMON_PICOWAN_APPLICATION_SESSION_KEY_OFFSET (NV_COMMON_PICOWAN_NETWORK_SESSION_KEY_OFFSET + NV_COMMON_PICOWAN_NETWORK_SESSION_KEY_SIZE * sizeof(uint32_t)) 68 #define NV_COMMON_PICOWAN_APPLICATION_SESSION_KEY_SIZE 4 69 #define NV_COMMON_DEVICE_EUI_OFFSET (NV_COMMON_PICOWAN_APPLICATION_SESSION_KEY_OFFSET + NV_COMMON_PICOWAN_APPLICATION_SESSION_KEY_SIZE * sizeof(uint32_t)) 70 #define NV_COMMON_DEVICE_EUI_SIZE 2 71 #define NV_COMMON_APPLICATION_EUI_OFFSET (NV_COMMON_DEVICE_EUI_OFFSET + NV_COMMON_DEVICE_EUI_SIZE * sizeof(uint32_t)) 72 #define NV_COMMON_APPLICATION_EUI_SIZE 2 73 #define NV_COMMON_APPLICATION_KEY_OFFSET (NV_COMMON_APPLICATION_EUI_OFFSET + NV_COMMON_APPLICATION_EUI_SIZE * sizeof(uint32_t)) 74 #define NV_COMMON_APPLICATION_KEY_SIZE 4 75 #define NV_COMMON_LORA_DEVICE_ADDRESS_OFFSET (NV_COMMON_APPLICATION_KEY_OFFSET + NV_COMMON_APPLICATION_KEY_SIZE * sizeof(uint32_t)) 76 #define NV_COMMON_LORA_DEVICE_ADDRESS_SIZE 1 77 #define NV_COMMON_LORA_NETWORK_SESSION_KEY_OFFSET (NV_COMMON_LORA_DEVICE_ADDRESS_OFFSET + NV_COMMON_LORA_DEVICE_ADDRESS_SIZE * sizeof(uint32_t)) 78 #define NV_COMMON_LORA_NETWORK_SESSION_KEY_SIZE 4 79 #define NV_COMMON_LORA_APPLICATION_SESSION_KEY_OFFSET (NV_COMMON_LORA_NETWORK_SESSION_KEY_OFFSET + NV_COMMON_LORA_NETWORK_SESSION_KEY_SIZE * sizeof(uint32_t)) 80 #define NV_COMMON_LORA_APPLICATION_SESSION_KEY_SIZE 4 81 #define NV_COMMON_LORA_UPLINK_COUNTER_OFFSET (NV_COMMON_LORA_APPLICATION_SESSION_KEY_OFFSET + NV_COMMON_LORA_APPLICATION_SESSION_KEY_SIZE * sizeof(uint32_t)) 82 #define NV_COMMON_LORA_UPLINK_COUNTER_SIZE 1 83 #define NV_COMMON_LORA_DOWNLINK_COUNTER_OFFSET (NV_COMMON_LORA_UPLINK_COUNTER_OFFSET + NV_COMMON_LORA_UPLINK_COUNTER_SIZE * sizeof(uint32_t)) 84 #define NV_COMMON_LORA_DOWNLINK_COUNTER_SIZE 1 87 #define NV_COMMON_SECTION_LENGTH NV_COMMON_PICOWAN_DEVICE_ADDRESS_SIZE + \ 88 NV_COMMON_PICOWAN_NETWORK_SESSION_KEY_SIZE + \ 89 NV_COMMON_PICOWAN_APPLICATION_SESSION_KEY_SIZE + \ 90 NV_COMMON_DEVICE_EUI_SIZE + \ 91 NV_COMMON_APPLICATION_EUI_SIZE + \ 92 NV_COMMON_APPLICATION_KEY_SIZE + \ 93 NV_COMMON_LORA_DEVICE_ADDRESS_SIZE + \ 94 NV_COMMON_LORA_NETWORK_SESSION_KEY_SIZE + \ 95 NV_COMMON_LORA_APPLICATION_SESSION_KEY_SIZE + \ 96 NV_COMMON_LORA_UPLINK_COUNTER_SIZE + \ 97 NV_COMMON_LORA_DOWNLINK_COUNTER_SIZE 105 #define NV_PRIVATE_MAGIC_OFFSET 0 106 #define NV_PRIVATE_MAGIC_SIZE 1 107 #define NV_PRIVATE_SECTION_LENGTH_OFFSET (NV_PRIVATE_MAGIC_OFFSET + NV_PRIVATE_MAGIC_SIZE * sizeof(uint32_t)) 108 #define NV_PRIVATE_SECTION_LENGTH_SIZE 1 109 #define NV_PRIVATE_FIRST_FIELD_OFFSET (NV_PRIVATE_SECTION_LENGTH_OFFSET + NV_PRIVATE_SECTION_LENGTH_SIZE * sizeof(uint32_t)) 126 int8_t
flash_data_nvread(
enum nv_section section, uint32_t offset, uint32_t *data, uint32_t length);
142 int8_t
flash_data_nvwrite(
enum nv_section section, uint32_t offset, uint32_t *data, uint32_t length);
void flash_data_nvcheck(uint32_t private_magic, uint32_t private_size)
Initializes and checks the Eeprom format.
Definition: flash.c:173
int8_t flash_data_nvwrite(enum nv_section section, uint32_t offset, uint32_t *data, uint32_t length)
Writes 32-bit long blocks to the Eeprom using PicoWAN-SDK's Eeprom layout.
Definition: flash.c:139
int8_t flash_data_nvread(enum nv_section section, uint32_t offset, uint32_t *data, uint32_t length)
Reads 32-bit long blocks from the Eeprom using PicoWAN-SDK's Eeprom layout.
Definition: flash.c:109