?? bootdata.h
字號:
/*******************************************************************************
File Name : bootdata.h
Description : Contains declarations of data structures used by the boot
mechanisms.
(C)Copyright ST Microelectronics 1998
Reference to the origin of this file within the build system repository
\5500ref\flash\loader\bootdata.h
References to related design specifications, tools, required header files etc.
Date Modification Initials
---- ------------ --------
1996 Creation
*******************************************************************************/
/* Define to prevent recursive inclusion */
#ifndef __BOOTDATA_H
#define __BOOTDATA_H
/* Includes ----------------------------------------------------------------- */
#include <stddef.h>
/* SIZEOF... defines cannot use sizeof() as they are used on a host machine
to determine the size of a data structure on the target machine */
/* boot data block */
struct pokepair_s
{
volatile void *__address; /* address to poke the value into */
unsigned int __value; /* the value to poke */
};
typedef struct pokepair_s pokepair_t;
#define SIZEOFPOKEPAIR 8
/* addresses in the bootdata_s structure are represented by long ints. This
allows the structure to be used in both host and target code */
struct bootdata_s
{
size_t __heapsize; /* size of main heap area in bytes */
long int __heapptr; /* address of base of main heap area */
size_t __stacksize; /* size of stack area in bytes */
long int __stackptr; /* address of base of stack area */
long int __staticlink; /* address of base of main data area, */
/* used by indirect data addressing. */
long int __constructor; /* address of C++ constructor list */
size_t __constructor_size; /* size of constructor section bytes */
long int __destructor; /* address of C++ destructor list */
size_t __destructor_size; /* size of destructor section bytes */
size_t __numpokes; /* number of values to poke */
pokepair_t __poketable[1]; /* start of poke table */
};
typedef struct bootdata_s bootdata_t;
#define SIZEOFBOOTDATA(numpokes) (40 + ((numpokes) * SIZEOFPOKEPAIR))
/* ROM section table */
#define ZERO_SECTION ((void *)0x80000000)
struct romtableentry_s
{
size_t __size; /* 0 : End of table */
/* Otherwise : size of section (in bytes) */
void *__source; /* MOSTNEG INT : Entry represents bss section */
/* Otherwise : address to copy section from */
void *__dest; /* address to copy to (or start of bss) */
};
typedef struct romtableentry_s romtableentry_t;
#define SIZEOFROMTABLEENTRY 12
/* representation of the three addresses stored above the gcall/jab to
the loader code */
struct addressblock_s
{
bootdata_t *__bdata; /* pointer to boot data block */
romtableentry_t *__stable; /* pointer to section table */
void *__initwptr; /* initial workspace address */
};
typedef struct addressblock_s addressblock_t;
#endif /* __BOOTDATA_H */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -