/** @file hal/micro/cortexm3/nvm-def.h * @brief Data definitions for the Cortex-M3 Non-Volatile Memory data storage * system. * See @ref nvm for documentation. * * See hal/micro/cortexm3/nvm-def.h for source code. * * */ /** @addtogroup nvm * @brief Data definitions for the Cortex-M3 Non-Volatile Memory data storage * system. * * This header defines all of the data sets in the NVM data storage. Each * piece of data in NVM storage uses an offset to indicate where the data * lives and a size to indicate the size of that data. Both the offset * and size are defined in bytes and must be a mupltiple of 16bits. The * offset is from the start of an NVM page, defined by NVM_LEFT_PAGE and * NVM_RIGHT_PAGE. The offset and size must be below the maximum size * of NVM storage as defined by NVM_DATA_SIZE_B. All NVM data must start * above NVM_MGMT_SIZE_B, since this is where the management bytes live. * * @note This file is not directly used by the nvm.c or nvm.h files. This * file is intended to be a convenient place to define all data that * lives in NVM so it can be seen together in one group. nvm.h includes * this file which means any code that includes nvm.h to call the read * and write functions also has access to these defines. *@{ */ #ifndef NVM_DEF_H_ #define NVM_DEF_H_ //The bottom 64 bytes of NVM storage is allocated to radio calibration //values. These 64 bytes *must* exist for the radio to function. #define NVM_RADIO_CAL_OFFSET (NVM_MGMT_SIZE_B+0x0000) #define NVM_RADIO_CAL_SIZE_B 64 //IMPORTANT: Data storage starts at offset 0x0040. //Three example pieces of data: #define NVM_FOO_OFFSET (NVM_MGMT_SIZE_B+0x0040) #define NVM_FOO_SIZE_B 2 #define NVM_HAM_OFFSET (NVM_MGMT_SIZE_B+0x0042) #define NVM_HAM_SIZE_B 10 #define NVM_SPAM_OFFSET (NVM_MGMT_SIZE_B+0x004C) #define NVM_SPAM_SIZE_B 20 /** @} END addtogroup */ #endif // NVM_DEF_H_