DCT memory map of photon

Hello there!!
It is written in the docs that the dct sector of photon is mapped to a separate dfu media device to enable updating the dct contents independently. Can anyone please elaborate this? I really cannot get the mapping to dfu media device.

Also, please kindly explain the following contents in the dct.

  1. feature flags
  2. version string
  3. dns resolve
  4. radio flags
  5. led mirror and led theme
  6. flash modules
  7. product store
  8. alt server address

P.S: I am a newbie and I really need to understand the memory map correctly. So, please guide me through this!!


Hey @Joe, could you please look into my problem. I really need to understand this soon.

There is rarely a reason to deal directly with any of the items in the DCT. They’re managed by the system firmware automatically.

The radio flag (4) indicates whether the modem should be in Japan mode. I think the output power is reduced in some bands.

The LED mirror and theme are the settings made by the RGB calls.

The alt server address and keys aren’t used on the Photon. It’s only used on the Electron and E series.

When you use DFU mode and special the -a 1 flag to dfu-util it writes to the alt DFU mapping, which is the DCT. The address is then relative to start of the DCT, so the numbers in the data sheet will match up with what you specify to dfu-util.

There are two sectors of flash memory for the DCT. One is the active one and the other is typically erased to 0xFFs. Whenever you write to the DCT, the entire thing is copied to the other sector with the changes, as flash memory can only be erased at the sector level.


Thanks @rickkas7 for your answer.
But, If alt server address is not used in photon, where is actually the server address stored in photon?
And could you please explain what is actually stored in the led mirror (I now know what is stored in the led theme)?

Not sure what’s in the LED mirror data, as it’s not intended to be modified externally, you should just read the source for things like that:

The server address is 384 bytes into the server public key.