Appendix 1 – directory format – Sundance SMT6001 User Manual
Page 11

5.
Appendix 1 – Directory Format
The directory for the ROM is a number of 32-bit words at the start of the memory. It
has the following format:
typedef unsigned int UINT32;
struct FlashHeader { // byte offset from flash base
UINT32 Branch1; // 00
UINT32 Nop1; // 04
UINT32 HeaderCrc; // 08
UINT32 HeaderSize; // 0C
UINT32 HeaderVersion; // 10
UINT32 XMemory; // 14
UINT32 BootId; // 18
UINT32 FpgaId; // 1C
UINT32 Branch2; // 20
UINT32 Nop2; // 24
UINT32 TimType; // 28
char TimName[16]; // 2C, 30, 34, 38
UINT32 BootCrc; // 3C
UINT32 FpgaBase; // 40
UINT32 FpgaSize; // 44
UINT32 FpgaCrc; // 48
UINT32 UserId; // 4C
UINT32 AreaBase; // 50
UINT32 AreaCount; // 54
UINT16 Enable; // 58
UINT16 BootIndex; // 5A
UINT32 Dynamics; // 5C
Dset Set[8]; // 60..9C
};
The following fields in the header may be of interest to advanced users:
XMemory
The start address of the largest area of external memory on the TIM
TimType
A numeric code for the type of TIM
TimName
a null-terminated string giving the type of the TIM
AreaBase
The byte offset into the ROM of the start of user areas
AreaCount The number of programmed areas
Enable
1 if the program selected by BootIndex is to be executed after reset
BootIndex The number of the area containing a program to be executed. 0 means
there is no executable area