2 ; FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
\r
4 ; ***************************************************************************
\r
8 ; * + New to FreeRTOS, *
\r
9 ; * + Wanting to learn FreeRTOS or multitasking in general quickly *
\r
10 ; * + Looking for basic training, *
\r
11 ; * + Wanting to improve your FreeRTOS skills and productivity *
\r
13 ; * then take a look at the FreeRTOS books - available as PDF or paperback *
\r
15 ; * "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
\r
16 ; * http://www.FreeRTOS.org/Documentation *
\r
18 ; * A pdf reference manual is also available. Both are usually delivered *
\r
19 ; * to your inbox within 20 minutes to two hours when purchased between 8am *
\r
20 ; * and 8pm GMT (although please allow up to 24 hours in case of *
\r
21 ; * exceptional circumstances). Thank you for your support! *
\r
23 ; ***************************************************************************
\r
25 ; This file is part of the FreeRTOS distribution.
\r
27 ; FreeRTOS is free software; you can redistribute it and/or modify it under
\r
28 ; the terms of the GNU General Public License (version 2) as published by the
\r
29 ; Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
\r
30 ; ***NOTE*** The exception to the GPL is included to allow you to distribute
\r
31 ; a combined work that includes FreeRTOS without being obliged to provide the
\r
32 ; source code for proprietary components outside of the FreeRTOS kernel.
\r
33 ; FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
\r
34 ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
\r
35 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
\r
36 ; more details. You should have received a copy of the GNU General Public
\r
37 ; License and the FreeRTOS license exception along with FreeRTOS; if not it
\r
38 ; can be viewed here: http://www.freertos.org/a00114.html and also obtained
\r
39 ; by writing to Richard Barry, contact details for whom are available on the
\r
40 ; FreeRTOS WEB site.
\r
42 ; 1 tab == 4 spaces!
\r
44 ; http://www.FreeRTOS.org - Documentation, latest information, license and
\r
47 ; http://www.SafeRTOS.com - A version that is certified for use in safety
\r
50 ; http://www.OpenRTOS.com - Commercial support, development, porting,
\r
51 ; licensing and training services.
\r
53 ; Note: Select the correct include files for the device used by the application.
\r
55 EXTERN vRegTestFailed
\r
60 ; The RegTest tasks as described in the comments at the top of main().
\r
64 ;------------------------------------------------------------------------------
\r
66 ; Functions implemented in this file
\r
67 ;------------------------------------------------------------------------------
\r
72 ;------------------------------------------------------------------------------
\r
73 ;------------------------------------------------------------------------------
\r
78 ; Ignore R3 and R4 as these are the stack and global pointers respectively.
\r
99 #if ( configDATA_MODE == 1 )
\r
100 ;R25 is used as a base register except when the tiny model is used. */
\r
101 MOV 0x18181818, R25
\r
103 MOV 0x19191919, R26
\r
104 MOV 0x20202020, R27
\r
105 MOV 0x21212121, R28
\r
106 MOV 0x22222222, R29
\r
107 MOV 0x23232323, R30
\r
109 vReg1TestLoopStart:
\r
111 MOV 0x01010101, R31
\r
114 JARL vRegTestFailed, lp
\r
115 MOV 0x02020202, R31
\r
118 JARL vRegTestFailed, lp
\r
119 MOV 0x04040404, R31
\r
122 JARL vRegTestFailed, lp
\r
123 MOV 0x05050505, R31
\r
126 JARL vRegTestFailed, lp
\r
127 MOV 0x06060606, R31
\r
130 JARL vRegTestFailed, lp
\r
131 MOV 0x07070707, R31
\r
134 JARL vRegTestFailed, lp
\r
135 MOV 0x08080808, R31
\r
138 JARL vRegTestFailed, lp
\r
139 MOV 0x09090909, R31
\r
142 JARL vRegTestFailed, lp
\r
143 MOV 0x0a0a0a0a, R31
\r
146 JARL vRegTestFailed, lp
\r
147 MOV 0x0b0b0b0b, R31
\r
150 JARL vRegTestFailed, lp
\r
151 MOV 0x0c0c0c0c, R31
\r
154 JARL vRegTestFailed, lp
\r
155 MOV 0x0d0d0d0d, R31
\r
158 JARL vRegTestFailed, lp
\r
159 MOV 0x0e0e0e0e, R31
\r
162 JARL vRegTestFailed, lp
\r
163 MOV 0x0f0f0f0f, R31
\r
166 JARL vRegTestFailed, lp
\r
167 MOV 0x10101010, R31
\r
170 JARL vRegTestFailed, lp
\r
171 MOV 0x11111111, R31
\r
174 JARL vRegTestFailed, lp
\r
175 MOV 0x12121212, R31
\r
178 JARL vRegTestFailed, lp
\r
179 MOV 0x13131313, R31
\r
182 JARL vRegTestFailed, lp
\r
183 MOV 0x14141414, R31
\r
186 JARL vRegTestFailed, lp
\r
187 MOV 0x15151515, R31
\r
190 JARL vRegTestFailed, lp
\r
191 MOV 0x16161616, R31
\r
194 JARL vRegTestFailed, lp
\r
195 MOV 0x17171717, R31
\r
198 JARL vRegTestFailed, lp
\r
199 #if ( configDATA_MODE == 1 )
\r
200 MOV 0x18181818, R31
\r
203 JARL vRegTestFailed, lp
\r
205 MOV 0x19191919, R31
\r
208 JARL vRegTestFailed, lp
\r
209 MOV 0x20202020, R31
\r
212 JARL vRegTestFailed, lp
\r
213 MOV 0x21212121, R31
\r
216 JARL vRegTestFailed, lp
\r
217 MOV 0x22222222, R31
\r
220 JARL vRegTestFailed, lp
\r
221 MOV 0x23232323, R31
\r
224 JARL vRegTestFailed, lp
\r
225 MOV vReg1TestLoopStart, R31
\r
228 ;------------------------------------------------------------------------------
\r
229 ;------------------------------------------------------------------------------
\r
234 ; Ignore R3 and R4 as these are the stack and global pointers respectively.
\r
240 MOV 0xa909090b, R10
\r
241 MOV 0xaa0a0a0b, R11
\r
242 MOV 0xab0b0b0b, R12
\r
243 MOV 0xac0c0c0b, R13
\r
244 MOV 0xad0d0d0b, R14
\r
245 MOV 0xae0e0e0b, R15
\r
246 MOV 0xaf0f0f0b, R16
\r
247 MOV 0xa010101b, R17
\r
248 MOV 0xa111111b, R18
\r
249 MOV 0xa212121b, R19
\r
250 MOV 0xa313131b, R20
\r
251 MOV 0xa414141b, R21
\r
252 MOV 0xa515151b, R22
\r
253 MOV 0xa616161b, R23
\r
254 MOV 0xa717171b, R24
\r
255 #if ( configDATA_MODE == 1 )
\r
256 ;R25 is used as a base register except when the tiny model is used. */
\r
257 MOV 0xa818181b, R25
\r
259 MOV 0xa919191b, R26
\r
260 MOV 0xa020202b, R27
\r
261 MOV 0xa121212b, R28
\r
262 MOV 0xa222222b, R29
\r
263 MOV 0xa323232b, R30
\r
265 vReg2TestLoopStart:
\r
266 MOV 0xa101010b, R31
\r
269 JARL vRegTestFailed, lp
\r
270 MOV 0xa202020b, R31
\r
273 JARL vRegTestFailed, lp
\r
274 MOV 0xa404040b, R31
\r
277 JARL vRegTestFailed, lp
\r
278 MOV 0xa505050b, R31
\r
281 JARL vRegTestFailed, lp
\r
282 MOV 0xa606060b, R31
\r
285 JARL vRegTestFailed, lp
\r
286 MOV 0xa707070b, R31
\r
289 JARL vRegTestFailed, lp
\r
290 MOV 0xa808080b, R31
\r
293 JARL vRegTestFailed, lp
\r
294 MOV 0xa909090b, R31
\r
297 JARL vRegTestFailed, lp
\r
298 MOV 0xaa0a0a0b, R31
\r
301 JARL vRegTestFailed, lp
\r
302 MOV 0xab0b0b0b, R31
\r
305 JARL vRegTestFailed, lp
\r
306 MOV 0xac0c0c0b, R31
\r
309 JARL vRegTestFailed, lp
\r
310 MOV 0xad0d0d0b, R31
\r
313 JARL vRegTestFailed, lp
\r
314 MOV 0xae0e0e0b, R31
\r
317 JARL vRegTestFailed, lp
\r
318 MOV 0xaf0f0f0b, R31
\r
321 JARL vRegTestFailed, lp
\r
322 MOV 0xa010101b, R31
\r
325 JARL vRegTestFailed, lp
\r
326 MOV 0xa111111b, R31
\r
329 JARL vRegTestFailed, lp
\r
330 MOV 0xa212121b, R31
\r
333 JARL vRegTestFailed, lp
\r
334 MOV 0xa313131b, R31
\r
337 JARL vRegTestFailed, lp
\r
338 MOV 0xa414141b, R31
\r
341 JARL vRegTestFailed, lp
\r
342 MOV 0xa515151b, R31
\r
345 JARL vRegTestFailed, lp
\r
346 MOV 0xa616161b, R31
\r
349 JARL vRegTestFailed, lp
\r
350 MOV 0xa717171b, R31
\r
353 JARL vRegTestFailed, lp
\r
354 #if ( configDATA_MODE == 1 )
\r
355 MOV 0xa818181b, R31
\r
358 JARL vRegTestFailed, lp
\r
360 MOV 0xa919191b, R31
\r
363 JARL vRegTestFailed, lp
\r
364 MOV 0xa020202b, R31
\r
367 JARL vRegTestFailed, lp
\r
368 MOV 0xa121212b, R31
\r
371 JARL vRegTestFailed, lp
\r
372 MOV 0xa222222b, R31
\r
375 JARL vRegTestFailed, lp
\r
376 MOV 0xa323232b, R31
\r
379 JARL vRegTestFailed, lp
\r
380 MOV vReg2TestLoopStart, R31
\r