]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/PIC32MX_MPLAB/RegisterTestTasks.S
Update version number ready to release the FAT file system demo.
[freertos] / FreeRTOS / Demo / PIC32MX_MPLAB / RegisterTestTasks.S
1 /*\r
2     FreeRTOS V7.4.2 - Copyright (C) 2013 Real Time Engineers Ltd.\r
3 \r
4     FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT\r
5     http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
6 \r
7     ***************************************************************************\r
8      *                                                                       *\r
9      *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
10      *    Complete, revised, and edited pdf reference manuals are also       *\r
11      *    available.                                                         *\r
12      *                                                                       *\r
13      *    Purchasing FreeRTOS documentation will not only help you, by       *\r
14      *    ensuring you get running as quickly as possible and with an        *\r
15      *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
16      *    the FreeRTOS project to continue with its mission of providing     *\r
17      *    professional grade, cross platform, de facto standard solutions    *\r
18      *    for microcontrollers - completely free of charge!                  *\r
19      *                                                                       *\r
20      *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
21      *                                                                       *\r
22      *    Thank you for using FreeRTOS, and thank you for your support!      *\r
23      *                                                                       *\r
24     ***************************************************************************\r
25 \r
26 \r
27     This file is part of the FreeRTOS distribution.\r
28 \r
29     FreeRTOS is free software; you can redistribute it and/or modify it under\r
30     the terms of the GNU General Public License (version 2) as published by the\r
31     Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
32 \r
33     >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to\r
34     distribute a combined work that includes FreeRTOS without being obliged to\r
35     provide the source code for proprietary components outside of the FreeRTOS\r
36     kernel.\r
37 \r
38     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
39     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
40     FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\r
41     details. You should have received a copy of the GNU General Public License\r
42     and the FreeRTOS license exception along with FreeRTOS; if not it can be\r
43     viewed here: http://www.freertos.org/a00114.html and also obtained by\r
44     writing to Real Time Engineers Ltd., contact details for whom are available\r
45     on the FreeRTOS WEB site.\r
46 \r
47     1 tab == 4 spaces!\r
48 \r
49     ***************************************************************************\r
50      *                                                                       *\r
51      *    Having a problem?  Start by reading the FAQ "My application does   *\r
52      *    not run, what could be wrong?"                                     *\r
53      *                                                                       *\r
54      *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
55      *                                                                       *\r
56     ***************************************************************************\r
57 \r
58 \r
59     http://www.FreeRTOS.org - Documentation, books, training, latest versions, \r
60     license and Real Time Engineers Ltd. contact details.\r
61 \r
62     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
63     including FreeRTOS+Trace - an indispensable productivity tool, and our new\r
64     fully thread aware and reentrant UDP/IP stack.\r
65 \r
66     http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High \r
67     Integrity Systems, who sell the code with commercial support, \r
68     indemnification and middleware, under the OpenRTOS brand.\r
69     \r
70     http://www.SafeRTOS.com - High Integrity Systems also provide a safety \r
71     engineered and independently SIL3 certified version for use in safety and \r
72     mission critical applications that require provable dependability.\r
73 */\r
74 \r
75 \r
76 #include <p32xxxx.h>\r
77 #include <sys/asm.h>\r
78 \r
79         .set    nomips16\r
80         .set    noreorder\r
81 \r
82 \r
83         .global vRegTest1\r
84         .global vRegTest2\r
85 \r
86 \r
87         .set    noreorder\r
88         .set    noat\r
89         .ent    vRegTest1\r
90 \r
91 /* Address of $4 ulStatus1 is held in A0, so don't mess with the value of $4 */\r
92 \r
93 vRegTest1:\r
94         addiu   $1, $0, 0x11\r
95         addiu   $2, $0, 0x12\r
96         addiu   $3, $0, 0x13\r
97         addiu   $5, $0, 0x15\r
98         addiu   $6, $0, 0x16\r
99         addiu   $7, $0, 0x17\r
100         addiu   $8, $0, 0x18\r
101         addiu   $9, $0, 0x19\r
102         addiu   $10, $0, 0x110\r
103         addiu   $11, $0, 0x111\r
104         addiu   $12, $0, 0x112\r
105         addiu   $13, $0, 0x113\r
106         addiu   $14, $0, 0x114\r
107         addiu   $15, $0, 0x115\r
108         addiu   $16, $0, 0x116\r
109         addiu   $17, $0, 0x117\r
110         addiu   $18, $0, 0x118\r
111         addiu   $19, $0, 0x119\r
112         addiu   $20, $0, 0x120\r
113         addiu   $21, $0, 0x121\r
114         addiu   $22, $0, 0x122\r
115         addiu   $23, $0, 0x123\r
116         addiu   $24, $0, 0x124\r
117         addiu   $25, $0, 0x125\r
118         addiu   $30, $0, 0x130\r
119 \r
120         addiu   $1, $1, -0x11\r
121         beq             $1, $0, .+12\r
122         nop\r
123         sw              $0,     0($4)\r
124         addiu   $2, $2, -0x12\r
125         beq             $2, $0, .+12\r
126         nop\r
127         sw              $0,     0($4)\r
128         addiu   $3, $3, -0x13\r
129         beq             $3, $0, .+12\r
130         nop\r
131         sw              $0,     0($4)\r
132         addiu   $5, $5, -0x15\r
133         beq             $5, $0, .+12\r
134         nop\r
135         sw              $0,     0($4)\r
136         addiu   $6, $6, -0x16\r
137         beq             $6, $0, .+12\r
138         nop\r
139         sw              $0,     0($4)\r
140         addiu   $7, $7, -0x17\r
141         beq             $7, $0, .+12\r
142         nop\r
143         sw              $0,     0($4)\r
144         addiu   $8, $8, -0x18\r
145         beq             $8, $0, .+12\r
146         nop\r
147         sw              $0,     0($4)\r
148         addiu   $9, $9, -0x19\r
149         beq             $9, $0, .+12\r
150         nop\r
151         sw              $0,     0($4)\r
152         addiu   $10, $10, -0x110\r
153         beq             $10, $0, .+12\r
154         nop\r
155         sw              $0,     0($4)\r
156         addiu   $11, $11, -0x111\r
157         beq             $11, $0, .+12\r
158         nop\r
159         sw              $0,     0($4)\r
160         addiu   $12, $12, -0x112\r
161         beq             $12, $0, .+12\r
162         nop\r
163         sw              $0,     0($4)\r
164         addiu   $13, $13, -0x113\r
165         beq             $13, $0, .+12\r
166         nop\r
167         sw              $0,     0($4)\r
168         addiu   $14, $14, -0x114\r
169         beq             $14, $0, .+12\r
170         nop\r
171         sw              $0,     0($4)\r
172         addiu   $15, $15, -0x115\r
173         beq             $15, $0, .+12\r
174         nop\r
175         sw              $0,     0($4)\r
176         addiu   $16, $16, -0x116\r
177         beq             $16, $0, .+12\r
178         nop\r
179         sw              $0,     0($4)\r
180         addiu   $17, $17, -0x117\r
181         beq             $17, $0, .+12\r
182         nop\r
183         sw              $0,     0($4)\r
184         addiu   $18, $18, -0x118\r
185         beq             $18, $0, .+12\r
186         nop\r
187         sw              $0,     0($4)\r
188         addiu   $19, $19, -0x119\r
189         beq             $19, $0, .+12\r
190         nop\r
191         sw              $0,     0($4)\r
192         addiu   $20, $20, -0x120\r
193         beq             $20, $0, .+12\r
194         nop\r
195         sw              $0,     0($4)\r
196         addiu   $21, $21, -0x121\r
197         beq             $21, $0, .+12\r
198         nop\r
199         sw              $0,     0($4)\r
200         addiu   $22, $22, -0x122\r
201         beq             $22, $0, .+12\r
202         nop\r
203         sw              $0,     0($4)\r
204         addiu   $23, $23, -0x123\r
205         beq             $23, $0, .+12\r
206         nop\r
207         sw              $0,     0($4)\r
208         addiu   $24, $24, -0x124\r
209         beq             $24, $0, .+12\r
210         nop\r
211         sw              $0,     0($4)\r
212         addiu   $25, $25, -0x125\r
213         beq             $25, $0, .+12\r
214         nop\r
215         sw              $0,     0($4)\r
216         addiu   $30, $30, -0x130\r
217         beq             $30, $0, .+12\r
218         nop\r
219         sw              $0,     0($4)\r
220         jr              $31\r
221         nop\r
222 \r
223         .end    vRegTest1\r
224 \r
225 \r
226         .set    noreorder\r
227         .set    noat\r
228         .ent    vRegTest2\r
229 \r
230 vRegTest2:\r
231 \r
232         addiu   $1, $0, 0x10\r
233         addiu   $2, $0, 0x20\r
234         addiu   $3, $0, 0x30\r
235         addiu   $5, $0, 0x50\r
236         addiu   $6, $0, 0x60\r
237         addiu   $7, $0, 0x70\r
238         addiu   $8, $0, 0x80\r
239         addiu   $9, $0, 0x90\r
240         addiu   $10, $0, 0x100\r
241         addiu   $11, $0, 0x110\r
242         addiu   $12, $0, 0x120\r
243         addiu   $13, $0, 0x130\r
244         addiu   $14, $0, 0x140\r
245         addiu   $15, $0, 0x150\r
246         addiu   $16, $0, 0x160\r
247         addiu   $17, $0, 0x170\r
248         addiu   $18, $0, 0x180\r
249         addiu   $19, $0, 0x190\r
250         addiu   $20, $0, 0x200\r
251         addiu   $21, $0, 0x210\r
252         addiu   $22, $0, 0x220\r
253         addiu   $23, $0, 0x230\r
254         addiu   $24, $0, 0x240\r
255         addiu   $25, $0, 0x250\r
256         addiu   $30, $0, 0x300\r
257 \r
258         addiu   $1, $1, -0x10\r
259         beq             $1, $0, .+12\r
260         nop\r
261         sw              $0,     0($4)\r
262         addiu   $2, $2, -0x20\r
263         beq             $2, $0, .+12\r
264         nop\r
265         sw              $0,     0($4)\r
266         addiu   $3, $3, -0x30\r
267         beq             $3, $0, .+12\r
268         nop\r
269         sw              $0,     0($4)\r
270         addiu   $5, $5, -0x50\r
271         beq             $5, $0, .+12\r
272         nop\r
273         sw              $0,     0($4)\r
274         addiu   $6, $6, -0x60\r
275         beq             $6, $0, .+12\r
276         nop\r
277         sw              $0,     0($4)\r
278         addiu   $7, $7, -0x70\r
279         beq             $7, $0, .+12\r
280         nop\r
281         sw              $0,     0($4)\r
282         addiu   $8, $8, -0x80\r
283         beq             $8, $0, .+12\r
284         nop\r
285         sw              $0,     0($4)\r
286         addiu   $9, $9, -0x90\r
287         beq             $9, $0, .+12\r
288         nop\r
289         sw              $0,     0($4)\r
290         addiu   $10, $10, -0x100\r
291         beq             $10, $0, .+12\r
292         nop\r
293         sw              $0,     0($4)\r
294         addiu   $11, $11, -0x110\r
295         beq             $11, $0, .+12\r
296         nop\r
297         sw              $0,     0($4)\r
298         addiu   $12, $12, -0x120\r
299         beq             $12, $0, .+12\r
300         nop\r
301         sw              $0,     0($4)\r
302         addiu   $13, $13, -0x130\r
303         beq             $13, $0, .+12\r
304         nop\r
305         sw              $0,     0($4)\r
306         addiu   $14, $14, -0x140\r
307         beq             $14, $0, .+12\r
308         nop\r
309         sw              $0,     0($4)\r
310         addiu   $15, $15, -0x150\r
311         beq             $15, $0, .+12\r
312         nop\r
313         sw              $0,     0($4)\r
314         addiu   $16, $16, -0x160\r
315         beq             $16, $0, .+12\r
316         nop\r
317         sw              $0,     0($4)\r
318         addiu   $17, $17, -0x170\r
319         beq             $17, $0, .+12\r
320         nop\r
321         sw              $0,     0($4)\r
322         addiu   $18, $18, -0x180\r
323         beq             $18, $0, .+12\r
324         nop\r
325         sw              $0,     0($4)\r
326         addiu   $19, $19, -0x190\r
327         beq             $19, $0, .+12\r
328         nop\r
329         sw              $0,     0($4)\r
330         addiu   $20, $20, -0x200\r
331         beq             $20, $0, .+12\r
332         nop\r
333         sw              $0,     0($4)\r
334         addiu   $21, $21, -0x210\r
335         beq             $21, $0, .+12\r
336         nop\r
337         sw              $0,     0($4)\r
338         addiu   $22, $22, -0x220\r
339         beq             $22, $0, .+12\r
340         nop\r
341         sw              $0,     0($4)\r
342         addiu   $23, $23, -0x230\r
343         beq             $23, $0, .+12\r
344         nop\r
345         sw              $0,     0($4)\r
346         addiu   $24, $24, -0x240\r
347         beq             $24, $0, .+12\r
348         nop\r
349         sw              $0,     0($4)\r
350         addiu   $25, $25, -0x250\r
351         beq             $25, $0, .+12\r
352         nop\r
353         sw              $0,     0($4)\r
354         addiu   $30, $30, -0x300\r
355         beq             $30, $0, .+12\r
356         nop\r
357         sw              $0,     0($4)\r
358         jr              $31\r
359         nop\r
360 \r
361         .end vRegTest2\r
362 \r