os_init.c
2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// Copyright (C) Optek. 2008
//
//! \file os_init.c
//! \brief os initialization
//! \version 0.1
//! \date Feb, 2007
//!
//! Initialization code for RTOS (threadx)
//!
//
#include "os_config.h"
#include "c_def.h"
#include "debug.h"
#include "oem.h"
//#include "regmap.h"
//#include "hw_misc.h"
#include "interrupt.h"
///////////////////////////////////////////////////////////////////////////////
// Code
////////////////////////////////////////////////////////////////////////////////
//
//! \brief Player-specific pre-ThreadX initialization
//!
//! \fntype Function
//!
//! Performs basic system initialization after ThreadX has been initialized
//! but before any threads are running.
//
//#pragma ghs section text=".ocram.text"
#include <stdlib.h>
#include <stdio.h>
int level_intParm;
unsigned int version;
void os_init(void *threadx_avail_mem)
{
U32 temp;
#if 0//ndef RTOS_ENABLE
_xt_tick_divisor_init();
#endif
#if 1//def UART0_ENABLE
extern void *mutex_uart2_tx;
mutex_uart2_tx = NULL;
app_uart0_init();
#endif
#ifdef UART1_ENABLE
app_uart1_init();
#endif
#ifdef UART2_ENABLE
app_uart2_init();
#endif
//app_qspi_init();
#if 1//for debugging
debug_pin_init();
#endif
#ifdef SD_ENABLE
sd_preinit();
#endif
xt_set_interrupt_handler(0, L1_int0_extlevel, (void *)&level_intParm);
xt_set_interrupt_handler(1, L1_int1_extlevel, (void *)&level_intParm);
#if 0//ndef RTOS_ENABLE
xt_set_interrupt_handler(6, L1_int6_timer0, (void *)&level_intParm);
#endif
#ifdef USB_HOST_ENABLE
xt_set_interrupt_handler(8, L2_int8_extlevel, (void *)&level_intParm);
#endif
#if 1//def TIMER1_ENABLE
void optek_link_timer_int(void *param);
xt_set_interrupt_handler(10, optek_link_timer_int, (void *)&level_intParm);
#endif
//for DMA
xt_set_interrupt_handler(9, L3_int9_extlevel, (void *)&level_intParm);
//xt_set_interrupt_handler(1, L1_int1_extlevel, (void *)&level_intParm);
xt_set_interrupt_handler(2, L1_int2_extlevel, (void *)&level_intParm);
//xt_set_interrupt_handler(6, L1_int6_timer0, (void *)&level_intParm);
//xt_set_interrupt_handler(10, L3_int10_timer1, (void *)&level_intParm);
xt_set_interrupt_handler(3, L1_int3_extlevel, (void *)&level_intParm);
xt_set_interrupt_handler(4, L1_int4_extlevel, (void *)&level_intParm);
#ifdef BTDM5_DIV_3INT
xt_set_interrupt_handler(18, L2_int18_extlevel, (void *)&level_intParm);
xt_set_interrupt_handler(19, L2_int19_extlevel, (void *)&level_intParm);
xt_set_interrupt_handler(20, L2_int20_extlevel, (void *)&level_intParm);
#endif
#ifdef ADC_INT_ENABLE
xt_set_interrupt_handler(5, L1_int5_extlevel, (void *)&level_intParm);
#endif
#if 1
XT_INTS_ON(LEVEL1_INT2_MASK);
XT_INTS_ON(LEVEL3_INT9_MASK);
XT_INTS_ON(LEVEL1_INT3_MASK);
XT_INTS_ON(LEVEL1_INT4_MASK);
#endif
app_main();
}
////////////////////////////////////////////////////////////////////////////////
// End of file
////////////////////////////////////////////////////////////////////////////////