beautypg.com

Appendix 1 – directory format – Sundance SMT6001 User Manual

Page 11

background image

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