OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ColdFire_MCF52221_CodeWarrior/] [sources/] [startcf.h] - Blame information for rev 609

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 jeremybenn
/******************************************************************************
2
  FILE    : startcf.h
3
  PURPOSE : startup code for ColdFire
4
  LANGUAGE: C
5
 
6
 
7
  Notes:
8
        1) Default entry point is _startup.
9
           . disable interrupts
10
           . the SP is set to __SP_AFTER_RESET
11
           . SP must be initialized to valid memory
12
             in case the memory it points to is not valid using MEMORY_INIT macro
13
        2) __initialize_hardware is called. Here you can initialize memory and some peripherics
14
           at this point global variables are not initialized yet
15
        3) After __initialize_hardware memory is setup; initialize SP to _SP_INIT and perform
16
           needed initialisations for the language (clear memory, data rom copy).
17
        4) void __initialize_system(void); is called
18
           to allow additional hardware initialization (UART, GPIOs, etc...)
19
        5) Jump to main
20
 
21
*/
22
/********************************************************************************/
23
 
24
#ifndef STARTCF_H
25
#define STARTCF_H
26
 
27
 
28
#ifdef __cplusplus
29
extern "C" {
30
#endif
31
 
32
#include "support_common.h"
33
 
34
extern unsigned long far __SP_INIT[];
35
extern unsigned long far __SP_AFTER_RESET[];
36
 
37
 
38
#ifndef MEMORY_INIT
39
/* If MEMORY_INIT is set then it performs
40
   minimal memory initialization (to preset SP to __SP_AFTER_RESET, etc...)
41
*/
42
#define MEMORY_INIT
43
#endif
44
 
45
 
46
void _startup(void);
47
 
48
#ifndef SUPPORT_ROM_TO_RAM
49
  /*
50
   * If SUPPORT_ROM_TO_RAM is set, _S_romp is used to define the copy to be performed.
51
   * If it is not set, there's a single block to copy, performed directly without
52
   * using the __S_romp structure, based on __DATA_RAM, __DATA_ROM and
53
   * __DATA_END symbols.
54
   *
55
   * Set to 0 for more aggressive dead stripping ...
56
   */
57
#define SUPPORT_ROM_TO_RAM 1
58
#endif
59
 
60
/* format of the ROM table info entry ... */
61
typedef struct RomInfo {
62
        void            *Source;
63
        void            *Target;
64
        unsigned long    Size;
65
} RomInfo;
66
 
67
/* imported data */
68
extern far RomInfo _S_romp[];           /* linker defined symbol */
69
 
70
#ifdef __cplusplus
71
}
72
#endif
73
 
74
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.