Skip to content

Commit 927c31a

Browse files
committed
Merge pull request #1121 from Wiznet/master
Add WIZwiki-W7500
2 parents e775613 + 86a6703 commit 927c31a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+8511
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
; *************************************************************
2+
; *** Scatter-Loading Description File generated by uVision ***
3+
; *************************************************************
4+
5+
LR_IROM1 0x00000000 0x00020000 { ; load region size_region
6+
ER_IROM1 0x00000000 0x00020000 { ; load address = execution address
7+
*.o (RESET, +First)
8+
*(InRoot$$Sections)
9+
.ANY (+RO)
10+
}
11+
RW_IRAM1 0x20000000 0x00004000 { ; RW data
12+
.ANY (+RW +ZI)
13+
}
14+
}
15+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
;/**************************************************************************//**
2+
; * @file startup_CMSDK_CM0.s
3+
; * @brief CMSIS Cortex-M0 Core Device Startup File for
4+
; * Device CMSDK_CM0
5+
; * @version V3.01
6+
; * @date 06. March 2012
7+
; * @modify 29. April 2014 by WIZnet ; added WZTOE_HANDLER
8+
9+
; * @note
10+
; * Copyright (C) 2012 ARM Limited. All rights reserved.
11+
; *
12+
; * @par
13+
; * ARM Limited (ARM) is supplying this software for use with Cortex-M
14+
; * processor based microcontrollers. This file can be freely distributed
15+
; * within development tools that are supporting such ARM based processors.
16+
; *
17+
; * @par
18+
; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
19+
; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
20+
; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
21+
; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
22+
; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
23+
; *
24+
; ******************************************************************************/
25+
;/*
26+
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
27+
;*/
28+
29+
30+
; <h> Stack Configuration
31+
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
32+
; </h>
33+
34+
Stack_Size EQU 0x00000400
35+
36+
AREA STACK, NOINIT, READWRITE, ALIGN=3
37+
Stack_Mem SPACE Stack_Size
38+
__initial_sp EQU 0x20004000 ; Top of RAM (16 KB for WIZwiki_W7500)
39+
40+
41+
; <h> Heap Configuration
42+
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
43+
; </h>
44+
45+
Heap_Size EQU 0x00000400
46+
47+
AREA HEAP, NOINIT, READWRITE, ALIGN=3
48+
__heap_base
49+
Heap_Mem SPACE Heap_Size
50+
__heap_limit
51+
52+
53+
PRESERVE8
54+
THUMB
55+
56+
57+
; Vector Table Mapped to Address 0 at Reset
58+
59+
AREA RESET, DATA, READONLY
60+
EXPORT __Vectors
61+
EXPORT __Vectors_End
62+
EXPORT __Vectors_Size
63+
64+
__Vectors DCD __initial_sp ; Top of Stack
65+
DCD Reset_Handler ; Reset Handler
66+
DCD NMI_Handler ; NMI Handler
67+
DCD HardFault_Handler ; Hard Fault Handler
68+
DCD 0 ; Reserved
69+
DCD 0 ; Reserved
70+
DCD 0 ; Reserved
71+
DCD 0 ; Reserved
72+
DCD 0 ; Reserved
73+
DCD 0 ; Reserved
74+
DCD 0 ; Reserved
75+
DCD SVC_Handler ; SVCall Handler
76+
DCD 0 ; Reserved
77+
DCD 0 ; Reserved
78+
DCD PendSV_Handler ; PendSV Handler
79+
DCD SysTick_Handler ; SysTick Handler
80+
DCD SSP0_Handler ; 16+ 0: SSP 0 Handler
81+
DCD SSP1_Handler ; 16+ 1: SSP 1 Handler
82+
DCD UART0_Handler ; 16+ 2: UART 0 Handler
83+
DCD UART1_Handler ; 16+ 3: UART 1 Handler
84+
DCD UART2_Handler ; 16+ 4: UART 2 Handler
85+
DCD I2C0_Handler ; 16+ 5: I2C 0 Handler
86+
DCD I2C1_Handler ; 16+ 6: I2C 1 Handler
87+
DCD PORT0_Handler ; 16+ 7: GPIO Port 0 Combined Handler
88+
DCD PORT1_Handler ; 16+ 8: GPIO Port 1 Combined Handler
89+
DCD PORT2_Handler ; 16+ 9: GPIO Port 2 Combined Handler
90+
DCD PORT3_Handler ; 16+10: GPIO Port 3 Combined Handler
91+
DCD DMA_Handler ; 16+11: DMA Combined Handler
92+
DCD DUALTIMER0_Handler ; 16+12: Dual timer 0 handler
93+
DCD DUALTIMER1_Handler ; 16+13: Dual timer 1 handler
94+
DCD PWM0_Handler ; 16+14: PWM0 Handler
95+
DCD PWM1_Handler ; 16+15: PWM1 Handler
96+
DCD PWM2_Handler ; 16+16: PWM2 Handler
97+
DCD PWM3_Handler ; 16+17: PWM3 Handler
98+
DCD PWM4_Handler ; 16+18: PWM4 Handler
99+
DCD PWM5_Handler ; 16+19: PWM5 Handler
100+
DCD PWM6_Handler ; 16+20: PWM6 Handler
101+
DCD PWM7_Handler ; 16+21: PWM7 Handler
102+
DCD RTC_Handler ; 16+22: RTC Handler
103+
DCD ADC_Handler ; 16+23: ADC Handler
104+
DCD WZTOE_Handler ; 16+24: WZTOE_Handler
105+
DCD EXTI_Handler ; 16+25: EXTI_Handler
106+
__Vectors_End
107+
108+
__Vectors_Size EQU __Vectors_End - __Vectors
109+
110+
AREA |.text|, CODE, READONLY
111+
112+
113+
; Reset Handler
114+
115+
Reset_Handler PROC
116+
EXPORT Reset_Handler [WEAK]
117+
IMPORT SystemInit
118+
IMPORT __main
119+
LDR R0, =SystemInit
120+
BLX R0
121+
LDR R0, =__main
122+
BX R0
123+
ENDP
124+
125+
126+
; Dummy Exception Handlers (infinite loops which can be modified)
127+
128+
NMI_Handler PROC
129+
EXPORT NMI_Handler [WEAK]
130+
B .
131+
ENDP
132+
HardFault_Handler\
133+
PROC
134+
EXPORT HardFault_Handler [WEAK]
135+
B .
136+
ENDP
137+
SVC_Handler PROC
138+
EXPORT SVC_Handler [WEAK]
139+
B .
140+
ENDP
141+
PendSV_Handler PROC
142+
EXPORT PendSV_Handler [WEAK]
143+
B .
144+
ENDP
145+
SysTick_Handler PROC
146+
EXPORT SysTick_Handler [WEAK]
147+
B .
148+
ENDP
149+
Default_Handler PROC
150+
EXPORT SSP0_Handler [WEAK]
151+
EXPORT SSP1_Handler [WEAK]
152+
EXPORT UART0_Handler [WEAK]
153+
EXPORT UART1_Handler [WEAK]
154+
EXPORT UART2_Handler [WEAK]
155+
EXPORT I2C0_Handler [WEAK]
156+
EXPORT I2C1_Handler [WEAK]
157+
EXPORT PORT0_Handler [WEAK]
158+
EXPORT PORT1_Handler [WEAK]
159+
EXPORT PORT2_Handler [WEAK]
160+
EXPORT PORT3_Handler [WEAK]
161+
EXPORT DMA_Handler [WEAK]
162+
EXPORT DUALTIMER0_Handler [WEAK]
163+
EXPORT DUALTIMER1_Handler [WEAK]
164+
EXPORT PWM0_Handler [WEAK]
165+
EXPORT PWM1_Handler [WEAK]
166+
EXPORT PWM2_Handler [WEAK]
167+
EXPORT PWM3_Handler [WEAK]
168+
EXPORT PWM4_Handler [WEAK]
169+
EXPORT PWM5_Handler [WEAK]
170+
EXPORT PWM6_Handler [WEAK]
171+
EXPORT PWM7_Handler [WEAK]
172+
EXPORT RTC_Handler [WEAK]
173+
EXPORT ADC_Handler [WEAK]
174+
EXPORT WZTOE_Handler [WEAK]
175+
EXPORT EXTI_Handler [WEAK]
176+
SSP0_Handler
177+
SSP1_Handler
178+
UART0_Handler
179+
UART1_Handler
180+
UART2_Handler
181+
I2C0_Handler
182+
I2C1_Handler
183+
PORT0_Handler
184+
PORT1_Handler
185+
PORT2_Handler
186+
PORT3_Handler
187+
DMA_Handler
188+
DUALTIMER0_Handler
189+
DUALTIMER1_Handler
190+
PWM0_Handler
191+
PWM1_Handler
192+
PWM2_Handler
193+
PWM3_Handler
194+
PWM4_Handler
195+
PWM5_Handler
196+
PWM6_Handler
197+
PWM7_Handler
198+
RTC_Handler
199+
ADC_Handler
200+
WZTOE_Handler
201+
EXTI_Handler
202+
B .
203+
ENDP
204+
205+
206+
ALIGN
207+
208+
209+
EXPORT __initial_sp
210+
EXPORT __heap_base
211+
EXPORT __heap_limit
212+
213+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/* mbed Microcontroller Library - stackheap
2+
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
3+
*
4+
* Setup a fixed single stack/heap memory model,
5+
* between the top of the RW/ZI region and the stackpointer
6+
*/
7+
8+
#ifdef __cplusplus
9+
extern "C" {
10+
#endif
11+
12+
#include <rt_misc.h>
13+
#include <stdint.h>
14+
15+
extern char Image$$RW_IRAM1$$ZI$$Limit[];
16+
17+
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
18+
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
19+
uint32_t sp_limit = __current_sp();
20+
21+
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
22+
23+
struct __initial_stackheap r;
24+
r.heap_base = zi_limit;
25+
r.heap_limit = sp_limit;
26+
return r;
27+
}
28+
29+
#ifdef __cplusplus
30+
}
31+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
; *************************************************************
2+
; *** Scatter-Loading Description File generated by uVision ***
3+
; *************************************************************
4+
5+
LR_IROM1 0x00000000 0x00020000 { ; load region size_region
6+
ER_IROM1 0x00000000 0x00020000 { ; load address = execution address
7+
*.o (RESET, +First)
8+
*(InRoot$$Sections)
9+
.ANY (+RO)
10+
}
11+
RW_IRAM1 0x20000000 0x00004000 { ; RW data
12+
.ANY (+RW +ZI)
13+
}
14+
}
15+

0 commit comments

Comments
 (0)