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