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