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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ColdFire_MCF51CN128_CodeWarrior/] [Sources/] [startcf.h] - Blame information for rev 754

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
#ifdef STARTCF_INCLUDE
33
#include STARTCF_INCLUDE
34
#endif
35
 
36
#pragma warn_any_ptr_int_conv off
37
#pragma warn_absolute off
38
 
39
extern unsigned long far __SP_INIT[];
40
extern unsigned long far __SP_AFTER_RESET[];
41
 
42
#ifndef MEMORY_INIT
43
/* If MEMORY_INIT is set then it performs
44
   minimal memory initialization (to preset SP to __SP_AFTER_RESET, etc...)
45
*/
46
#define MEMORY_INIT
47
#endif
48
 
49
void _startup(void);
50
 
51
#ifndef SUPPORT_ROM_TO_RAM
52
  /*
53
   * If SUPPORT_ROM_TO_RAM is set, _S_romp is used to define the copy to be performed.
54
   * If it is not set, there's a single block to copy, performed directly without
55
   * using the __S_romp structure, based on __DATA_RAM, __DATA_ROM and
56
   * __DATA_END symbols.
57
   *
58
   * Set to 0 for more aggressive dead stripping ...
59
   */
60
#define SUPPORT_ROM_TO_RAM 1
61
#endif
62
 
63
/* format of the ROM table info entry ... */
64
typedef struct RomInfo {
65
        void            *Source;
66
        void            *Target;
67
        unsigned long    Size;
68
} RomInfo;
69
 
70
/* imported data */
71
extern far RomInfo _S_romp[];           /* linker defined symbol */
72
 
73
#ifdef __cplusplus
74
}
75
#endif
76
 
77
#endif

powered by: WebSVN 2.1.0

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