1 //*****************************************************************************
\r
3 // rom.h - Macros to facilitate calling functions in the ROM.
\r
5 // Copyright (c) 2007-2008 Luminary Micro, Inc. All rights reserved.
\r
7 // Software License Agreement
\r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and
\r
10 // exclusively on LMI's microcontroller products.
\r
12 // The software is owned by LMI and/or its suppliers, and is protected under
\r
13 // applicable copyright laws. All rights are reserved. You may not combine
\r
14 // this software with "viral" open-source software in order to form a larger
\r
15 // program. Any use in violation of the foregoing restrictions may subject
\r
16 // the user to criminal sanctions under applicable laws, as well as to civil
\r
17 // liability for the breach of the terms and conditions of this license.
\r
19 // THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
\r
20 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
\r
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
\r
22 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
\r
23 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
\r
25 // This is part of revision 2523 of the Stellaris Peripheral Driver Library.
\r
27 //*****************************************************************************
\r
32 //*****************************************************************************
\r
34 // Pointers to the main API tables.
\r
36 //*****************************************************************************
\r
37 #define ROM_APITABLE ((unsigned long *)0x01000010)
\r
38 #define ROM_VERSION (ROM_APITABLE[0])
\r
39 #define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[1]))
\r
40 #define ROM_SSITABLE ((unsigned long *)(ROM_APITABLE[2]))
\r
41 #define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[3]))
\r
42 #define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[4]))
\r
43 #define ROM_ADCTABLE ((unsigned long *)(ROM_APITABLE[5]))
\r
44 #define ROM_COMPARATORTABLE ((unsigned long *)(ROM_APITABLE[6]))
\r
45 #define ROM_FLASHTABLE ((unsigned long *)(ROM_APITABLE[7]))
\r
46 #define ROM_PWMTABLE ((unsigned long *)(ROM_APITABLE[8]))
\r
47 #define ROM_QEITABLE ((unsigned long *)(ROM_APITABLE[9]))
\r
48 #define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[10]))
\r
49 #define ROM_TIMERTABLE ((unsigned long *)(ROM_APITABLE[11]))
\r
50 #define ROM_WATCHDOGTABLE ((unsigned long *)(ROM_APITABLE[12]))
\r
51 #define ROM_SYSCTLTABLE ((unsigned long *)(ROM_APITABLE[13]))
\r
52 #define ROM_INTERRUPTTABLE ((unsigned long *)(ROM_APITABLE[14]))
\r
54 //*****************************************************************************
\r
56 // Macros for calling ROM functions in the ADC API.
\r
58 //*****************************************************************************
\r
59 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
60 #define ROM_ADCSequenceDataGet \
\r
61 ((long (*)(unsigned long ulBase, \
\r
62 unsigned long ulSequenceNum, \
\r
63 unsigned long *pulBuffer))ROM_ADCTABLE[0])
\r
65 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
66 #define ROM_ADCIntDisable \
\r
67 ((void (*)(unsigned long ulBase, \
\r
68 unsigned long ulSequenceNum))ROM_ADCTABLE[1])
\r
70 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
71 #define ROM_ADCIntEnable \
\r
72 ((void (*)(unsigned long ulBase, \
\r
73 unsigned long ulSequenceNum))ROM_ADCTABLE[2])
\r
75 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
76 #define ROM_ADCIntStatus \
\r
77 ((unsigned long (*)(unsigned long ulBase, \
\r
78 unsigned long ulSequenceNum, \
\r
79 tBoolean bMasked))ROM_ADCTABLE[3])
\r
81 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
82 #define ROM_ADCIntClear \
\r
83 ((void (*)(unsigned long ulBase, \
\r
84 unsigned long ulSequenceNum))ROM_ADCTABLE[4])
\r
86 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
87 #define ROM_ADCSequenceEnable \
\r
88 ((void (*)(unsigned long ulBase, \
\r
89 unsigned long ulSequenceNum))ROM_ADCTABLE[5])
\r
91 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
92 #define ROM_ADCSequenceDisable \
\r
93 ((void (*)(unsigned long ulBase, \
\r
94 unsigned long ulSequenceNum))ROM_ADCTABLE[6])
\r
96 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
97 #define ROM_ADCSequenceConfigure \
\r
98 ((void (*)(unsigned long ulBase, \
\r
99 unsigned long ulSequenceNum, \
\r
100 unsigned long ulTrigger, \
\r
101 unsigned long ulPriority))ROM_ADCTABLE[7])
\r
103 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
104 #define ROM_ADCSequenceStepConfigure \
\r
105 ((void (*)(unsigned long ulBase, \
\r
106 unsigned long ulSequenceNum, \
\r
107 unsigned long ulStep, \
\r
108 unsigned long ulConfig))ROM_ADCTABLE[8])
\r
110 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
111 #define ROM_ADCSequenceOverflow \
\r
112 ((long (*)(unsigned long ulBase, \
\r
113 unsigned long ulSequenceNum))ROM_ADCTABLE[9])
\r
115 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
116 #define ROM_ADCSequenceOverflowClear \
\r
117 ((void (*)(unsigned long ulBase, \
\r
118 unsigned long ulSequenceNum))ROM_ADCTABLE[10])
\r
120 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
121 #define ROM_ADCSequenceUnderflow \
\r
122 ((long (*)(unsigned long ulBase, \
\r
123 unsigned long ulSequenceNum))ROM_ADCTABLE[11])
\r
125 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
126 #define ROM_ADCSequenceUnderflowClear \
\r
127 ((void (*)(unsigned long ulBase, \
\r
128 unsigned long ulSequenceNum))ROM_ADCTABLE[12])
\r
130 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
131 #define ROM_ADCProcessorTrigger \
\r
132 ((void (*)(unsigned long ulBase, \
\r
133 unsigned long ulSequenceNum))ROM_ADCTABLE[13])
\r
135 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
136 #define ROM_ADCHardwareOversampleConfigure \
\r
137 ((void (*)(unsigned long ulBase, \
\r
138 unsigned long ulFactor))ROM_ADCTABLE[14])
\r
141 //*****************************************************************************
\r
143 // Macros for calling ROM functions in the Comparator API.
\r
145 //*****************************************************************************
\r
146 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
147 #define ROM_ComparatorIntClear \
\r
148 ((void (*)(unsigned long ulBase, \
\r
149 unsigned long ulComp))ROM_COMPARATORTABLE[0])
\r
151 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
152 #define ROM_ComparatorConfigure \
\r
153 ((void (*)(unsigned long ulBase, \
\r
154 unsigned long ulComp, \
\r
155 unsigned long ulConfig))ROM_COMPARATORTABLE[1])
\r
157 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
158 #define ROM_ComparatorRefSet \
\r
159 ((void (*)(unsigned long ulBase, \
\r
160 unsigned long ulRef))ROM_COMPARATORTABLE[2])
\r
162 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
163 #define ROM_ComparatorValueGet \
\r
164 ((tBoolean (*)(unsigned long ulBase, \
\r
165 unsigned long ulComp))ROM_COMPARATORTABLE[3])
\r
167 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
168 #define ROM_ComparatorIntEnable \
\r
169 ((void (*)(unsigned long ulBase, \
\r
170 unsigned long ulComp))ROM_COMPARATORTABLE[4])
\r
172 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
173 #define ROM_ComparatorIntDisable \
\r
174 ((void (*)(unsigned long ulBase, \
\r
175 unsigned long ulComp))ROM_COMPARATORTABLE[5])
\r
177 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
178 #define ROM_ComparatorIntStatus \
\r
179 ((tBoolean (*)(unsigned long ulBase, \
\r
180 unsigned long ulComp, \
\r
181 tBoolean bMasked))ROM_COMPARATORTABLE[6])
\r
184 //*****************************************************************************
\r
186 // Macros for calling ROM functions in the Flash API.
\r
188 //*****************************************************************************
\r
189 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
190 #define ROM_FlashProgram \
\r
191 ((long (*)(unsigned long *pulData, \
\r
192 unsigned long ulAddress, \
\r
193 unsigned long ulCount))ROM_FLASHTABLE[0])
\r
195 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
196 #define ROM_FlashUsecGet \
\r
197 ((unsigned long (*)(void))ROM_FLASHTABLE[1])
\r
199 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
200 #define ROM_FlashUsecSet \
\r
201 ((void (*)(unsigned long ulClocks))ROM_FLASHTABLE[2])
\r
203 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
204 #define ROM_FlashErase \
\r
205 ((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[3])
\r
207 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
208 #define ROM_FlashProtectGet \
\r
209 ((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[4])
\r
211 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
212 #define ROM_FlashProtectSet \
\r
213 ((long (*)(unsigned long ulAddress, \
\r
214 tFlashProtection eProtect))ROM_FLASHTABLE[5])
\r
216 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
217 #define ROM_FlashProtectSave \
\r
218 ((long (*)(void))ROM_FLASHTABLE[6])
\r
220 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
221 #define ROM_FlashUserGet \
\r
222 ((long (*)(unsigned long *pulUser0, \
\r
223 unsigned long *pulUser1))ROM_FLASHTABLE[7])
\r
225 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
226 #define ROM_FlashUserSet \
\r
227 ((long (*)(unsigned long ulUser0, \
\r
228 unsigned long ulUser1))ROM_FLASHTABLE[8])
\r
230 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
231 #define ROM_FlashUserSave \
\r
232 ((long (*)(void))ROM_FLASHTABLE[9])
\r
234 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
235 #define ROM_FlashIntEnable \
\r
236 ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10])
\r
238 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
239 #define ROM_FlashIntDisable \
\r
240 ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[11])
\r
242 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
243 #define ROM_FlashIntGetStatus \
\r
244 ((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[12])
\r
246 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
247 #define ROM_FlashIntClear \
\r
248 ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[13])
\r
251 //*****************************************************************************
\r
253 // Macros for calling ROM functions in the GPIO API.
\r
255 //*****************************************************************************
\r
256 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
257 #define ROM_GPIOPinWrite \
\r
258 ((void (*)(unsigned long ulPort, \
\r
259 unsigned char ucPins, \
\r
260 unsigned char ucVal))ROM_GPIOTABLE[0])
\r
262 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
263 #define ROM_GPIODirModeSet \
\r
264 ((void (*)(unsigned long ulPort, \
\r
265 unsigned char ucPins, \
\r
266 unsigned long ulPinIO))ROM_GPIOTABLE[1])
\r
268 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
269 #define ROM_GPIODirModeGet \
\r
270 ((unsigned long (*)(unsigned long ulPort, \
\r
271 unsigned char ucPin))ROM_GPIOTABLE[2])
\r
273 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
274 #define ROM_GPIOIntTypeSet \
\r
275 ((void (*)(unsigned long ulPort, \
\r
276 unsigned char ucPins, \
\r
277 unsigned long ulIntType))ROM_GPIOTABLE[3])
\r
279 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
280 #define ROM_GPIOIntTypeGet \
\r
281 ((unsigned long (*)(unsigned long ulPort, \
\r
282 unsigned char ucPin))ROM_GPIOTABLE[4])
\r
284 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
285 #define ROM_GPIOPadConfigSet \
\r
286 ((void (*)(unsigned long ulPort, \
\r
287 unsigned char ucPins, \
\r
288 unsigned long ulStrength, \
\r
289 unsigned long ulPadType))ROM_GPIOTABLE[5])
\r
291 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
292 #define ROM_GPIOPadConfigGet \
\r
293 ((void (*)(unsigned long ulPort, \
\r
294 unsigned char ucPin, \
\r
295 unsigned long *pulStrength, \
\r
296 unsigned long *pulPadType))ROM_GPIOTABLE[6])
\r
298 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
299 #define ROM_GPIOPinIntEnable \
\r
300 ((void (*)(unsigned long ulPort, \
\r
301 unsigned char ucPins))ROM_GPIOTABLE[7])
\r
303 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
304 #define ROM_GPIOPinIntDisable \
\r
305 ((void (*)(unsigned long ulPort, \
\r
306 unsigned char ucPins))ROM_GPIOTABLE[8])
\r
308 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
309 #define ROM_GPIOPinIntStatus \
\r
310 ((long (*)(unsigned long ulPort, \
\r
311 tBoolean bMasked))ROM_GPIOTABLE[9])
\r
313 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
314 #define ROM_GPIOPinIntClear \
\r
315 ((void (*)(unsigned long ulPort, \
\r
316 unsigned char ucPins))ROM_GPIOTABLE[10])
\r
318 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
319 #define ROM_GPIOPinRead \
\r
320 ((long (*)(unsigned long ulPort, \
\r
321 unsigned char ucPins))ROM_GPIOTABLE[11])
\r
323 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
324 #define ROM_GPIOPinTypeCAN \
\r
325 ((void (*)(unsigned long ulPort, \
\r
326 unsigned char ucPins))ROM_GPIOTABLE[12])
\r
328 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
329 #define ROM_GPIOPinTypeComparator \
\r
330 ((void (*)(unsigned long ulPort, \
\r
331 unsigned char ucPins))ROM_GPIOTABLE[13])
\r
333 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
334 #define ROM_GPIOPinTypeGPIOInput \
\r
335 ((void (*)(unsigned long ulPort, \
\r
336 unsigned char ucPins))ROM_GPIOTABLE[14])
\r
338 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
339 #define ROM_GPIOPinTypeGPIOOutput \
\r
340 ((void (*)(unsigned long ulPort, \
\r
341 unsigned char ucPins))ROM_GPIOTABLE[15])
\r
343 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
344 #define ROM_GPIOPinTypeI2C \
\r
345 ((void (*)(unsigned long ulPort, \
\r
346 unsigned char ucPins))ROM_GPIOTABLE[16])
\r
348 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
349 #define ROM_GPIOPinTypePWM \
\r
350 ((void (*)(unsigned long ulPort, \
\r
351 unsigned char ucPins))ROM_GPIOTABLE[17])
\r
353 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
354 #define ROM_GPIOPinTypeQEI \
\r
355 ((void (*)(unsigned long ulPort, \
\r
356 unsigned char ucPins))ROM_GPIOTABLE[18])
\r
358 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
359 #define ROM_GPIOPinTypeSSI \
\r
360 ((void (*)(unsigned long ulPort, \
\r
361 unsigned char ucPins))ROM_GPIOTABLE[19])
\r
363 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
364 #define ROM_GPIOPinTypeTimer \
\r
365 ((void (*)(unsigned long ulPort, \
\r
366 unsigned char ucPins))ROM_GPIOTABLE[20])
\r
368 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
369 #define ROM_GPIOPinTypeUART \
\r
370 ((void (*)(unsigned long ulPort, \
\r
371 unsigned char ucPins))ROM_GPIOTABLE[21])
\r
373 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
374 #define ROM_GPIOPinTypeGPIOOutputOD \
\r
375 ((void (*)(unsigned long ulPort, \
\r
376 unsigned char ucPins))ROM_GPIOTABLE[22])
\r
379 //*****************************************************************************
\r
381 // Macros for calling ROM functions in the I2C API.
\r
383 //*****************************************************************************
\r
384 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
385 #define ROM_I2CMasterDataPut \
\r
386 ((void (*)(unsigned long ulBase, \
\r
387 unsigned char ucData))ROM_I2CTABLE[0])
\r
389 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
390 #define ROM_I2CMasterInitExpClk \
\r
391 ((void (*)(unsigned long ulBase, \
\r
392 unsigned long ulI2CClk, \
\r
393 tBoolean bFast))ROM_I2CTABLE[1])
\r
395 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
396 #define ROM_I2CSlaveInit \
\r
397 ((void (*)(unsigned long ulBase, \
\r
398 unsigned char ucSlaveAddr))ROM_I2CTABLE[2])
\r
400 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
401 #define ROM_I2CMasterEnable \
\r
402 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[3])
\r
404 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
405 #define ROM_I2CSlaveEnable \
\r
406 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[4])
\r
408 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
409 #define ROM_I2CMasterDisable \
\r
410 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[5])
\r
412 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
413 #define ROM_I2CSlaveDisable \
\r
414 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[6])
\r
416 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
417 #define ROM_I2CMasterIntEnable \
\r
418 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[7])
\r
420 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
421 #define ROM_I2CSlaveIntEnable \
\r
422 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[8])
\r
424 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
425 #define ROM_I2CMasterIntDisable \
\r
426 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[9])
\r
428 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
429 #define ROM_I2CSlaveIntDisable \
\r
430 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[10])
\r
432 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
433 #define ROM_I2CMasterIntStatus \
\r
434 ((tBoolean (*)(unsigned long ulBase, \
\r
435 tBoolean bMasked))ROM_I2CTABLE[11])
\r
437 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
438 #define ROM_I2CSlaveIntStatus \
\r
439 ((tBoolean (*)(unsigned long ulBase, \
\r
440 tBoolean bMasked))ROM_I2CTABLE[12])
\r
442 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
443 #define ROM_I2CMasterIntClear \
\r
444 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[13])
\r
446 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
447 #define ROM_I2CSlaveIntClear \
\r
448 ((void (*)(unsigned long ulBase))ROM_I2CTABLE[14])
\r
450 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
451 #define ROM_I2CMasterSlaveAddrSet \
\r
452 ((void (*)(unsigned long ulBase, \
\r
453 unsigned char ucSlaveAddr, \
\r
454 tBoolean bReceive))ROM_I2CTABLE[15])
\r
456 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
457 #define ROM_I2CMasterBusy \
\r
458 ((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[16])
\r
460 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
461 #define ROM_I2CMasterBusBusy \
\r
462 ((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[17])
\r
464 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
465 #define ROM_I2CMasterControl \
\r
466 ((void (*)(unsigned long ulBase, \
\r
467 unsigned long ulCmd))ROM_I2CTABLE[18])
\r
469 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
470 #define ROM_I2CMasterErr \
\r
471 ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[19])
\r
473 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
474 #define ROM_I2CMasterDataGet \
\r
475 ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[20])
\r
477 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
478 #define ROM_I2CSlaveStatus \
\r
479 ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[21])
\r
481 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
482 #define ROM_I2CSlaveDataPut \
\r
483 ((void (*)(unsigned long ulBase, \
\r
484 unsigned char ucData))ROM_I2CTABLE[22])
\r
486 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
487 #define ROM_I2CSlaveDataGet \
\r
488 ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[23])
\r
490 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
491 #define ROM_UpdateI2C \
\r
492 ((void (*)(void))ROM_I2CTABLE[24])
\r
495 //*****************************************************************************
\r
497 // Macros for calling ROM functions in the Interrupt API.
\r
499 //*****************************************************************************
\r
500 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
501 #define ROM_IntEnable \
\r
502 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0])
\r
504 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
505 #define ROM_IntDisable \
\r
506 ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3])
\r
508 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
509 #define ROM_IntPriorityGroupingSet \
\r
510 ((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4])
\r
512 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
513 #define ROM_IntPriorityGroupingGet \
\r
514 ((unsigned long (*)(void))ROM_INTERRUPTTABLE[5])
\r
516 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
517 #define ROM_IntPrioritySet \
\r
518 ((void (*)(unsigned long ulInterrupt, \
\r
519 unsigned char ucPriority))ROM_INTERRUPTTABLE[6])
\r
521 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
522 #define ROM_IntPriorityGet \
\r
523 ((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7])
\r
526 //*****************************************************************************
\r
528 // Macros for calling ROM functions in the PWM API.
\r
530 //*****************************************************************************
\r
531 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
532 #define ROM_PWMPulseWidthSet \
\r
533 ((void (*)(unsigned long ulBase, \
\r
534 unsigned long ulPWMOut, \
\r
535 unsigned long ulWidth))ROM_PWMTABLE[0])
\r
537 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
538 #define ROM_PWMGenConfigure \
\r
539 ((void (*)(unsigned long ulBase, \
\r
540 unsigned long ulGen, \
\r
541 unsigned long ulConfig))ROM_PWMTABLE[1])
\r
543 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
544 #define ROM_PWMGenPeriodSet \
\r
545 ((void (*)(unsigned long ulBase, \
\r
546 unsigned long ulGen, \
\r
547 unsigned long ulPeriod))ROM_PWMTABLE[2])
\r
549 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
550 #define ROM_PWMGenPeriodGet \
\r
551 ((unsigned long (*)(unsigned long ulBase, \
\r
552 unsigned long ulGen))ROM_PWMTABLE[3])
\r
554 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
555 #define ROM_PWMGenEnable \
\r
556 ((void (*)(unsigned long ulBase, \
\r
557 unsigned long ulGen))ROM_PWMTABLE[4])
\r
559 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
560 #define ROM_PWMGenDisable \
\r
561 ((void (*)(unsigned long ulBase, \
\r
562 unsigned long ulGen))ROM_PWMTABLE[5])
\r
564 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
565 #define ROM_PWMPulseWidthGet \
\r
566 ((unsigned long (*)(unsigned long ulBase, \
\r
567 unsigned long ulPWMOut))ROM_PWMTABLE[6])
\r
569 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
570 #define ROM_PWMDeadBandEnable \
\r
571 ((void (*)(unsigned long ulBase, \
\r
572 unsigned long ulGen, \
\r
573 unsigned short usRise, \
\r
574 unsigned short usFall))ROM_PWMTABLE[7])
\r
576 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
577 #define ROM_PWMDeadBandDisable \
\r
578 ((void (*)(unsigned long ulBase, \
\r
579 unsigned long ulGen))ROM_PWMTABLE[8])
\r
581 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
582 #define ROM_PWMSyncUpdate \
\r
583 ((void (*)(unsigned long ulBase, \
\r
584 unsigned long ulGenBits))ROM_PWMTABLE[9])
\r
586 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
587 #define ROM_PWMSyncTimeBase \
\r
588 ((void (*)(unsigned long ulBase, \
\r
589 unsigned long ulGenBits))ROM_PWMTABLE[10])
\r
591 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
592 #define ROM_PWMOutputState \
\r
593 ((void (*)(unsigned long ulBase, \
\r
594 unsigned long ulPWMOutBits, \
\r
595 tBoolean bEnable))ROM_PWMTABLE[11])
\r
597 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
598 #define ROM_PWMOutputInvert \
\r
599 ((void (*)(unsigned long ulBase, \
\r
600 unsigned long ulPWMOutBits, \
\r
601 tBoolean bInvert))ROM_PWMTABLE[12])
\r
603 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
604 #define ROM_PWMOutputFault \
\r
605 ((void (*)(unsigned long ulBase, \
\r
606 unsigned long ulPWMOutBits, \
\r
607 tBoolean bFaultSuppress))ROM_PWMTABLE[13])
\r
609 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
610 #define ROM_PWMGenIntTrigEnable \
\r
611 ((void (*)(unsigned long ulBase, \
\r
612 unsigned long ulGen, \
\r
613 unsigned long ulIntTrig))ROM_PWMTABLE[14])
\r
615 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
616 #define ROM_PWMGenIntTrigDisable \
\r
617 ((void (*)(unsigned long ulBase, \
\r
618 unsigned long ulGen, \
\r
619 unsigned long ulIntTrig))ROM_PWMTABLE[15])
\r
621 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
622 #define ROM_PWMGenIntStatus \
\r
623 ((unsigned long (*)(unsigned long ulBase, \
\r
624 unsigned long ulGen, \
\r
625 tBoolean bMasked))ROM_PWMTABLE[16])
\r
627 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
628 #define ROM_PWMGenIntClear \
\r
629 ((void (*)(unsigned long ulBase, \
\r
630 unsigned long ulGen, \
\r
631 unsigned long ulInts))ROM_PWMTABLE[17])
\r
633 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
634 #define ROM_PWMIntEnable \
\r
635 ((void (*)(unsigned long ulBase, \
\r
636 unsigned long ulGenFault))ROM_PWMTABLE[18])
\r
638 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
639 #define ROM_PWMIntDisable \
\r
640 ((void (*)(unsigned long ulBase, \
\r
641 unsigned long ulGenFault))ROM_PWMTABLE[19])
\r
643 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
644 #define ROM_PWMFaultIntClear \
\r
645 ((void (*)(unsigned long ulBase))ROM_PWMTABLE[20])
\r
647 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
648 #define ROM_PWMIntStatus \
\r
649 ((unsigned long (*)(unsigned long ulBase, \
\r
650 tBoolean bMasked))ROM_PWMTABLE[21])
\r
653 //*****************************************************************************
\r
655 // Macros for calling ROM functions in the QEI API.
\r
657 //*****************************************************************************
\r
658 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
659 #define ROM_QEIPositionGet \
\r
660 ((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[0])
\r
662 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
663 #define ROM_QEIEnable \
\r
664 ((void (*)(unsigned long ulBase))ROM_QEITABLE[1])
\r
666 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
667 #define ROM_QEIDisable \
\r
668 ((void (*)(unsigned long ulBase))ROM_QEITABLE[2])
\r
670 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
671 #define ROM_QEIConfigure \
\r
672 ((void (*)(unsigned long ulBase, \
\r
673 unsigned long ulConfig, \
\r
674 unsigned long ulMaxPosition))ROM_QEITABLE[3])
\r
676 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
677 #define ROM_QEIPositionSet \
\r
678 ((void (*)(unsigned long ulBase, \
\r
679 unsigned long ulPosition))ROM_QEITABLE[4])
\r
681 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
682 #define ROM_QEIDirectionGet \
\r
683 ((long (*)(unsigned long ulBase))ROM_QEITABLE[5])
\r
685 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
686 #define ROM_QEIErrorGet \
\r
687 ((tBoolean (*)(unsigned long ulBase))ROM_QEITABLE[6])
\r
689 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
690 #define ROM_QEIVelocityEnable \
\r
691 ((void (*)(unsigned long ulBase))ROM_QEITABLE[7])
\r
693 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
694 #define ROM_QEIVelocityDisable \
\r
695 ((void (*)(unsigned long ulBase))ROM_QEITABLE[8])
\r
697 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
698 #define ROM_QEIVelocityConfigure \
\r
699 ((void (*)(unsigned long ulBase, \
\r
700 unsigned long ulPreDiv, \
\r
701 unsigned long ulPeriod))ROM_QEITABLE[9])
\r
703 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
704 #define ROM_QEIVelocityGet \
\r
705 ((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[10])
\r
707 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
708 #define ROM_QEIIntEnable \
\r
709 ((void (*)(unsigned long ulBase, \
\r
710 unsigned long ulIntFlags))ROM_QEITABLE[11])
\r
712 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
713 #define ROM_QEIIntDisable \
\r
714 ((void (*)(unsigned long ulBase, \
\r
715 unsigned long ulIntFlags))ROM_QEITABLE[12])
\r
717 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
718 #define ROM_QEIIntStatus \
\r
719 ((unsigned long (*)(unsigned long ulBase, \
\r
720 tBoolean bMasked))ROM_QEITABLE[13])
\r
722 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
723 #define ROM_QEIIntClear \
\r
724 ((void (*)(unsigned long ulBase, \
\r
725 unsigned long ulIntFlags))ROM_QEITABLE[14])
\r
728 //*****************************************************************************
\r
730 // Macros for calling ROM functions in the SSI API.
\r
732 //*****************************************************************************
\r
733 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
734 #define ROM_SSIDataPut \
\r
735 ((void (*)(unsigned long ulBase, \
\r
736 unsigned long ulData))ROM_SSITABLE[0])
\r
738 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
739 #define ROM_SSIConfigSetExpClk \
\r
740 ((void (*)(unsigned long ulBase, \
\r
741 unsigned long ulSSIClk, \
\r
742 unsigned long ulProtocol, \
\r
743 unsigned long ulMode, \
\r
744 unsigned long ulBitRate, \
\r
745 unsigned long ulDataWidth))ROM_SSITABLE[1])
\r
747 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
748 #define ROM_SSIEnable \
\r
749 ((void (*)(unsigned long ulBase))ROM_SSITABLE[2])
\r
751 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
752 #define ROM_SSIDisable \
\r
753 ((void (*)(unsigned long ulBase))ROM_SSITABLE[3])
\r
755 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
756 #define ROM_SSIIntEnable \
\r
757 ((void (*)(unsigned long ulBase, \
\r
758 unsigned long ulIntFlags))ROM_SSITABLE[4])
\r
760 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
761 #define ROM_SSIIntDisable \
\r
762 ((void (*)(unsigned long ulBase, \
\r
763 unsigned long ulIntFlags))ROM_SSITABLE[5])
\r
765 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
766 #define ROM_SSIIntStatus \
\r
767 ((unsigned long (*)(unsigned long ulBase, \
\r
768 tBoolean bMasked))ROM_SSITABLE[6])
\r
770 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
771 #define ROM_SSIIntClear \
\r
772 ((void (*)(unsigned long ulBase, \
\r
773 unsigned long ulIntFlags))ROM_SSITABLE[7])
\r
775 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
776 #define ROM_SSIDataPutNonBlocking \
\r
777 ((long (*)(unsigned long ulBase, \
\r
778 unsigned long ulData))ROM_SSITABLE[8])
\r
780 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
781 #define ROM_SSIDataGet \
\r
782 ((void (*)(unsigned long ulBase, \
\r
783 unsigned long *pulData))ROM_SSITABLE[9])
\r
785 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
786 #define ROM_SSIDataGetNonBlocking \
\r
787 ((long (*)(unsigned long ulBase, \
\r
788 unsigned long *pulData))ROM_SSITABLE[10])
\r
790 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
791 #define ROM_UpdateSSI \
\r
792 ((void (*)(void))ROM_SSITABLE[11])
\r
795 //*****************************************************************************
\r
797 // Macros for calling ROM functions in the SysCtl API.
\r
799 //*****************************************************************************
\r
800 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
801 #define ROM_SysCtlSleep \
\r
802 ((void (*)(void))ROM_SYSCTLTABLE[0])
\r
804 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
805 #define ROM_SysCtlSRAMSizeGet \
\r
806 ((unsigned long (*)(void))ROM_SYSCTLTABLE[1])
\r
808 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
809 #define ROM_SysCtlFlashSizeGet \
\r
810 ((unsigned long (*)(void))ROM_SYSCTLTABLE[2])
\r
812 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
813 #define ROM_SysCtlPinPresent \
\r
814 ((tBoolean (*)(unsigned long ulPin))ROM_SYSCTLTABLE[3])
\r
816 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
817 #define ROM_SysCtlPeripheralPresent \
\r
818 ((tBoolean (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[4])
\r
820 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
821 #define ROM_SysCtlPeripheralReset \
\r
822 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[5])
\r
824 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
825 #define ROM_SysCtlPeripheralEnable \
\r
826 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[6])
\r
828 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
829 #define ROM_SysCtlPeripheralDisable \
\r
830 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[7])
\r
832 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
833 #define ROM_SysCtlPeripheralSleepEnable \
\r
834 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[8])
\r
836 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
837 #define ROM_SysCtlPeripheralSleepDisable \
\r
838 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[9])
\r
840 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
841 #define ROM_SysCtlPeripheralDeepSleepEnable \
\r
842 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[10])
\r
844 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
845 #define ROM_SysCtlPeripheralDeepSleepDisable \
\r
846 ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[11])
\r
848 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
849 #define ROM_SysCtlPeripheralClockGating \
\r
850 ((void (*)(tBoolean bEnable))ROM_SYSCTLTABLE[12])
\r
852 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
853 #define ROM_SysCtlIntEnable \
\r
854 ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[13])
\r
856 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
857 #define ROM_SysCtlIntDisable \
\r
858 ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[14])
\r
860 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
861 #define ROM_SysCtlIntClear \
\r
862 ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[15])
\r
864 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
865 #define ROM_SysCtlIntStatus \
\r
866 ((unsigned long (*)(tBoolean bMasked))ROM_SYSCTLTABLE[16])
\r
868 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
869 #define ROM_SysCtlLDOSet \
\r
870 ((void (*)(unsigned long ulVoltage))ROM_SYSCTLTABLE[17])
\r
872 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
873 #define ROM_SysCtlLDOGet \
\r
874 ((unsigned long (*)(void))ROM_SYSCTLTABLE[18])
\r
876 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
877 #define ROM_SysCtlReset \
\r
878 ((void (*)(void))ROM_SYSCTLTABLE[19])
\r
880 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
881 #define ROM_SysCtlDeepSleep \
\r
882 ((void (*)(void))ROM_SYSCTLTABLE[20])
\r
884 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
885 #define ROM_SysCtlResetCauseGet \
\r
886 ((unsigned long (*)(void))ROM_SYSCTLTABLE[21])
\r
888 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
889 #define ROM_SysCtlResetCauseClear \
\r
890 ((void (*)(unsigned long ulCauses))ROM_SYSCTLTABLE[22])
\r
892 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
893 #define ROM_SysCtlClockSet \
\r
894 ((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[23])
\r
896 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
897 #define ROM_SysCtlClockGet \
\r
898 ((unsigned long (*)(void))ROM_SYSCTLTABLE[24])
\r
900 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
901 #define ROM_SysCtlPWMClockSet \
\r
902 ((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[25])
\r
904 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
905 #define ROM_SysCtlPWMClockGet \
\r
906 ((unsigned long (*)(void))ROM_SYSCTLTABLE[26])
\r
908 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
909 #define ROM_SysCtlADCSpeedSet \
\r
910 ((void (*)(unsigned long ulSpeed))ROM_SYSCTLTABLE[27])
\r
912 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
913 #define ROM_SysCtlADCSpeedGet \
\r
914 ((unsigned long (*)(void))ROM_SYSCTLTABLE[28])
\r
916 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
917 #define ROM_SysCtlGPIOAHBEnable \
\r
918 ((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[29])
\r
920 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
921 #define ROM_SysCtlGPIOAHBDisable \
\r
922 ((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[30])
\r
925 //*****************************************************************************
\r
927 // Macros for calling ROM functions in the SysTick API.
\r
929 //*****************************************************************************
\r
930 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
931 #define ROM_SysTickValueGet \
\r
932 ((unsigned long (*)(void))ROM_SYSTICKTABLE[0])
\r
934 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
935 #define ROM_SysTickEnable \
\r
936 ((void (*)(void))ROM_SYSTICKTABLE[1])
\r
938 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
939 #define ROM_SysTickDisable \
\r
940 ((void (*)(void))ROM_SYSTICKTABLE[2])
\r
942 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
943 #define ROM_SysTickIntEnable \
\r
944 ((void (*)(void))ROM_SYSTICKTABLE[3])
\r
946 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
947 #define ROM_SysTickIntDisable \
\r
948 ((void (*)(void))ROM_SYSTICKTABLE[4])
\r
950 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
951 #define ROM_SysTickPeriodSet \
\r
952 ((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[5])
\r
954 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
955 #define ROM_SysTickPeriodGet \
\r
956 ((unsigned long (*)(void))ROM_SYSTICKTABLE[6])
\r
959 //*****************************************************************************
\r
961 // Macros for calling ROM functions in the Timer API.
\r
963 //*****************************************************************************
\r
964 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
965 #define ROM_TimerIntClear \
\r
966 ((void (*)(unsigned long ulBase, \
\r
967 unsigned long ulIntFlags))ROM_TIMERTABLE[0])
\r
969 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
970 #define ROM_TimerEnable \
\r
971 ((void (*)(unsigned long ulBase, \
\r
972 unsigned long ulTimer))ROM_TIMERTABLE[1])
\r
974 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
975 #define ROM_TimerDisable \
\r
976 ((void (*)(unsigned long ulBase, \
\r
977 unsigned long ulTimer))ROM_TIMERTABLE[2])
\r
979 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
980 #define ROM_TimerConfigure \
\r
981 ((void (*)(unsigned long ulBase, \
\r
982 unsigned long ulConfig))ROM_TIMERTABLE[3])
\r
984 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
985 #define ROM_TimerControlLevel \
\r
986 ((void (*)(unsigned long ulBase, \
\r
987 unsigned long ulTimer, \
\r
988 tBoolean bInvert))ROM_TIMERTABLE[4])
\r
990 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
991 #define ROM_TimerControlTrigger \
\r
992 ((void (*)(unsigned long ulBase, \
\r
993 unsigned long ulTimer, \
\r
994 tBoolean bEnable))ROM_TIMERTABLE[5])
\r
996 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
997 #define ROM_TimerControlEvent \
\r
998 ((void (*)(unsigned long ulBase, \
\r
999 unsigned long ulTimer, \
\r
1000 unsigned long ulEvent))ROM_TIMERTABLE[6])
\r
1002 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1003 #define ROM_TimerControlStall \
\r
1004 ((void (*)(unsigned long ulBase, \
\r
1005 unsigned long ulTimer, \
\r
1006 tBoolean bStall))ROM_TIMERTABLE[7])
\r
1008 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1009 #define ROM_TimerRTCEnable \
\r
1010 ((void (*)(unsigned long ulBase))ROM_TIMERTABLE[8])
\r
1012 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1013 #define ROM_TimerRTCDisable \
\r
1014 ((void (*)(unsigned long ulBase))ROM_TIMERTABLE[9])
\r
1016 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1017 #define ROM_TimerPrescaleSet \
\r
1018 ((void (*)(unsigned long ulBase, \
\r
1019 unsigned long ulTimer, \
\r
1020 unsigned long ulValue))ROM_TIMERTABLE[10])
\r
1022 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1023 #define ROM_TimerPrescaleGet \
\r
1024 ((unsigned long (*)(unsigned long ulBase, \
\r
1025 unsigned long ulTimer))ROM_TIMERTABLE[11])
\r
1027 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1028 #define ROM_TimerLoadSet \
\r
1029 ((void (*)(unsigned long ulBase, \
\r
1030 unsigned long ulTimer, \
\r
1031 unsigned long ulValue))ROM_TIMERTABLE[14])
\r
1033 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1034 #define ROM_TimerLoadGet \
\r
1035 ((unsigned long (*)(unsigned long ulBase, \
\r
1036 unsigned long ulTimer))ROM_TIMERTABLE[15])
\r
1038 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1039 #define ROM_TimerValueGet \
\r
1040 ((unsigned long (*)(unsigned long ulBase, \
\r
1041 unsigned long ulTimer))ROM_TIMERTABLE[16])
\r
1043 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1044 #define ROM_TimerMatchSet \
\r
1045 ((void (*)(unsigned long ulBase, \
\r
1046 unsigned long ulTimer, \
\r
1047 unsigned long ulValue))ROM_TIMERTABLE[17])
\r
1049 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1050 #define ROM_TimerMatchGet \
\r
1051 ((unsigned long (*)(unsigned long ulBase, \
\r
1052 unsigned long ulTimer))ROM_TIMERTABLE[18])
\r
1054 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1055 #define ROM_TimerIntEnable \
\r
1056 ((void (*)(unsigned long ulBase, \
\r
1057 unsigned long ulIntFlags))ROM_TIMERTABLE[19])
\r
1059 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1060 #define ROM_TimerIntDisable \
\r
1061 ((void (*)(unsigned long ulBase, \
\r
1062 unsigned long ulIntFlags))ROM_TIMERTABLE[20])
\r
1064 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1065 #define ROM_TimerIntStatus \
\r
1066 ((unsigned long (*)(unsigned long ulBase, \
\r
1067 tBoolean bMasked))ROM_TIMERTABLE[21])
\r
1070 //*****************************************************************************
\r
1072 // Macros for calling ROM functions in the UART API.
\r
1074 //*****************************************************************************
\r
1075 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1076 #define ROM_UARTCharPut \
\r
1077 ((void (*)(unsigned long ulBase, \
\r
1078 unsigned char ucData))ROM_UARTTABLE[0])
\r
1080 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1081 #define ROM_UARTParityModeSet \
\r
1082 ((void (*)(unsigned long ulBase, \
\r
1083 unsigned long ulParity))ROM_UARTTABLE[1])
\r
1085 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1086 #define ROM_UARTParityModeGet \
\r
1087 ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[2])
\r
1089 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1090 #define ROM_UARTFIFOLevelSet \
\r
1091 ((void (*)(unsigned long ulBase, \
\r
1092 unsigned long ulTxLevel, \
\r
1093 unsigned long ulRxLevel))ROM_UARTTABLE[3])
\r
1095 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1096 #define ROM_UARTFIFOLevelGet \
\r
1097 ((void (*)(unsigned long ulBase, \
\r
1098 unsigned long *pulTxLevel, \
\r
1099 unsigned long *pulRxLevel))ROM_UARTTABLE[4])
\r
1101 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1102 #define ROM_UARTConfigSetExpClk \
\r
1103 ((void (*)(unsigned long ulBase, \
\r
1104 unsigned long ulUARTClk, \
\r
1105 unsigned long ulBaud, \
\r
1106 unsigned long ulConfig))ROM_UARTTABLE[5])
\r
1108 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1109 #define ROM_UARTConfigGetExpClk \
\r
1110 ((void (*)(unsigned long ulBase, \
\r
1111 unsigned long ulUARTClk, \
\r
1112 unsigned long *pulBaud, \
\r
1113 unsigned long *pulConfig))ROM_UARTTABLE[6])
\r
1115 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1116 #define ROM_UARTEnable \
\r
1117 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[7])
\r
1119 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1120 #define ROM_UARTDisable \
\r
1121 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[8])
\r
1123 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1124 #define ROM_UARTEnableSIR \
\r
1125 ((void (*)(unsigned long ulBase, \
\r
1126 tBoolean bLowPower))ROM_UARTTABLE[9])
\r
1128 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1129 #define ROM_UARTDisableSIR \
\r
1130 ((void (*)(unsigned long ulBase))ROM_UARTTABLE[10])
\r
1132 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1133 #define ROM_UARTCharsAvail \
\r
1134 ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11])
\r
1136 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1137 #define ROM_UARTSpaceAvail \
\r
1138 ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[12])
\r
1140 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1141 #define ROM_UARTCharGetNonBlocking \
\r
1142 ((long (*)(unsigned long ulBase))ROM_UARTTABLE[13])
\r
1144 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1145 #define ROM_UARTCharGet \
\r
1146 ((long (*)(unsigned long ulBase))ROM_UARTTABLE[14])
\r
1148 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1149 #define ROM_UARTCharPutNonBlocking \
\r
1150 ((tBoolean (*)(unsigned long ulBase, \
\r
1151 unsigned char ucData))ROM_UARTTABLE[15])
\r
1153 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1154 #define ROM_UARTBreakCtl \
\r
1155 ((void (*)(unsigned long ulBase, \
\r
1156 tBoolean bBreakState))ROM_UARTTABLE[16])
\r
1158 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1159 #define ROM_UARTIntEnable \
\r
1160 ((void (*)(unsigned long ulBase, \
\r
1161 unsigned long ulIntFlags))ROM_UARTTABLE[17])
\r
1163 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1164 #define ROM_UARTIntDisable \
\r
1165 ((void (*)(unsigned long ulBase, \
\r
1166 unsigned long ulIntFlags))ROM_UARTTABLE[18])
\r
1168 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1169 #define ROM_UARTIntStatus \
\r
1170 ((unsigned long (*)(unsigned long ulBase, \
\r
1171 tBoolean bMasked))ROM_UARTTABLE[19])
\r
1173 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1174 #define ROM_UARTIntClear \
\r
1175 ((void (*)(unsigned long ulBase, \
\r
1176 unsigned long ulIntFlags))ROM_UARTTABLE[20])
\r
1178 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1179 #define ROM_UpdateUART \
\r
1180 ((void (*)(void))ROM_UARTTABLE[21])
\r
1183 //*****************************************************************************
\r
1185 // Macros for calling ROM functions in the Watchdog API.
\r
1187 //*****************************************************************************
\r
1188 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1189 #define ROM_WatchdogIntClear \
\r
1190 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0])
\r
1192 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1193 #define ROM_WatchdogRunning \
\r
1194 ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1])
\r
1196 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1197 #define ROM_WatchdogEnable \
\r
1198 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2])
\r
1200 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1201 #define ROM_WatchdogResetEnable \
\r
1202 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3])
\r
1204 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1205 #define ROM_WatchdogResetDisable \
\r
1206 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4])
\r
1208 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1209 #define ROM_WatchdogLock \
\r
1210 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5])
\r
1212 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1213 #define ROM_WatchdogUnlock \
\r
1214 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[6])
\r
1216 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1217 #define ROM_WatchdogLockState \
\r
1218 ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7])
\r
1220 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1221 #define ROM_WatchdogReloadSet \
\r
1222 ((void (*)(unsigned long ulBase, \
\r
1223 unsigned long ulLoadVal))ROM_WATCHDOGTABLE[8])
\r
1225 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1226 #define ROM_WatchdogReloadGet \
\r
1227 ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[9])
\r
1229 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1230 #define ROM_WatchdogValueGet \
\r
1231 ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[10])
\r
1233 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1234 #define ROM_WatchdogIntEnable \
\r
1235 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11])
\r
1237 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1238 #define ROM_WatchdogIntStatus \
\r
1239 ((unsigned long (*)(unsigned long ulBase, \
\r
1240 tBoolean bMasked))ROM_WATCHDOGTABLE[12])
\r
1242 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1243 #define ROM_WatchdogStallEnable \
\r
1244 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[13])
\r
1246 #if defined(TARGET_IS_DUSTDEVIL_RA0)
\r
1247 #define ROM_WatchdogStallDisable \
\r
1248 ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14])
\r
1251 #endif // __ROM_H__
\r