|
|
@@ -15,8 +15,12 @@ typedef volatile uint32_t REG32;
|
|
15
|
15
|
#define GPIO_GPIO2DATA (*(pREG32 (0x50023FFC))) // Port data register
|
|
16
|
16
|
#define GPIO_GPIO2DIR (*(pREG32 (0x50028000))) // Data direction register
|
|
17
|
17
|
|
|
|
18
|
+#define RAM_START 0x10000000
|
|
|
19
|
+#define RAM_SIZE 8192
|
|
|
20
|
+
|
|
18
|
21
|
void pwm(int level, int top);
|
|
19
|
22
|
|
|
|
23
|
+__attribute__((naked))
|
|
20
|
24
|
void start(void)
|
|
21
|
25
|
{
|
|
22
|
26
|
GPIO_GPIO2DIR = 0xFFFF;
|
|
|
@@ -74,3 +78,15 @@ void startx(void)
|
|
74
|
78
|
}
|
|
75
|
79
|
}
|
|
76
|
80
|
}
|
|
|
81
|
+
|
|
|
82
|
+__attribute__((section(".vectors")))
|
|
|
83
|
+const void * vectors[] = {
|
|
|
84
|
+ (void *)(RAM_START + RAM_SIZE - 64),
|
|
|
85
|
+ start,
|
|
|
86
|
+ 0,
|
|
|
87
|
+ 0,
|
|
|
88
|
+ 0,
|
|
|
89
|
+ 0,
|
|
|
90
|
+ 0,
|
|
|
91
|
+ 0,
|
|
|
92
|
+};
|