6 #include PLATFORM_HEADER
15 #define TOKEN_MFG(name,creator,iscnt,isidx,type,arraysize,...) \
16 const uint16_t TOKEN_##name = TOKEN_##name##_ADDRESS;
29 static const uint8_t nullEui[] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF };
34 uint8_t *ram = (uint8_t*)data;
37 index = (index==0x7F) ? 0 : index;
39 if(ID == MFG_EUI_64_LOCATION) {
45 tokTypeMfgEui64 eui64;
46 halCommonGetMfgToken(&eui64, TOKEN_MFG_CUSTOM_EUI_64);
47 if(MEMCOMPARE(eui64,nullEui, 8 ) == 0) {
48 halCommonGetMfgToken(&eui64, TOKEN_MFG_ST_EUI_64);
50 MEMCOPY(ram, eui64, 8 );
56 uint32_t realAddress = (DATA_BIG_INFO_BASE|ID) + (len*index);
57 uint8_t *flash = (uint8_t *)realAddress;
72 MEMCOPY(ram, flash, len);
80 uint32_t realAddress = (DATA_BIG_INFO_BASE|token);
81 uint8_t * flash = (uint8_t *)realAddress;
87 assert((token&1) != 1);
89 assert((realAddress>=CIB_BOTTOM) && ((realAddress+len-1)<=CIB_TOP));
96 assert(flash[i] == 0xFF);
102 assert(flashStatus == ST_SUCCESS);
Header for flash for APIs.
Definitions for manufacturing tokens.
Cortex-M3 Manufacturing token system.
StStatus halInternalFlashWrite(uint32_t address, uint16_t *data, uint32_t length)
Writes a block of words to flash.
void halInternalSetMfgTokenData(uint16_t token, void *data, uint8_t len)
Sets the value of a token in non-volatile storage.
void halInternalGetMfgTokenData(void *data, uint16_t ID, uint8_t index, uint8_t len)
Copies the token value from non-volatile storage into a RAM location.