sam3x8e.pp 77 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128
  1. unit sam3x8e;
  2. // ---------------------------------------------------------------------------- //
  3. // Atmel Microcontroller Software Support //
  4. // SAM Software Package License //
  5. // ---------------------------------------------------------------------------- //
  6. // Copyright (c) %copyright_year%, Atmel Corporation //
  7. // //
  8. // All rights reserved. //
  9. // //
  10. // Redistribution and use in source and binary forms, with or without //
  11. // modification, are permitted provided that the following condition is met: //
  12. // //
  13. // - Redistributions of source code must retain the above copyright notice, //
  14. // this list of conditions and the disclaimer below. //
  15. // //
  16. // Atmel's name may not be used to endorse or promote products derived from //
  17. // this software without specific prior written permission. //
  18. // //
  19. // DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR //
  20. // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF //
  21. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE //
  22. // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, //
  23. // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT //
  24. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, //
  25. // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF //
  26. // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING //
  27. // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, //
  28. // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //
  29. // ---------------------------------------------------------------------------- //
  30. interface
  31. {$inline on}
  32. {$goto on}
  33. {$modeswitch advancedrecords}
  34. {$PACKRECORDS 2}
  35. type
  36. TIRQn_Enum = (
  37. NonMaskableInt_IRQn = -14, // *< 2 Non Maskable Interrupt
  38. HardFault_IRQn = -13,
  39. MemoryManagement_IRQn = -12, // *< 4 Cortex-M3 Memory Management Interrupt
  40. BusFault_IRQn = -11, // *< 5 Cortex-M3 Bus Fault Interrupt
  41. UsageFault_IRQn = -10, // *< 6 Cortex-M3 Usage Fault Interrupt
  42. SVCall_IRQn = -5, // *< 11 Cortex-M3 SV Call Interrupt
  43. DebugMonitor_IRQn = -4, // *< 12 Cortex-M3 Debug Monitor Interrupt
  44. PendSV_IRQn = -2, // *< 14 Cortex-M3 Pend SV Interrupt
  45. SysTick_IRQn = -1, // *< 15 Cortex-M3 System Tick Interrupt
  46. SUPC_IRQn = 0, // *< 0 SAM3X8E Supply Controller (SUPC)
  47. RSTC_IRQn = 1, // *< 1 SAM3X8E Reset Controller (RSTC)
  48. RTC_IRQn = 2, // *< 2 SAM3X8E Real Time Clock (RTC)
  49. RTT_IRQn = 3, // *< 3 SAM3X8E Real Time Timer (RTT)
  50. WDT_IRQn = 4, // *< 4 SAM3X8E Watchdog Timer (WDT)
  51. PMC_IRQn = 5, // *< 5 SAM3X8E Power Management Controller (PMC)
  52. EFC0_IRQn = 6, // *< 6 SAM3X8E Enhanced Flash Controller 0 (EFC0)
  53. EFC1_IRQn = 7, // *< 7 SAM3X8E Enhanced Flash Controller 1 (EFC1)
  54. UART_IRQn = 8, // *< 8 SAM3X8E Universal Asynchronous Receiver Transceiver (UART)
  55. SMC_IRQn = 9, // *< 9 SAM3X8E Static Memory Controller (SMC)
  56. PIOA_IRQn = 11, // *< 11 SAM3X8E Parallel I/O Controller A, (PIOA)
  57. PIOB_IRQn = 12, // *< 12 SAM3X8E Parallel I/O Controller B (PIOB)
  58. PIOC_IRQn = 13, // *< 13 SAM3X8E Parallel I/O Controller C (PIOC)
  59. PIOD_IRQn = 14, // *< 14 SAM3X8E Parallel I/O Controller D (PIOD)
  60. USART0_IRQn = 17, // *< 17 SAM3X8E USART 0 (USART0)
  61. USART1_IRQn = 18, // *< 18 SAM3X8E USART 1 (USART1)
  62. USART2_IRQn = 19, // *< 19 SAM3X8E USART 2 (USART2)
  63. USART3_IRQn = 20, // *< 20 SAM3X8E USART 3 (USART3)
  64. HSMCI_IRQn = 21, // *< 21 SAM3X8E Multimedia Card Interface (HSMCI)
  65. TWI0_IRQn = 22, // *< 22 SAM3X8E Two-Wire Interface 0 (TWI0)
  66. TWI1_IRQn = 23, // *< 23 SAM3X8E Two-Wire Interface 1 (TWI1)
  67. SPI0_IRQn = 24, // *< 24 SAM3X8E Serial Peripheral Interface (SPI0)
  68. SSC_IRQn = 26, // *< 26 SAM3X8E Synchronous Serial Controller (SSC)
  69. TC0_IRQn = 27, // *< 27 SAM3X8E Timer Counter 0 (TC0)
  70. TC1_IRQn = 28, // *< 28 SAM3X8E Timer Counter 1 (TC1)
  71. TC2_IRQn = 29, // *< 29 SAM3X8E Timer Counter 2 (TC2)
  72. TC3_IRQn = 30, // *< 30 SAM3X8E Timer Counter 3 (TC3)
  73. TC4_IRQn = 31, // *< 31 SAM3X8E Timer Counter 4 (TC4)
  74. TC5_IRQn = 32, // *< 32 SAM3X8E Timer Counter 5 (TC5)
  75. TC6_IRQn = 33, // *< 33 SAM3X8E Timer Counter 6 (TC6)
  76. TC7_IRQn = 34, // *< 34 SAM3X8E Timer Counter 7 (TC7)
  77. TC8_IRQn = 35, // *< 35 SAM3X8E Timer Counter 8 (TC8)
  78. PWM_IRQn = 36, // *< 36 SAM3X8E Pulse Width Modulation Controller (PWM)
  79. ADC_IRQn = 37, // *< 37 SAM3X8E ADC Controller (ADC)
  80. DACC_IRQn = 38, // *< 38 SAM3X8E DAC Controller (DACC)
  81. DMAC_IRQn = 39, // *< 39 SAM3X8E DMA Controller (DMAC)
  82. UOTGHS_IRQn = 40, // *< 40 SAM3X8E USB OTG High Speed (UOTGHS)
  83. TRNG_IRQn = 41, // *< 41 SAM3X8E True Random Number Generator (TRNG)
  84. EMAC_IRQn = 42, // *< 42 SAM3X8E Ethernet MAC (EMAC)
  85. CAN0_IRQn = 43, // *< 43 SAM3X8E CAN Controller 0 (CAN0)
  86. CAN1_IRQn = 44 // *< 44 SAM3X8E CAN Controller 1 (CAN1)
  87. );
  88. TADC_Registers = record
  89. CR : longword; // *< \brief (Adc Offset: 0x00) Control Register
  90. MR : longword; // *< \brief (Adc Offset: 0x04) Mode Register
  91. SEQR1 : longword; // *< \brief (Adc Offset: 0x08) Channel Sequence Register 1
  92. SEQR2 : longword; // *< \brief (Adc Offset: 0x0C) Channel Sequence Register 2
  93. CHER : longword; // *< \brief (Adc Offset: 0x10) Channel Enable Register
  94. CHDR : longword; // *< \brief (Adc Offset: 0x14) Channel Disable Register
  95. CHSR : longword; // *< \brief (Adc Offset: 0x18) Channel Status Register
  96. Reserved1 : array[0..0] of longword;
  97. LCDR : longword; // *< \brief (Adc Offset: 0x20) Last Converted Data Register
  98. IER : longword; // *< \brief (Adc Offset: 0x24) Interrupt Enable Register
  99. IDR : longword; // *< \brief (Adc Offset: 0x28) Interrupt Disable Register
  100. IMR : longword; // *< \brief (Adc Offset: 0x2C) Interrupt Mask Register
  101. ISR : longword; // *< \brief (Adc Offset: 0x30) Interrupt Status Register
  102. Reserved2 : array[0..1] of longword;
  103. OVER : longword; // *< \brief (Adc Offset: 0x3C) Overrun Status Register
  104. EMR : longword; // *< \brief (Adc Offset: 0x40) Extended Mode Register
  105. CWR : longword; // *< \brief (Adc Offset: 0x44) Compare Window Register
  106. CGR : longword; // *< \brief (Adc Offset: 0x48) Channel Gain Register
  107. COR : longword; // *< \brief (Adc Offset: 0x4C) Channel Offset Register
  108. CDR : array[0..15] of longword; // *< \brief (Adc Offset: 0x50) Channel Data Register
  109. Reserved3 : array[0..0] of longword;
  110. ACR : longword; // *< \brief (Adc Offset: 0x94) Analog Control Register
  111. Reserved4 : array[0..18] of longword;
  112. WPMR : longword; // *< \brief (Adc Offset: 0xE4) Write Protect Mode Register
  113. WPSR : longword; // *< \brief (Adc Offset: 0xE8) Write Protect Status Register
  114. Reserved5 : array[0..4] of longword;
  115. RPR : longword; // *< \brief (Adc Offset: 0x100) Receive Pointer Register
  116. RCR : longword; // *< \brief (Adc Offset: 0x104) Receive Counter Register
  117. Reserved6 : array[0..1] of longword;
  118. RNPR : longword; // *< \brief (Adc Offset: 0x110) Receive Next Pointer Register
  119. RNCR : longword; // *< \brief (Adc Offset: 0x114) Receive Next Counter Register
  120. Reserved7 : array[0..1] of longword;
  121. PTCR : longword; // *< \brief (Adc Offset: 0x120) Transfer Control Register
  122. PTSR : longword; // *< \brief (Adc Offset: 0x124) Transfer Status Register
  123. end;
  124. TCANMB_Registers = record
  125. MMR : longword; // *< \brief (CanMb Offset: 0x0) Mailbox Mode Register
  126. MAM : longword; // *< \brief (CanMb Offset: 0x4) Mailbox Acceptance Mask Register
  127. MID : longword; // *< \brief (CanMb Offset: 0x8) Mailbox ID Register
  128. MFID : longword; // *< \brief (CanMb Offset: 0xC) Mailbox Family ID Register
  129. MSR : longword; // *< \brief (CanMb Offset: 0x10) Mailbox Status Register
  130. MDL : longword; // *< \brief (CanMb Offset: 0x14) Mailbox Data Low Register
  131. MDH : longword; // *< \brief (CanMb Offset: 0x18) Mailbox Data High Register
  132. MCR : longword; // *< \brief (CanMb Offset: 0x1C) Mailbox Control Register
  133. end;
  134. TCAN_Registers = record
  135. MR : longword; // *< \brief (Can Offset: 0x0000) Mode Register
  136. IER : longword; // *< \brief (Can Offset: 0x0004) Interrupt Enable Register
  137. IDR : longword; // *< \brief (Can Offset: 0x0008) Interrupt Disable Register
  138. IMR : longword; // *< \brief (Can Offset: 0x000C) Interrupt Mask Register
  139. SR : longword; // *< \brief (Can Offset: 0x0010) Status Register
  140. BR : longword; // *< \brief (Can Offset: 0x0014) Baudrate Register
  141. TIM : longword; // *< \brief (Can Offset: 0x0018) Timer Register
  142. TIMESTP : longword; // *< \brief (Can Offset: 0x001C) Timestamp Register
  143. ECR : longword; // *< \brief (Can Offset: 0x0020) Error Counter Register
  144. TCR : longword; // *< \brief (Can Offset: 0x0024) Transfer Command Register
  145. ACR : longword; // *< \brief (Can Offset: 0x0028) Abort Command Register
  146. Reserved1 : array[0..45] of longword;
  147. WPMR : longword; // *< \brief (Can Offset: 0x00E4) Write Protect Mode Register
  148. WPSR : longword; // *< \brief (Can Offset: 0x00E8) Write Protect Status Register
  149. Reserved2 : array[0..68] of longword;
  150. MB : array[0..7] of TCanMb_Registers; // *< \brief (Can Offset: 0x200) MB = 0 .. 7
  151. end;
  152. TCHIPID_Registers = record
  153. CIDR : longword; // *< \brief (Chipid Offset: 0x0) Chip ID Register
  154. EXID : longword; // *< \brief (Chipid Offset: 0x4) Chip ID Extension Register
  155. end;
  156. TDACC_Registers = record
  157. CR : longword; // *< \brief (Dacc Offset: 0x00) Control Register
  158. MR : longword; // *< \brief (Dacc Offset: 0x04) Mode Register
  159. Reserved1 : array[0..1] of longword;
  160. CHER : longword; // *< \brief (Dacc Offset: 0x10) Channel Enable Register
  161. CHDR : longword; // *< \brief (Dacc Offset: 0x14) Channel Disable Register
  162. CHSR : longword; // *< \brief (Dacc Offset: 0x18) Channel Status Register
  163. Reserved2 : array[0..0] of longword;
  164. CDR : longword; // *< \brief (Dacc Offset: 0x20) Conversion Data Register
  165. IER : longword; // *< \brief (Dacc Offset: 0x24) Interrupt Enable Register
  166. IDR : longword; // *< \brief (Dacc Offset: 0x28) Interrupt Disable Register
  167. IMR : longword; // *< \brief (Dacc Offset: 0x2C) Interrupt Mask Register
  168. ISR : longword; // *< \brief (Dacc Offset: 0x30) Interrupt Status Register
  169. Reserved3 : array[0..23] of longword;
  170. ACR : longword; // *< \brief (Dacc Offset: 0x94) Analog Current Register
  171. Reserved4 : array[0..18] of longword;
  172. WPMR : longword; // *< \brief (Dacc Offset: 0xE4) Write Protect Mode register
  173. WPSR : longword; // *< \brief (Dacc Offset: 0xE8) Write Protect Status register
  174. Reserved5 : array[0..6] of longword;
  175. TPR : longword; // *< \brief (Dacc Offset: 0x108) Transmit Pointer Register
  176. TCR : longword; // *< \brief (Dacc Offset: 0x10C) Transmit Counter Register
  177. Reserved6 : array[0..1] of longword;
  178. TNPR : longword; // *< \brief (Dacc Offset: 0x118) Transmit Next Pointer Register
  179. TNCR : longword; // *< \brief (Dacc Offset: 0x11C) Transmit Next Counter Register
  180. PTCR : longword; // *< \brief (Dacc Offset: 0x120) Transfer Control Register
  181. PTSR : longword; // *< \brief (Dacc Offset: 0x124) Transfer Status Register
  182. end;
  183. TDMACCH_NUM_Registers = record
  184. DMAC_SADDR : longword; // *< \brief (DmacCh_num Offset: 0x0) DMAC Channel Source Address Register
  185. DMAC_DADDR : longword; // *< \brief (DmacCh_num Offset: 0x4) DMAC Channel Destination Address Register
  186. DMAC_DSCR : longword; // *< \brief (DmacCh_num Offset: 0x8) DMAC Channel Descriptor Address Register
  187. DMAC_CTRLA : longword; // *< \brief (DmacCh_num Offset: 0xC) DMAC Channel Control A Register
  188. DMAC_CTRLB : longword; // *< \brief (DmacCh_num Offset: 0x10) DMAC Channel Control B Register
  189. DMAC_CFG : longword; // *< \brief (DmacCh_num Offset: 0x14) DMAC Channel Configuration Register
  190. Reserved1 : array[0..3] of longword;
  191. end;
  192. TDMAC_Registers = record
  193. GCFG : longword; // *< \brief (Dmac Offset: 0x000) DMAC Global Configuration Register
  194. EN : longword; // *< \brief (Dmac Offset: 0x004) DMAC Enable Register
  195. SREQ : longword; // *< \brief (Dmac Offset: 0x008) DMAC Software Single Request Register
  196. CREQ : longword; // *< \brief (Dmac Offset: 0x00C) DMAC Software Chunk Transfer Request Register
  197. LAST : longword; // *< \brief (Dmac Offset: 0x010) DMAC Software Last Transfer Flag Register
  198. Reserved1 : array[0..0] of longword;
  199. EBCIER : longword; // *< \brief (Dmac Offset: 0x018) DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Enable register.
  200. EBCIDR : longword; // *< \brief (Dmac Offset: 0x01C) DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer Transfer Completed Interrupt Disable register.
  201. EBCIMR : longword; // *< \brief (Dmac Offset: 0x020) DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Mask Register.
  202. EBCISR : longword; // *< \brief (Dmac Offset: 0x024) DMAC Error, Chained Buffer Transfer Completed Interrupt and Buffer transfer completed Status Register.
  203. CHER : longword; // *< \brief (Dmac Offset: 0x028) DMAC Channel Handler Enable Register
  204. CHDR : longword; // *< \brief (Dmac Offset: 0x02C) DMAC Channel Handler Disable Register
  205. CHSR : longword; // *< \brief (Dmac Offset: 0x030) DMAC Channel Handler Status Register
  206. Reserved2 : array[0..1] of longword;
  207. CH_NUM : array[0..5] of TDmacCh_num_Registers; // *< \brief (Dmac Offset: 0x3C) ch_num = 0 .. 5
  208. Reserved3 : array[0..45] of longword;
  209. WPMR : longword; // *< \brief (Dmac Offset: 0x1E4) DMAC Write Protect Mode Register
  210. WPSR : longword; // *< \brief (Dmac Offset: 0x1E8) DMAC Write Protect Status Register
  211. end;
  212. TEFC_Registers = record
  213. FMR : longword; // *< \brief (Efc Offset: 0x00) EEFC Flash Mode Register
  214. FCR : longword; // *< \brief (Efc Offset: 0x04) EEFC Flash Command Register
  215. FSR : longword; // *< \brief (Efc Offset: 0x08) EEFC Flash Status Register
  216. FRR : longword; // *< \brief (Efc Offset: 0x0C) EEFC Flash Result Register
  217. end;
  218. TEMACSA_Registers = record
  219. SAxB : longword; // *< \brief (EmacSa Offset: 0x0) Specific Address 1 Bottom Register
  220. SAxT : longword; // *< \brief (EmacSa Offset: 0x4) Specific Address 1 Top Register
  221. end;
  222. TEMAC_Registers = record
  223. NCR : longword; // *< \brief (Emac Offset: 0x00) Network Control Register
  224. NCFGR : longword; // *< \brief (Emac Offset: 0x04) Network Configuration Register
  225. NSR : longword; // *< \brief (Emac Offset: 0x08) Network Status Register
  226. Reserved1 : array[0..1] of longword;
  227. TSR : longword; // *< \brief (Emac Offset: 0x14) Transmit Status Register
  228. RBQP : longword; // *< \brief (Emac Offset: 0x18) Receive Buffer Queue Pointer Register
  229. TBQP : longword; // *< \brief (Emac Offset: 0x1C) Transmit Buffer Queue Pointer Register
  230. RSR : longword; // *< \brief (Emac Offset: 0x20) Receive Status Register
  231. ISR : longword; // *< \brief (Emac Offset: 0x24) Interrupt Status Register
  232. IER : longword; // *< \brief (Emac Offset: 0x28) Interrupt Enable Register
  233. IDR : longword; // *< \brief (Emac Offset: 0x2C) Interrupt Disable Register
  234. IMR : longword; // *< \brief (Emac Offset: 0x30) Interrupt Mask Register
  235. MAN : longword; // *< \brief (Emac Offset: 0x34) Phy Maintenance Register
  236. PTR : longword; // *< \brief (Emac Offset: 0x38) Pause Time Register
  237. PFR : longword; // *< \brief (Emac Offset: 0x3C) Pause Frames Received Register
  238. FTO : longword; // *< \brief (Emac Offset: 0x40) Frames Transmitted Ok Register
  239. SCF : longword; // *< \brief (Emac Offset: 0x44) Single Collision Frames Register
  240. MCF : longword; // *< \brief (Emac Offset: 0x48) Multiple Collision Frames Register
  241. FRO : longword; // *< \brief (Emac Offset: 0x4C) Frames Received Ok Register
  242. FCSE : longword; // *< \brief (Emac Offset: 0x50) Frame Check Sequence Errors Register
  243. ALE : longword; // *< \brief (Emac Offset: 0x54) Alignment Errors Register
  244. DTF : longword; // *< \brief (Emac Offset: 0x58) Deferred Transmission Frames Register
  245. LCOL : longword; // *< \brief (Emac Offset: 0x5C) Late Collisions Register
  246. ECOL : longword; // *< \brief (Emac Offset: 0x60) Excessive Collisions Register
  247. TUND : longword; // *< \brief (Emac Offset: 0x64) Transmit Underrun Errors Register
  248. CSE : longword; // *< \brief (Emac Offset: 0x68) Carrier Sense Errors Register
  249. RRE : longword; // *< \brief (Emac Offset: 0x6C) Receive Resource Errors Register
  250. ROV : longword; // *< \brief (Emac Offset: 0x70) Receive Overrun Errors Register
  251. RSE : longword; // *< \brief (Emac Offset: 0x74) Receive Symbol Errors Register
  252. ELE : longword; // *< \brief (Emac Offset: 0x78) Excessive Length Errors Register
  253. RJA : longword; // *< \brief (Emac Offset: 0x7C) Receive Jabbers Register
  254. USF : longword; // *< \brief (Emac Offset: 0x80) Undersize Frames Register
  255. STE : longword; // *< \brief (Emac Offset: 0x84) SQE Test Errors Register
  256. RLE : longword; // *< \brief (Emac Offset: 0x88) Received Length Field Mismatch Register
  257. Reserved2 : array[0..0] of longword;
  258. HRB : longword; // *< \brief (Emac Offset: 0x90) Hash Register Bottom [31:0] Register
  259. HRT : longword; // *< \brief (Emac Offset: 0x94) Hash Register Top [63:32] Register
  260. SA : array[0..3] of TEmacSa_Registers; // *< \brief (Emac Offset: 0x98) sa = 1 .. 4
  261. TID : longword; // *< \brief (Emac Offset: 0xB8) Type ID Checking Register
  262. Reserved3 : array[0..0] of longword;
  263. USRIO : longword; // *< \brief (Emac Offset: 0xC0) User Input/Output Register
  264. end;
  265. TGPBR_Registers = record
  266. SYS_GPBR : array[0..7] of longword; // *< \brief (Gpbr Offset: 0x0) General Purpose Backup Register
  267. end;
  268. THSMCI_Registers = record
  269. CR : longword; // *< \brief (Hsmci Offset: 0x00) Control Register
  270. MR : longword; // *< \brief (Hsmci Offset: 0x04) Mode Register
  271. DTOR : longword; // *< \brief (Hsmci Offset: 0x08) Data Timeout Register
  272. SDCR : longword; // *< \brief (Hsmci Offset: 0x0C) SD/SDIO Card Register
  273. ARGR : longword; // *< \brief (Hsmci Offset: 0x10) Argument Register
  274. CMDR : longword; // *< \brief (Hsmci Offset: 0x14) Command Register
  275. BLKR : longword; // *< \brief (Hsmci Offset: 0x18) Block Register
  276. CSTOR : longword; // *< \brief (Hsmci Offset: 0x1C) Completion Signal Timeout Register
  277. RSPR : array[0..3] of longword; // *< \brief (Hsmci Offset: 0x20) Response Register
  278. RDR : longword; // *< \brief (Hsmci Offset: 0x30) Receive Data Register
  279. TDR : longword; // *< \brief (Hsmci Offset: 0x34) Transmit Data Register
  280. Reserved1 : array[0..1] of longword;
  281. SR : longword; // *< \brief (Hsmci Offset: 0x40) Status Register
  282. IER : longword; // *< \brief (Hsmci Offset: 0x44) Interrupt Enable Register
  283. IDR : longword; // *< \brief (Hsmci Offset: 0x48) Interrupt Disable Register
  284. IMR : longword; // *< \brief (Hsmci Offset: 0x4C) Interrupt Mask Register
  285. DMA : longword; // *< \brief (Hsmci Offset: 0x50) DMA Configuration Register
  286. CFG : longword; // *< \brief (Hsmci Offset: 0x54) Configuration Register
  287. Reserved2 : array[0..34] of longword;
  288. WPMR : longword; // *< \brief (Hsmci Offset: 0xE4) Write Protection Mode Register
  289. WPSR : longword; // *< \brief (Hsmci Offset: 0xE8) Write Protection Status Register
  290. Reserved3 : array[0..68] of longword;
  291. FIFO : array[0..255] of longword; // *< \brief (Hsmci Offset: 0x200) FIFO Memory Aperture0
  292. end;
  293. TMATRIX_Registers = record
  294. MCFG : array[0..5] of longword; // *< \brief (Matrix Offset: 0x0000) Master Configuration Register
  295. Reserved1 : array[0..9] of longword;
  296. SCFG : array[0..8] of longword; // *< \brief (Matrix Offset: 0x0040) Slave Configuration Register
  297. Reserved2 : array[0..6] of longword;
  298. PRAS0 : longword; // *< \brief (Matrix Offset: 0x0080) Priority Register A for Slave 0
  299. Reserved3 : array[0..0] of longword;
  300. PRAS1 : longword; // *< \brief (Matrix Offset: 0x0088) Priority Register A for Slave 1
  301. Reserved4 : array[0..0] of longword;
  302. PRAS2 : longword; // *< \brief (Matrix Offset: 0x0090) Priority Register A for Slave 2
  303. Reserved5 : array[0..0] of longword;
  304. PRAS3 : longword; // *< \brief (Matrix Offset: 0x0098) Priority Register A for Slave 3
  305. Reserved6 : array[0..0] of longword;
  306. PRAS4 : longword; // *< \brief (Matrix Offset: 0x00A0) Priority Register A for Slave 4
  307. Reserved7 : array[0..0] of longword;
  308. PRAS5 : longword; // *< \brief (Matrix Offset: 0x00A8) Priority Register A for Slave 5
  309. Reserved8 : array[0..0] of longword;
  310. PRAS6 : longword; // *< \brief (Matrix Offset: 0x00B0) Priority Register A for Slave 6
  311. Reserved9 : array[0..0] of longword;
  312. PRAS7 : longword; // *< \brief (Matrix Offset: 0x00B8) Priority Register A for Slave 7
  313. Reserved10 : array[0..0] of longword;
  314. PRAS8 : longword; // *< \brief (Matrix Offset: 0x00C0) Priority Register A for Slave 8
  315. Reserved11 : array[0..0] of longword;
  316. Reserved12 : array[0..13] of longword;
  317. MRCR : longword; // *< \brief (Matrix Offset: 0x0100) Master Remap Control Register
  318. Reserved13 : array[0..3] of longword;
  319. CCFG_SYSIO : longword; // *< \brief (Matrix Offset: 0x0114) System I/O Configuration register
  320. Reserved14 : array[0..50] of longword;
  321. WPMR : longword; // *< \brief (Matrix Offset: 0x1E4) Write Protect Mode Register
  322. WPSR : longword; // *< \brief (Matrix Offset: 0x1E8) Write Protect Status Register
  323. end;
  324. TPDC_Registers = record
  325. RPR : longword; // *< \brief (Pdc Offset: 0x0) Receive Pointer Register
  326. RCR : longword; // *< \brief (Pdc Offset: 0x4) Receive Counter Register
  327. TPR : longword; // *< \brief (Pdc Offset: 0x8) Transmit Pointer Register
  328. TCR : longword; // *< \brief (Pdc Offset: 0xC) Transmit Counter Register
  329. RNPR : longword; // *< \brief (Pdc Offset: 0x10) Receive Next Pointer Register
  330. RNCR : longword; // *< \brief (Pdc Offset: 0x14) Receive Next Counter Register
  331. TNPR : longword; // *< \brief (Pdc Offset: 0x18) Transmit Next Pointer Register
  332. TNCR : longword; // *< \brief (Pdc Offset: 0x1C) Transmit Next Counter Register
  333. PTCR : longword; // *< \brief (Pdc Offset: 0x20) Transfer Control Register
  334. PTSR : longword; // *< \brief (Pdc Offset: 0x24) Transfer Status Register
  335. end;
  336. TPIO_Registers = record
  337. PER : longword; // *< \brief (Pio Offset: 0x0000) PIO Enable Register
  338. PDR : longword; // *< \brief (Pio Offset: 0x0004) PIO Disable Register
  339. PSR : longword; // *< \brief (Pio Offset: 0x0008) PIO Status Register
  340. Reserved1 : array[0..0] of longword;
  341. OER : longword; // *< \brief (Pio Offset: 0x0010) Output Enable Register
  342. ODR : longword; // *< \brief (Pio Offset: 0x0014) Output Disable Register
  343. OSR : longword; // *< \brief (Pio Offset: 0x0018) Output Status Register
  344. Reserved2 : array[0..0] of longword;
  345. IFER : longword; // *< \brief (Pio Offset: 0x0020) Glitch Input Filter Enable Register
  346. IFDR : longword; // *< \brief (Pio Offset: 0x0024) Glitch Input Filter Disable Register
  347. IFSR : longword; // *< \brief (Pio Offset: 0x0028) Glitch Input Filter Status Register
  348. Reserved3 : array[0..0] of longword;
  349. SODR : longword; // *< \brief (Pio Offset: 0x0030) Set Output Data Register
  350. CODR : longword; // *< \brief (Pio Offset: 0x0034) Clear Output Data Register
  351. ODSR : longword; // *< \brief (Pio Offset: 0x0038) Output Data Status Register
  352. PDSR : longword; // *< \brief (Pio Offset: 0x003C) Pin Data Status Register
  353. IER : longword; // *< \brief (Pio Offset: 0x0040) Interrupt Enable Register
  354. IDR : longword; // *< \brief (Pio Offset: 0x0044) Interrupt Disable Register
  355. IMR : longword; // *< \brief (Pio Offset: 0x0048) Interrupt Mask Register
  356. ISR : longword; // *< \brief (Pio Offset: 0x004C) Interrupt Status Register
  357. MDER : longword; // *< \brief (Pio Offset: 0x0050) Multi-driver Enable Register
  358. MDDR : longword; // *< \brief (Pio Offset: 0x0054) Multi-driver Disable Register
  359. MDSR : longword; // *< \brief (Pio Offset: 0x0058) Multi-driver Status Register
  360. Reserved4 : array[0..0] of longword;
  361. PUDR : longword; // *< \brief (Pio Offset: 0x0060) Pull-up Disable Register
  362. PUER : longword; // *< \brief (Pio Offset: 0x0064) Pull-up Enable Register
  363. PUSR : longword; // *< \brief (Pio Offset: 0x0068) Pad Pull-up Status Register
  364. Reserved5 : array[0..0] of longword;
  365. ABSR : longword; // *< \brief (Pio Offset: 0x0070) Peripheral AB Select Register
  366. Reserved6 : array[0..2] of longword;
  367. SCIFSR : longword; // *< \brief (Pio Offset: 0x0080) System Clock Glitch Input Filter Select Register
  368. DIFSR : longword; // *< \brief (Pio Offset: 0x0084) Debouncing Input Filter Select Register
  369. IFDGSR : longword; // *< \brief (Pio Offset: 0x0088) Glitch or Debouncing Input Filter Clock Selection Status Register
  370. SCDR : longword; // *< \brief (Pio Offset: 0x008C) Slow Clock Divider Debouncing Register
  371. Reserved7 : array[0..3] of longword;
  372. OWER : longword; // *< \brief (Pio Offset: 0x00A0) Output Write Enable
  373. OWDR : longword; // *< \brief (Pio Offset: 0x00A4) Output Write Disable
  374. OWSR : longword; // *< \brief (Pio Offset: 0x00A8) Output Write Status Register
  375. Reserved8 : array[0..0] of longword;
  376. AIMER : longword; // *< \brief (Pio Offset: 0x00B0) Additional Interrupt Modes Enable Register
  377. AIMDR : longword; // *< \brief (Pio Offset: 0x00B4) Additional Interrupt Modes Disables Register
  378. AIMMR : longword; // *< \brief (Pio Offset: 0x00B8) Additional Interrupt Modes Mask Register
  379. Reserved9 : array[0..0] of longword;
  380. ESR : longword; // *< \brief (Pio Offset: 0x00C0) Edge Select Register
  381. LSR : longword; // *< \brief (Pio Offset: 0x00C4) Level Select Register
  382. ELSR : longword; // *< \brief (Pio Offset: 0x00C8) Edge/Level Status Register
  383. Reserved10 : array[0..0] of longword;
  384. FELLSR : longword; // *< \brief (Pio Offset: 0x00D0) Falling Edge/Low Level Select Register
  385. REHLSR : longword; // *< \brief (Pio Offset: 0x00D4) Rising Edge/ High Level Select Register
  386. FRLHSR : longword; // *< \brief (Pio Offset: 0x00D8) Fall/Rise - Low/High Status Register
  387. Reserved11 : array[0..0] of longword;
  388. LOCKSR : longword; // *< \brief (Pio Offset: 0x00E0) Lock Status
  389. WPMR : longword; // *< \brief (Pio Offset: 0x00E4) Write Protect Mode Register
  390. WPSR : longword; // *< \brief (Pio Offset: 0x00E8) Write Protect Status Register
  391. end;
  392. TPMC_Registers = record
  393. SCER : longword; // *< \brief (Pmc Offset: 0x0000) System Clock Enable Register
  394. SCDR : longword; // *< \brief (Pmc Offset: 0x0004) System Clock Disable Register
  395. SCSR : longword; // *< \brief (Pmc Offset: 0x0008) System Clock Status Register
  396. Reserved1 : array[0..0] of longword;
  397. PCER0 : longword; // *< \brief (Pmc Offset: 0x0010) Peripheral Clock Enable Register 0
  398. PCDR0 : longword; // *< \brief (Pmc Offset: 0x0014) Peripheral Clock Disable Register 0
  399. PCSR0 : longword; // *< \brief (Pmc Offset: 0x0018) Peripheral Clock Status Register 0
  400. CKGR_UCKR : longword; // *< \brief (Pmc Offset: 0x001C) UTMI Clock Register
  401. CKGR_MOR : longword; // *< \brief (Pmc Offset: 0x0020) Main Oscillator Register
  402. CKGR_MCFR : longword; // *< \brief (Pmc Offset: 0x0024) Main Clock Frequency Register
  403. CKGR_PLLAR : longword; // *< \brief (Pmc Offset: 0x0028) PLLA Register
  404. Reserved2 : array[0..0] of longword;
  405. MCKR : longword; // *< \brief (Pmc Offset: 0x0030) Master Clock Register
  406. Reserved3 : array[0..0] of longword;
  407. USB : longword; // *< \brief (Pmc Offset: 0x0038) USB Clock Register
  408. Reserved4 : array[0..0] of longword;
  409. PCK : array[0..2] of longword; // *< \brief (Pmc Offset: 0x0040) Programmable Clock 0 Register
  410. Reserved5 : array[0..4] of longword;
  411. IER : longword; // *< \brief (Pmc Offset: 0x0060) Interrupt Enable Register
  412. IDR : longword; // *< \brief (Pmc Offset: 0x0064) Interrupt Disable Register
  413. SR : longword; // *< \brief (Pmc Offset: 0x0068) Status Register
  414. IMR : longword; // *< \brief (Pmc Offset: 0x006C) Interrupt Mask Register
  415. FSMR : longword; // *< \brief (Pmc Offset: 0x0070) Fast Startup Mode Register
  416. FSPR : longword; // *< \brief (Pmc Offset: 0x0074) Fast Startup Polarity Register
  417. FOCR : longword; // *< \brief (Pmc Offset: 0x0078) Fault Output Clear Register
  418. Reserved6 : array[0..25] of longword;
  419. WPMR : longword; // *< \brief (Pmc Offset: 0x00E4) Write Protect Mode Register
  420. WPSR : longword; // *< \brief (Pmc Offset: 0x00E8) Write Protect Status Register
  421. Reserved7 : array[0..4] of longword;
  422. PCER1 : longword; // *< \brief (Pmc Offset: 0x0100) Peripheral Clock Enable Register 1
  423. PCDR1 : longword; // *< \brief (Pmc Offset: 0x0104) Peripheral Clock Disable Register 1
  424. PCSR1 : longword; // *< \brief (Pmc Offset: 0x0108) Peripheral Clock Status Register 1
  425. PCR : longword; // *< \brief (Pmc Offset: 0x010C) Peripheral Control Register
  426. end;
  427. TPWMCH_NUM_Registers = record
  428. CMR : longword; // *< \brief (PwmCh_num Offset: 0x0) PWM Channel Mode Register
  429. CDTY : longword; // *< \brief (PwmCh_num Offset: 0x4) PWM Channel Duty Cycle Register
  430. CDTYUPD : longword; // *< \brief (PwmCh_num Offset: 0x8) PWM Channel Duty Cycle Update Register
  431. CPRD : longword; // *< \brief (PwmCh_num Offset: 0xC) PWM Channel Period Register
  432. CPRDUPD : longword; // *< \brief (PwmCh_num Offset: 0x10) PWM Channel Period Update Register
  433. CCNT : longword; // *< \brief (PwmCh_num Offset: 0x14) PWM Channel Counter Register
  434. DT : longword; // *< \brief (PwmCh_num Offset: 0x18) PWM Channel Dead Time Register
  435. DTUPD : longword; // *< \brief (PwmCh_num Offset: 0x1C) PWM Channel Dead Time Update Register
  436. end;
  437. TPWMCMP_Registers = record
  438. CMPV : longword; // *< \brief (PwmCmp Offset: 0x0) PWM Comparison 0 Value Register
  439. CMPVUPD : longword; // *< \brief (PwmCmp Offset: 0x4) PWM Comparison 0 Value Update Register
  440. CMPM : longword; // *< \brief (PwmCmp Offset: 0x8) PWM Comparison 0 Mode Register
  441. CMPMUPD : longword; // *< \brief (PwmCmp Offset: 0xC) PWM Comparison 0 Mode Update Register
  442. end;
  443. TPWM_Registers = record
  444. CLK : longword; // *< \brief (Pwm Offset: 0x00) PWM Clock Register
  445. ENA : longword; // *< \brief (Pwm Offset: 0x04) PWM Enable Register
  446. DIS : longword; // *< \brief (Pwm Offset: 0x08) PWM Disable Register
  447. SR : longword; // *< \brief (Pwm Offset: 0x0C) PWM Status Register
  448. IER1 : longword; // *< \brief (Pwm Offset: 0x10) PWM Interrupt Enable Register 1
  449. IDR1 : longword; // *< \brief (Pwm Offset: 0x14) PWM Interrupt Disable Register 1
  450. IMR1 : longword; // *< \brief (Pwm Offset: 0x18) PWM Interrupt Mask Register 1
  451. ISR1 : longword; // *< \brief (Pwm Offset: 0x1C) PWM Interrupt Status Register 1
  452. SCM : longword; // *< \brief (Pwm Offset: 0x20) PWM Sync Channels Mode Register
  453. Reserved1 : array[0..0] of longword;
  454. SCUC : longword; // *< \brief (Pwm Offset: 0x28) PWM Sync Channels Update Control Register
  455. SCUP : longword; // *< \brief (Pwm Offset: 0x2C) PWM Sync Channels Update Period Register
  456. SCUPUPD : longword; // *< \brief (Pwm Offset: 0x30) PWM Sync Channels Update Period Update Register
  457. IER2 : longword; // *< \brief (Pwm Offset: 0x34) PWM Interrupt Enable Register 2
  458. IDR2 : longword; // *< \brief (Pwm Offset: 0x38) PWM Interrupt Disable Register 2
  459. IMR2 : longword; // *< \brief (Pwm Offset: 0x3C) PWM Interrupt Mask Register 2
  460. ISR2 : longword; // *< \brief (Pwm Offset: 0x40) PWM Interrupt Status Register 2
  461. OOV : longword; // *< \brief (Pwm Offset: 0x44) PWM Output Override Value Register
  462. OS : longword; // *< \brief (Pwm Offset: 0x48) PWM Output Selection Register
  463. OSS : longword; // *< \brief (Pwm Offset: 0x4C) PWM Output Selection Set Register
  464. OSC : longword; // *< \brief (Pwm Offset: 0x50) PWM Output Selection Clear Register
  465. OSSUPD : longword; // *< \brief (Pwm Offset: 0x54) PWM Output Selection Set Update Register
  466. OSCUPD : longword; // *< \brief (Pwm Offset: 0x58) PWM Output Selection Clear Update Register
  467. FMR : longword; // *< \brief (Pwm Offset: 0x5C) PWM Fault Mode Register
  468. FSR : longword; // *< \brief (Pwm Offset: 0x60) PWM Fault Status Register
  469. FCR : longword; // *< \brief (Pwm Offset: 0x64) PWM Fault Clear Register
  470. FPV : longword; // *< \brief (Pwm Offset: 0x68) PWM Fault Protection Value Register
  471. FPE1 : longword; // *< \brief (Pwm Offset: 0x6C) PWM Fault Protection Enable Register 1
  472. FPE2 : longword; // *< \brief (Pwm Offset: 0x70) PWM Fault Protection Enable Register 2
  473. Reserved2 : array[0..1] of longword;
  474. ELMR : array[0..1] of longword; // *< \brief (Pwm Offset: 0x7C) PWM Event Line 0 Mode Register
  475. Reserved3 : array[0..10] of longword;
  476. SMMR : longword; // *< \brief (Pwm Offset: 0xB0) PWM Stepper Motor Mode Register
  477. Reserved4 : array[0..11] of longword;
  478. WPCR : longword; // *< \brief (Pwm Offset: 0xE4) PWM Write Protect Control Register
  479. WPSR : longword; // *< \brief (Pwm Offset: 0xE8) PWM Write Protect Status Register
  480. Reserved5 : array[0..6] of longword;
  481. TPR : longword; // *< \brief (Pwm Offset: 0x108) Transmit Pointer Register
  482. TCR : longword; // *< \brief (Pwm Offset: 0x10C) Transmit Counter Register
  483. Reserved6 : array[0..1] of longword;
  484. TNPR : longword; // *< \brief (Pwm Offset: 0x118) Transmit Next Pointer Register
  485. TNCR : longword; // *< \brief (Pwm Offset: 0x11C) Transmit Next Counter Register
  486. PTCR : longword; // *< \brief (Pwm Offset: 0x120) Transfer Control Register
  487. PTSR : longword; // *< \brief (Pwm Offset: 0x124) Transfer Status Register
  488. Reserved7 : array[0..1] of longword;
  489. CMP : array[0..7] of TPwmCmp_Registers; // *< \brief (Pwm Offset: 0x130) 0 .. 7
  490. Reserved8 : array[0..19] of longword;
  491. CH_NUM : array[0..7] of TPwmCh_num_Registers; // *< \brief (Pwm Offset: 0x200) ch_num = 0 .. 7
  492. end;
  493. TRSTC_Registers = record
  494. CR : longword; // *< \brief (Rstc Offset: 0x00) Control Register
  495. SR : longword; // *< \brief (Rstc Offset: 0x04) Status Register
  496. MR : longword; // *< \brief (Rstc Offset: 0x08) Mode Register
  497. end;
  498. TRTC_Registers = record
  499. CR : longword; // *< \brief (Rtc Offset: 0x00) Control Register
  500. MR : longword; // *< \brief (Rtc Offset: 0x04) Mode Register
  501. TIMR : longword; // *< \brief (Rtc Offset: 0x08) Time Register
  502. CALR : longword; // *< \brief (Rtc Offset: 0x0C) Calendar Register
  503. TIMALR : longword; // *< \brief (Rtc Offset: 0x10) Time Alarm Register
  504. CALALR : longword; // *< \brief (Rtc Offset: 0x14) Calendar Alarm Register
  505. SR : longword; // *< \brief (Rtc Offset: 0x18) Status Register
  506. SCCR : longword; // *< \brief (Rtc Offset: 0x1C) Status Clear Command Register
  507. IER : longword; // *< \brief (Rtc Offset: 0x20) Interrupt Enable Register
  508. IDR : longword; // *< \brief (Rtc Offset: 0x24) Interrupt Disable Register
  509. IMR : longword; // *< \brief (Rtc Offset: 0x28) Interrupt Mask Register
  510. VER : longword; // *< \brief (Rtc Offset: 0x2C) Valid Entry Register
  511. Reserved1 : array[0..44] of longword;
  512. WPMR : longword; // *< \brief (Rtc Offset: 0xE4) Write Protect Mode Register
  513. end;
  514. TRTT_Registers = record
  515. MR : longword; // *< \brief (Rtt Offset: 0x00) Mode Register
  516. AR : longword; // *< \brief (Rtt Offset: 0x04) Alarm Register
  517. VR : longword; // *< \brief (Rtt Offset: 0x08) Value Register
  518. SR : longword; // *< \brief (Rtt Offset: 0x0C) Status Register
  519. end;
  520. TSMCCS_number_Registers = record
  521. SETUP : longword; // *< \brief (SmcCs_number Offset: 0x0) SMC Setup Register
  522. PULSE : longword; // *< \brief (SmcCs_number Offset: 0x4) SMC Pulse Register
  523. CYCLE : longword; // *< \brief (SmcCs_number Offset: 0x8) SMC Cycle Register
  524. TIMINGS : longword; // *< \brief (SmcCs_number Offset: 0xC) SMC Timings Register
  525. MODE : longword; // *< \brief (SmcCs_number Offset: 0x10) SMC Mode Register
  526. end;
  527. TSMC_Registers = record
  528. CFG : longword; // *< \brief (Smc Offset: 0x000) SMC NFC Configuration Register
  529. CTRL : longword; // *< \brief (Smc Offset: 0x004) SMC NFC Control Register
  530. SR : longword; // *< \brief (Smc Offset: 0x008) SMC NFC Status Register
  531. IER : longword; // *< \brief (Smc Offset: 0x00C) SMC NFC Interrupt Enable Register
  532. IDR : longword; // *< \brief (Smc Offset: 0x010) SMC NFC Interrupt Disable Register
  533. IMR : longword; // *< \brief (Smc Offset: 0x014) SMC NFC Interrupt Mask Register
  534. ADDR : longword; // *< \brief (Smc Offset: 0x018) SMC NFC Address Cycle Zero Register
  535. BANK : longword; // *< \brief (Smc Offset: 0x01C) SMC Bank Address Register
  536. ECC_CTRL : longword; // *< \brief (Smc Offset: 0x020) SMC ECC Control Register
  537. ECC_MD : longword; // *< \brief (Smc Offset: 0x024) SMC ECC Mode Register
  538. ECC_SR1 : longword; // *< \brief (Smc Offset: 0x028) SMC ECC Status 1 Register
  539. ECC_PR0 : longword; // *< \brief (Smc Offset: 0x02C) SMC ECC Parity 0 Register
  540. ECC_PR1 : longword; // *< \brief (Smc Offset: 0x030) SMC ECC parity 1 Register
  541. ECC_SR2 : longword; // *< \brief (Smc Offset: 0x034) SMC ECC status 2 Register
  542. ECC_PR2 : longword; // *< \brief (Smc Offset: 0x038) SMC ECC parity 2 Register
  543. ECC_PR3 : longword; // *< \brief (Smc Offset: 0x03C) SMC ECC parity 3 Register
  544. ECC_PR4 : longword; // *< \brief (Smc Offset: 0x040) SMC ECC parity 4 Register
  545. ECC_PR5 : longword; // *< \brief (Smc Offset: 0x044) SMC ECC parity 5 Register
  546. ECC_PR6 : longword; // *< \brief (Smc Offset: 0x048) SMC ECC parity 6 Register
  547. ECC_PR7 : longword; // *< \brief (Smc Offset: 0x04C) SMC ECC parity 7 Register
  548. ECC_PR8 : longword; // *< \brief (Smc Offset: 0x050) SMC ECC parity 8 Register
  549. ECC_PR9 : longword; // *< \brief (Smc Offset: 0x054) SMC ECC parity 9 Register
  550. ECC_PR10 : longword; // *< \brief (Smc Offset: 0x058) SMC ECC parity 10 Register
  551. ECC_PR11 : longword; // *< \brief (Smc Offset: 0x05C) SMC ECC parity 11 Register
  552. ECC_PR12 : longword; // *< \brief (Smc Offset: 0x060) SMC ECC parity 12 Register
  553. ECC_PR13 : longword; // *< \brief (Smc Offset: 0x064) SMC ECC parity 13 Register
  554. ECC_PR14 : longword; // *< \brief (Smc Offset: 0x068) SMC ECC parity 14 Register
  555. ECC_PR15 : longword; // *< \brief (Smc Offset: 0x06C) SMC ECC parity 15 Register
  556. CS_NUMBER : array[0..7] of TSmcCs_number_Registers; // *< \brief (Smc Offset: 0x70) CS_number = 0 .. 7
  557. OCMS : longword; // *< \brief (Smc Offset: 0x110) SMC OCMS Register
  558. KEY1 : longword; // *< \brief (Smc Offset: 0x114) SMC OCMS KEY1 Register
  559. KEY2 : longword; // *< \brief (Smc Offset: 0x118) SMC OCMS KEY2 Register
  560. Reserved1 : array[0..49] of longword;
  561. WPCR : longword; // *< \brief (Smc Offset: 0x1E4) Write Protection Control Register
  562. WPSR : longword; // *< \brief (Smc Offset: 0x1E8) Write Protection Status Register
  563. end;
  564. TSPI_Registers = record
  565. CR : longword; // *< \brief (Spi Offset: 0x00) Control Register
  566. MR : longword; // *< \brief (Spi Offset: 0x04) Mode Register
  567. RDR : longword; // *< \brief (Spi Offset: 0x08) Receive Data Register
  568. TDR : longword; // *< \brief (Spi Offset: 0x0C) Transmit Data Register
  569. SR : longword; // *< \brief (Spi Offset: 0x10) Status Register
  570. IER : longword; // *< \brief (Spi Offset: 0x14) Interrupt Enable Register
  571. IDR : longword; // *< \brief (Spi Offset: 0x18) Interrupt Disable Register
  572. IMR : longword; // *< \brief (Spi Offset: 0x1C) Interrupt Mask Register
  573. Reserved1 : array[0..3] of longword;
  574. CSR : array[0..3] of longword; // *< \brief (Spi Offset: 0x30) Chip Select Register
  575. Reserved2 : array[0..40] of longword;
  576. WPMR : longword; // *< \brief (Spi Offset: 0xE4) Write Protection Control Register
  577. WPSR : longword; // *< \brief (Spi Offset: 0xE8) Write Protection Status Register
  578. end;
  579. TSSC_Registers = record
  580. CR : longword; // *< \brief (Ssc Offset: 0x0) Control Register
  581. CMR : longword; // *< \brief (Ssc Offset: 0x4) Clock Mode Register
  582. Reserved1 : array[0..1] of longword;
  583. RCMR : longword; // *< \brief (Ssc Offset: 0x10) Receive Clock Mode Register
  584. RFMR : longword; // *< \brief (Ssc Offset: 0x14) Receive Frame Mode Register
  585. TCMR : longword; // *< \brief (Ssc Offset: 0x18) Transmit Clock Mode Register
  586. TFMR : longword; // *< \brief (Ssc Offset: 0x1C) Transmit Frame Mode Register
  587. RHR : longword; // *< \brief (Ssc Offset: 0x20) Receive Holding Register
  588. THR : longword; // *< \brief (Ssc Offset: 0x24) Transmit Holding Register
  589. Reserved2 : array[0..1] of longword;
  590. RSHR : longword; // *< \brief (Ssc Offset: 0x30) Receive Sync. Holding Register
  591. TSHR : longword; // *< \brief (Ssc Offset: 0x34) Transmit Sync. Holding Register
  592. RC0R : longword; // *< \brief (Ssc Offset: 0x38) Receive Compare 0 Register
  593. RC1R : longword; // *< \brief (Ssc Offset: 0x3C) Receive Compare 1 Register
  594. SR : longword; // *< \brief (Ssc Offset: 0x40) Status Register
  595. IER : longword; // *< \brief (Ssc Offset: 0x44) Interrupt Enable Register
  596. IDR : longword; // *< \brief (Ssc Offset: 0x48) Interrupt Disable Register
  597. IMR : longword; // *< \brief (Ssc Offset: 0x4C) Interrupt Mask Register
  598. Reserved3 : array[0..36] of longword;
  599. WPMR : longword; // *< \brief (Ssc Offset: 0xE4) Write Protect Mode Register
  600. WPSR : longword; // *< \brief (Ssc Offset: 0xE8) Write Protect Status Register
  601. end;
  602. TSUPC_Registers = record
  603. CR : longword; // *< \brief (Supc Offset: 0x00) Supply Controller Control Register
  604. SMMR : longword; // *< \brief (Supc Offset: 0x04) Supply Controller Supply Monitor Mode Register
  605. MR : longword; // *< \brief (Supc Offset: 0x08) Supply Controller Mode Register
  606. WUMR : longword; // *< \brief (Supc Offset: 0x0C) Supply Controller Wake Up Mode Register
  607. WUIR : longword; // *< \brief (Supc Offset: 0x10) Supply Controller Wake Up Inputs Register
  608. SR : longword; // *< \brief (Supc Offset: 0x14) Supply Controller Status Register
  609. end;
  610. TTCCHANNEL_Registers = record
  611. CCR : longword; // *< \brief (TcChannel Offset: 0x0) Channel Control Register
  612. CMR : longword; // *< \brief (TcChannel Offset: 0x4) Channel Mode Register
  613. SMMR : longword; // *< \brief (TcChannel Offset: 0x8) Stepper Motor Mode Register
  614. Reserved1 : array[0..0] of longword;
  615. CV : longword; // *< \brief (TcChannel Offset: 0x10) Counter Value
  616. RA : longword; // *< \brief (TcChannel Offset: 0x14) Register A
  617. RB : longword; // *< \brief (TcChannel Offset: 0x18) Register B
  618. RC : longword; // *< \brief (TcChannel Offset: 0x1C) Register C
  619. SR : longword; // *< \brief (TcChannel Offset: 0x20) Status Register
  620. IER : longword; // *< \brief (TcChannel Offset: 0x24) Interrupt Enable Register
  621. IDR : longword; // *< \brief (TcChannel Offset: 0x28) Interrupt Disable Register
  622. IMR : longword; // *< \brief (TcChannel Offset: 0x2C) Interrupt Mask Register
  623. Reserved2 : array[0..3] of longword;
  624. end;
  625. TTC_Registers = record
  626. CHANNEL : array[0..2] of TTcChannel_Registers; // *< \brief (Tc Offset: 0x0) channel = 0 .. 2
  627. BCR : longword; // *< \brief (Tc Offset: 0xC0) Block Control Register
  628. BMR : longword; // *< \brief (Tc Offset: 0xC4) Block Mode Register
  629. QIER : longword; // *< \brief (Tc Offset: 0xC8) QDEC Interrupt Enable Register
  630. QIDR : longword; // *< \brief (Tc Offset: 0xCC) QDEC Interrupt Disable Register
  631. QIMR : longword; // *< \brief (Tc Offset: 0xD0) QDEC Interrupt Mask Register
  632. QISR : longword; // *< \brief (Tc Offset: 0xD4) QDEC Interrupt Status Register
  633. FMR : longword; // *< \brief (Tc Offset: 0xD8) Fault Mode Register
  634. Reserved1 : array[0..1] of longword;
  635. WPMR : longword; // *< \brief (Tc Offset: 0xE4) Write Protect Mode Register
  636. end;
  637. TTRNG_Registers = record
  638. CR : longword; // *< \brief (Trng Offset: 0x00) Control Register
  639. Reserved1 : array[0..2] of longword;
  640. IER : longword; // *< \brief (Trng Offset: 0x10) Interrupt Enable Register
  641. IDR : longword; // *< \brief (Trng Offset: 0x14) Interrupt Disable Register
  642. IMR : longword; // *< \brief (Trng Offset: 0x18) Interrupt Mask Register
  643. ISR : longword; // *< \brief (Trng Offset: 0x1C) Interrupt Status Register
  644. Reserved2 : array[0..11] of longword;
  645. ODATA : longword; // *< \brief (Trng Offset: 0x50) Output Data Register
  646. end;
  647. TTWI_Registers = record
  648. CR : longword; // *< \brief (Twi Offset: 0x00) Control Register
  649. MMR : longword; // *< \brief (Twi Offset: 0x04) Master Mode Register
  650. SMR : longword; // *< \brief (Twi Offset: 0x08) Slave Mode Register
  651. IADR : longword; // *< \brief (Twi Offset: 0x0C) Internal Address Register
  652. CWGR : longword; // *< \brief (Twi Offset: 0x10) Clock Waveform Generator Register
  653. Reserved1 : array[0..2] of longword;
  654. SR : longword; // *< \brief (Twi Offset: 0x20) Status Register
  655. IER : longword; // *< \brief (Twi Offset: 0x24) Interrupt Enable Register
  656. IDR : longword; // *< \brief (Twi Offset: 0x28) Interrupt Disable Register
  657. IMR : longword; // *< \brief (Twi Offset: 0x2C) Interrupt Mask Register
  658. RHR : longword; // *< \brief (Twi Offset: 0x30) Receive Holding Register
  659. THR : longword; // *< \brief (Twi Offset: 0x34) Transmit Holding Register
  660. Reserved2 : array[0..49] of longword;
  661. RPR : longword; // *< \brief (Twi Offset: 0x100) Receive Pointer Register
  662. RCR : longword; // *< \brief (Twi Offset: 0x104) Receive Counter Register
  663. TPR : longword; // *< \brief (Twi Offset: 0x108) Transmit Pointer Register
  664. TCR : longword; // *< \brief (Twi Offset: 0x10C) Transmit Counter Register
  665. RNPR : longword; // *< \brief (Twi Offset: 0x110) Receive Next Pointer Register
  666. RNCR : longword; // *< \brief (Twi Offset: 0x114) Receive Next Counter Register
  667. TNPR : longword; // *< \brief (Twi Offset: 0x118) Transmit Next Pointer Register
  668. TNCR : longword; // *< \brief (Twi Offset: 0x11C) Transmit Next Counter Register
  669. PTCR : longword; // *< \brief (Twi Offset: 0x120) Transfer Control Register
  670. PTSR : longword; // *< \brief (Twi Offset: 0x124) Transfer Status Register
  671. end;
  672. TUART_Registers = record
  673. CR : longword; // *< \brief (Uart Offset: 0x0000) Control Register
  674. MR : longword; // *< \brief (Uart Offset: 0x0004) Mode Register
  675. IER : longword; // *< \brief (Uart Offset: 0x0008) Interrupt Enable Register
  676. IDR : longword; // *< \brief (Uart Offset: 0x000C) Interrupt Disable Register
  677. IMR : longword; // *< \brief (Uart Offset: 0x0010) Interrupt Mask Register
  678. SR : longword; // *< \brief (Uart Offset: 0x0014) Status Register
  679. RHR : longword; // *< \brief (Uart Offset: 0x0018) Receive Holding Register
  680. THR : longword; // *< \brief (Uart Offset: 0x001C) Transmit Holding Register
  681. BRGR : longword; // *< \brief (Uart Offset: 0x0020) Baud Rate Generator Register
  682. Reserved1 : array[0..54] of longword;
  683. RPR : longword; // *< \brief (Uart Offset: 0x100) Receive Pointer Register
  684. RCR : longword; // *< \brief (Uart Offset: 0x104) Receive Counter Register
  685. TPR : longword; // *< \brief (Uart Offset: 0x108) Transmit Pointer Register
  686. TCR : longword; // *< \brief (Uart Offset: 0x10C) Transmit Counter Register
  687. RNPR : longword; // *< \brief (Uart Offset: 0x110) Receive Next Pointer Register
  688. RNCR : longword; // *< \brief (Uart Offset: 0x114) Receive Next Counter Register
  689. TNPR : longword; // *< \brief (Uart Offset: 0x118) Transmit Next Pointer Register
  690. TNCR : longword; // *< \brief (Uart Offset: 0x11C) Transmit Next Counter Register
  691. PTCR : longword; // *< \brief (Uart Offset: 0x120) Transfer Control Register
  692. PTSR : longword; // *< \brief (Uart Offset: 0x124) Transfer Status Register
  693. end;
  694. TUOTGHSDEVDMA_Registers = record
  695. DEVDMANXTDSC : longword; // *< \brief (UotghsDevdma Offset: 0x0) Device DMA Channel Next Descriptor Address Register
  696. DEVDMAADDRESS : longword; // *< \brief (UotghsDevdma Offset: 0x4) Device DMA Channel Address Register
  697. DEVDMACONTROL : longword; // *< \brief (UotghsDevdma Offset: 0x8) Device DMA Channel Control Register
  698. DEVDMASTATUS : longword; // *< \brief (UotghsDevdma Offset: 0xC) Device DMA Channel Status Register
  699. end;
  700. TUOTGHSHSTDMA_Registers = record
  701. HSTDMANXTDSC : longword; // *< \brief (UotghsHstdma Offset: 0x0) Host DMA Channel Next Descriptor Address Register
  702. HSTDMAADDRESS : longword; // *< \brief (UotghsHstdma Offset: 0x4) Host DMA Channel Address Register
  703. HSTDMACONTROL : longword; // *< \brief (UotghsHstdma Offset: 0x8) Host DMA Channel Control Register
  704. HSTDMASTATUS : longword; // *< \brief (UotghsHstdma Offset: 0xC) Host DMA Channel Status Register
  705. end;
  706. TUOTGHS_Registers = record
  707. DEVCTRL : longword; // *< \brief (Uotghs Offset: 0x0000) Device General Control Register
  708. DEVISR : longword; // *< \brief (Uotghs Offset: 0x0004) Device Global Interrupt Status Register
  709. DEVICR : longword; // *< \brief (Uotghs Offset: 0x0008) Device Global Interrupt Clear Register
  710. DEVIFR : longword; // *< \brief (Uotghs Offset: 0x000C) Device Global Interrupt Set Register
  711. DEVIMR : longword; // *< \brief (Uotghs Offset: 0x0010) Device Global Interrupt Mask Register
  712. DEVIDR : longword; // *< \brief (Uotghs Offset: 0x0014) Device Global Interrupt Disable Register
  713. DEVIER : longword; // *< \brief (Uotghs Offset: 0x0018) Device Global Interrupt Enable Register
  714. DEVEPT : longword; // *< \brief (Uotghs Offset: 0x001C) Device Endpoint Register
  715. DEVFNUM : longword; // *< \brief (Uotghs Offset: 0x0020) Device Frame Number Register
  716. Reserved1 : array[0..54] of longword;
  717. DEVEPTCFG : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x100) Device Endpoint Configuration Register (n = 0)
  718. Reserved2 : array[0..1] of longword;
  719. DEVEPTISR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x130) Device Endpoint Status Register (n = 0)
  720. Reserved3 : array[0..1] of longword;
  721. DEVEPTICR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x160) Device Endpoint Clear Register (n = 0)
  722. Reserved4 : array[0..1] of longword;
  723. DEVEPTIFR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x190) Device Endpoint Set Register (n = 0)
  724. Reserved5 : array[0..1] of longword;
  725. DEVEPTIMR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x1C0) Device Endpoint Mask Register (n = 0)
  726. Reserved6 : array[0..1] of longword;
  727. DEVEPTIER : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x1F0) Device Endpoint Enable Register (n = 0)
  728. Reserved7 : array[0..1] of longword;
  729. DEVEPTIDR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x220) Device Endpoint Disable Register (n = 0)
  730. Reserved8 : array[0..49] of longword;
  731. DEVDMA : array[0..6] of TUotghsDevdma_Registers; // *< \brief (Uotghs Offset: 0x310) n = 1 .. 7
  732. Reserved9 : array[0..31] of longword;
  733. HSTCTRL : longword; // *< \brief (Uotghs Offset: 0x0400) Host General Control Register
  734. HSTISR : longword; // *< \brief (Uotghs Offset: 0x0404) Host Global Interrupt Status Register
  735. HSTICR : longword; // *< \brief (Uotghs Offset: 0x0408) Host Global Interrupt Clear Register
  736. HSTIFR : longword; // *< \brief (Uotghs Offset: 0x040C) Host Global Interrupt Set Register
  737. HSTIMR : longword; // *< \brief (Uotghs Offset: 0x0410) Host Global Interrupt Mask Register
  738. HSTIDR : longword; // *< \brief (Uotghs Offset: 0x0414) Host Global Interrupt Disable Register
  739. HSTIER : longword; // *< \brief (Uotghs Offset: 0x0418) Host Global Interrupt Enable Register
  740. HSTPIP : longword; // *< \brief (Uotghs Offset: 0x0041C) Host Pipe Register
  741. HSTFNUM : longword; // *< \brief (Uotghs Offset: 0x0420) Host Frame Number Register
  742. HSTADDR1 : longword; // *< \brief (Uotghs Offset: 0x0424) Host Address 1 Register
  743. HSTADDR2 : longword; // *< \brief (Uotghs Offset: 0x0428) Host Address 2 Register
  744. HSTADDR3 : longword; // *< \brief (Uotghs Offset: 0x042C) Host Address 3 Register
  745. Reserved10 : array[0..51] of longword;
  746. HSTPIPCFG : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x500) Host Pipe Configuration Register (n = 0)
  747. Reserved11 : array[0..1] of longword;
  748. HSTPIPISR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x530) Host Pipe Status Register (n = 0)
  749. Reserved12 : array[0..1] of longword;
  750. HSTPIPICR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x560) Host Pipe Clear Register (n = 0)
  751. Reserved13 : array[0..1] of longword;
  752. HSTPIPIFR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x590) Host Pipe Set Register (n = 0)
  753. Reserved14 : array[0..1] of longword;
  754. HSTPIPIMR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x5C0) Host Pipe Mask Register (n = 0)
  755. Reserved15 : array[0..1] of longword;
  756. HSTPIPIER : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x5F0) Host Pipe Enable Register (n = 0)
  757. Reserved16 : array[0..1] of longword;
  758. HSTPIPIDR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x620) Host Pipe Disable Register (n = 0)
  759. Reserved17 : array[0..1] of longword;
  760. HSTPIPINRQ : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x650) Host Pipe IN Request Register (n = 0)
  761. Reserved18 : array[0..1] of longword;
  762. HSTPIPERR : array[0..9] of longword; // *< \brief (Uotghs Offset: 0x680) Host Pipe Error Register (n = 0)
  763. Reserved19 : array[0..25] of longword;
  764. HSTDMA : array[0..6] of TUotghsHstdma_Registers; // *< \brief (Uotghs Offset: 0x710) n = 1 .. 7
  765. Reserved20 : array[0..31] of longword;
  766. CTRL : longword; // *< \brief (Uotghs Offset: 0x0800) General Control Register
  767. SR : longword; // *< \brief (Uotghs Offset: 0x0804) General Status Register
  768. SCR : longword; // *< \brief (Uotghs Offset: 0x0808) General Status Clear Register
  769. SFR : longword; // *< \brief (Uotghs Offset: 0x080C) General Status Set Register
  770. Reserved21 : array[0..6] of longword;
  771. FSM : longword; // *< \brief (Uotghs Offset: 0x082C) General Finite State Machine Register
  772. end;
  773. TUSART_Registers = record
  774. CR : longword; // *< \brief (Usart Offset: 0x0000) Control Register
  775. MR : longword; // *< \brief (Usart Offset: 0x0004) Mode Register
  776. IER : longword; // *< \brief (Usart Offset: 0x0008) Interrupt Enable Register
  777. IDR : longword; // *< \brief (Usart Offset: 0x000C) Interrupt Disable Register
  778. IMR : longword; // *< \brief (Usart Offset: 0x0010) Interrupt Mask Register
  779. CSR : longword; // *< \brief (Usart Offset: 0x0014) Channel Status Register
  780. RHR : longword; // *< \brief (Usart Offset: 0x0018) Receiver Holding Register
  781. THR : longword; // *< \brief (Usart Offset: 0x001C) Transmitter Holding Register
  782. BRGR : longword; // *< \brief (Usart Offset: 0x0020) Baud Rate Generator Register
  783. RTOR : longword; // *< \brief (Usart Offset: 0x0024) Receiver Time-out Register
  784. TTGR : longword; // *< \brief (Usart Offset: 0x0028) Transmitter Timeguard Register
  785. Reserved1 : array[0..4] of longword;
  786. FIDI : longword; // *< \brief (Usart Offset: 0x0040) FI DI Ratio Register
  787. NER : longword; // *< \brief (Usart Offset: 0x0044) Number of Errors Register
  788. Reserved2 : array[0..0] of longword;
  789. &IF : longword; // *< \brief (Usart Offset: 0x004C) IrDA Filter Register
  790. MAN : longword; // *< \brief (Usart Offset: 0x0050) Manchester Encoder Decoder Register
  791. LINMR : longword; // *< \brief (Usart Offset: 0x0054) LIN Mode Register
  792. LINIR : longword; // *< \brief (Usart Offset: 0x0058) LIN Identifier Register
  793. Reserved3 : array[0..33] of longword;
  794. WPMR : longword; // *< \brief (Usart Offset: 0xE4) Write Protect Mode Register
  795. WPSR : longword; // *< \brief (Usart Offset: 0xE8) Write Protect Status Register
  796. Reserved4 : array[0..4] of longword;
  797. RPR : longword; // *< \brief (Usart Offset: 0x100) Receive Pointer Register
  798. RCR : longword; // *< \brief (Usart Offset: 0x104) Receive Counter Register
  799. TPR : longword; // *< \brief (Usart Offset: 0x108) Transmit Pointer Register
  800. TCR : longword; // *< \brief (Usart Offset: 0x10C) Transmit Counter Register
  801. RNPR : longword; // *< \brief (Usart Offset: 0x110) Receive Next Pointer Register
  802. RNCR : longword; // *< \brief (Usart Offset: 0x114) Receive Next Counter Register
  803. TNPR : longword; // *< \brief (Usart Offset: 0x118) Transmit Next Pointer Register
  804. TNCR : longword; // *< \brief (Usart Offset: 0x11C) Transmit Next Counter Register
  805. PTCR : longword; // *< \brief (Usart Offset: 0x120) Transfer Control Register
  806. PTSR : longword; // *< \brief (Usart Offset: 0x124) Transfer Status Register
  807. end;
  808. TWDT_Registers = record
  809. CR : longword; // *< \brief (Wdt Offset: 0x00) Control Register
  810. MR : longword; // *< \brief (Wdt Offset: 0x04) Mode Register
  811. SR : longword; // *< \brief (Wdt Offset: 0x08) Status Register
  812. end;
  813. var
  814. HSMCI : THsmci_Registers absolute $40000000; // *< \brief (HSMCI ) Base Address
  815. SSC : TSsc_Registers absolute $40004000; // *< \brief (SSC ) Base Address
  816. SPI0 : TSpi_Registers absolute $40008000; // *< \brief (SPI0 ) Base Address
  817. TC0 : TTc_Registers absolute $40080000; // *< \brief (TC0 ) Base Address
  818. TC1 : TTc_Registers absolute $40084000; // *< \brief (TC1 ) Base Address
  819. TC2 : TTc_Registers absolute $40088000; // *< \brief (TC2 ) Base Address
  820. TWI0 : TTwi_Registers absolute $4008C000; // *< \brief (TWI0 ) Base Address
  821. PDC_TWI0 : TPdc_Registers absolute $4008C100; // *< \brief (PDC_TWI0 ) Base Address
  822. TWI1 : TTwi_Registers absolute $40090000; // *< \brief (TWI1 ) Base Address
  823. PDC_TWI1 : TPdc_Registers absolute $40090100; // *< \brief (PDC_TWI1 ) Base Address
  824. PWM : TPwm_Registers absolute $40094000; // *< \brief (PWM ) Base Address
  825. PDC_PWM : TPdc_Registers absolute $40094100; // *< \brief (PDC_PWM ) Base Address
  826. USART0 : TUsart_Registers absolute $40098000; // *< \brief (USART0 ) Base Address
  827. PDC_USART0 : TPdc_Registers absolute $40098100; // *< \brief (PDC_USART0) Base Address
  828. USART1 : TUsart_Registers absolute $4009C000; // *< \brief (USART1 ) Base Address
  829. PDC_USART1 : TPdc_Registers absolute $4009C100; // *< \brief (PDC_USART1) Base Address
  830. USART2 : TUsart_Registers absolute $400A0000; // *< \brief (USART2 ) Base Address
  831. PDC_USART2 : TPdc_Registers absolute $400A0100; // *< \brief (PDC_USART2) Base Address
  832. USART3 : TUsart_Registers absolute $400A4000; // *< \brief (USART3 ) Base Address
  833. PDC_USART3 : TPdc_Registers absolute $400A4100; // *< \brief (PDC_USART3) Base Address
  834. UOTGHS : TUotghs_Registers absolute $400AC000; // *< \brief (UOTGHS ) Base Address
  835. EMAC : TEmac_Registers absolute $400B0000; // *< \brief (EMAC ) Base Address
  836. CAN0 : TCan_Registers absolute $400B4000; // *< \brief (CAN0 ) Base Address
  837. CAN1 : TCan_Registers absolute $400B8000; // *< \brief (CAN1 ) Base Address
  838. TRNG : TTrng_Registers absolute $400BC000; // *< \brief (TRNG ) Base Address
  839. ADC : TAdc_Registers absolute $400C0000; // *< \brief (ADC ) Base Address
  840. PDC_ADC : TPdc_Registers absolute $400C0100; // *< \brief (PDC_ADC ) Base Address
  841. DMAC : TDmac_Registers absolute $400C4000; // *< \brief (DMAC ) Base Address
  842. DACC : TDacc_Registers absolute $400C8000; // *< \brief (DACC ) Base Address
  843. PDC_DACC : TPdc_Registers absolute $400C8100; // *< \brief (PDC_DACC ) Base Address
  844. SMC : TSmc_Registers absolute $400E0000; // *< \brief (SMC ) Base Address
  845. MATRIX : TMatrix_Registers absolute $400E0400; // *< \brief (MATRIX ) Base Address
  846. PMC : TPmc_Registers absolute $400E0600; // *< \brief (PMC ) Base Address
  847. UART : TUart_Registers absolute $400E0800; // *< \brief (UART ) Base Address
  848. PDC_UART : TPdc_Registers absolute $400E0900; // *< \brief (PDC_UART ) Base Address
  849. CHIPID : TChipid_Registers absolute $400E0940; // *< \brief (CHIPID ) Base Address
  850. EFC0 : TEfc_Registers absolute $400E0A00; // *< \brief (EFC0 ) Base Address
  851. EFC1 : TEfc_Registers absolute $400E0C00; // *< \brief (EFC1 ) Base Address
  852. PIOA : TPio_Registers absolute $400E0E00; // *< \brief (PIOA ) Base Address
  853. PIOB : TPio_Registers absolute $400E1000; // *< \brief (PIOB ) Base Address
  854. PIOC : TPio_Registers absolute $400E1200; // *< \brief (PIOC ) Base Address
  855. PIOD : TPio_Registers absolute $400E1400; // *< \brief (PIOD ) Base Address
  856. RSTC : TRstc_Registers absolute $400E1A00; // *< \brief (RSTC ) Base Address
  857. SUPC : TSupc_Registers absolute $400E1A10; // *< \brief (SUPC ) Base Address
  858. RTT : TRtt_Registers absolute $400E1A30; // *< \brief (RTT ) Base Address
  859. WDT : TWdt_Registers absolute $400E1A50; // *< \brief (WDT ) Base Address
  860. RTC : TRtc_Registers absolute $400E1A60; // *< \brief (RTC ) Base Address
  861. GPBR : TGpbr_Registers absolute $400E1A90; // *< \brief (GPBR ) Base Address
  862. implementation
  863. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  864. procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
  865. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  866. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  867. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  868. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  869. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  870. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  871. procedure SUPC_interrupt; external name 'SUPC_interrupt';
  872. procedure RSTC_interrupt; external name 'RSTC_interrupt';
  873. procedure RTC_interrupt; external name 'RTC_interrupt';
  874. procedure RTT_interrupt; external name 'RTT_interrupt';
  875. procedure WDT_interrupt; external name 'WDT_interrupt';
  876. procedure PMC_interrupt; external name 'PMC_interrupt';
  877. procedure EFC0_interrupt; external name 'EFC0_interrupt';
  878. procedure EFC1_interrupt; external name 'EFC1_interrupt';
  879. procedure UART_interrupt; external name 'UART_interrupt';
  880. procedure SMC_interrupt; external name 'SMC_interrupt';
  881. procedure PIOA_interrupt; external name 'PIOA_interrupt';
  882. procedure PIOB_interrupt; external name 'PIOB_interrupt';
  883. procedure PIOC_interrupt; external name 'PIOC_interrupt';
  884. procedure PIOD_interrupt; external name 'PIOD_interrupt';
  885. procedure USART0_interrupt; external name 'USART0_interrupt';
  886. procedure USART1_interrupt; external name 'USART1_interrupt';
  887. procedure USART2_interrupt; external name 'USART2_interrupt';
  888. procedure USART3_interrupt; external name 'USART3_interrupt';
  889. procedure HSMCI_interrupt; external name 'HSMCI_interrupt';
  890. procedure TWI0_interrupt; external name 'TWI0_interrupt';
  891. procedure TWI1_interrupt; external name 'TWI1_interrupt';
  892. procedure SPI0_interrupt; external name 'SPI0_interrupt';
  893. procedure SSC_interrupt; external name 'SSC_interrupt';
  894. procedure TC0_interrupt; external name 'TC0_interrupt';
  895. procedure TC1_interrupt; external name 'TC1_interrupt';
  896. procedure TC2_interrupt; external name 'TC2_interrupt';
  897. procedure TC3_interrupt; external name 'TC3_interrupt';
  898. procedure TC4_interrupt; external name 'TC4_interrupt';
  899. procedure TC5_interrupt; external name 'TC5_interrupt';
  900. procedure TC6_interrupt; external name 'TC6_interrupt';
  901. procedure TC7_interrupt; external name 'TC7_interrupt';
  902. procedure TC8_interrupt; external name 'TC8_interrupt';
  903. procedure PWM_interrupt; external name 'PWM_interrupt';
  904. procedure ADC_interrupt; external name 'ADC_interrupt';
  905. procedure DACC_interrupt; external name 'DACC_interrupt';
  906. procedure DMAC_interrupt; external name 'DMAC_interrupt';
  907. procedure UOTGHS_interrupt; external name 'UOTGHS_interrupt';
  908. procedure TRNG_interrupt; external name 'TRNG_interrupt';
  909. procedure EMAC_interrupt; external name 'EMAC_interrupt';
  910. procedure CAN0_interrupt; external name 'CAN0_interrupt';
  911. procedure CAN1_interrupt; external name 'CAN1_interrupt';
  912. procedure PERIPH_COUNT_interrupt; external name 'PERIPH_COUNT_interrupt';
  913. {$i cortexm3_start.inc}
  914. procedure Vectors; assembler; nostackframe;
  915. label interrupt_vectors;
  916. asm
  917. .section ".init.interrupt_vectors"
  918. interrupt_vectors:
  919. .long _stack_top
  920. .long Startup
  921. .long NonMaskableInt_interrupt
  922. .long 0
  923. .long MemoryManagement_interrupt
  924. .long BusFault_interrupt
  925. .long UsageFault_interrupt
  926. .long 0
  927. .long 0
  928. .long 0
  929. .long 0
  930. .long SVCall_interrupt
  931. .long DebugMonitor_interrupt
  932. .long 0
  933. .long PendSV_interrupt
  934. .long SysTick_interrupt
  935. .long SUPC_interrupt
  936. .long RSTC_interrupt
  937. .long RTC_interrupt
  938. .long RTT_interrupt
  939. .long WDT_interrupt
  940. .long PMC_interrupt
  941. .long EFC0_interrupt
  942. .long EFC1_interrupt
  943. .long UART_interrupt
  944. .long SMC_interrupt
  945. .long 0
  946. .long PIOA_interrupt
  947. .long PIOB_interrupt
  948. .long PIOC_interrupt
  949. .long PIOD_interrupt
  950. .long 0
  951. .long 0
  952. .long USART0_interrupt
  953. .long USART1_interrupt
  954. .long USART2_interrupt
  955. .long USART3_interrupt
  956. .long HSMCI_interrupt
  957. .long TWI0_interrupt
  958. .long TWI1_interrupt
  959. .long SPI0_interrupt
  960. .long 0
  961. .long SSC_interrupt
  962. .long TC0_interrupt
  963. .long TC1_interrupt
  964. .long TC2_interrupt
  965. .long TC3_interrupt
  966. .long TC4_interrupt
  967. .long TC5_interrupt
  968. .long TC6_interrupt
  969. .long TC7_interrupt
  970. .long TC8_interrupt
  971. .long PWM_interrupt
  972. .long ADC_interrupt
  973. .long DACC_interrupt
  974. .long DMAC_interrupt
  975. .long UOTGHS_interrupt
  976. .long TRNG_interrupt
  977. .long EMAC_interrupt
  978. .long CAN0_interrupt
  979. .long CAN1_interrupt
  980. .long PERIPH_COUNT_interrupt
  981. .weak NonMaskableInt_interrupt
  982. .weak MemoryManagement_interrupt
  983. .weak BusFault_interrupt
  984. .weak UsageFault_interrupt
  985. .weak SVCall_interrupt
  986. .weak DebugMonitor_interrupt
  987. .weak PendSV_interrupt
  988. .weak SysTick_interrupt
  989. .weak SUPC_interrupt
  990. .weak RSTC_interrupt
  991. .weak RTC_interrupt
  992. .weak RTT_interrupt
  993. .weak WDT_interrupt
  994. .weak PMC_interrupt
  995. .weak EFC0_interrupt
  996. .weak EFC1_interrupt
  997. .weak UART_interrupt
  998. .weak SMC_interrupt
  999. .weak PIOA_interrupt
  1000. .weak PIOB_interrupt
  1001. .weak PIOC_interrupt
  1002. .weak PIOD_interrupt
  1003. .weak USART0_interrupt
  1004. .weak USART1_interrupt
  1005. .weak USART2_interrupt
  1006. .weak USART3_interrupt
  1007. .weak HSMCI_interrupt
  1008. .weak TWI0_interrupt
  1009. .weak TWI1_interrupt
  1010. .weak SPI0_interrupt
  1011. .weak SSC_interrupt
  1012. .weak TC0_interrupt
  1013. .weak TC1_interrupt
  1014. .weak TC2_interrupt
  1015. .weak TC3_interrupt
  1016. .weak TC4_interrupt
  1017. .weak TC5_interrupt
  1018. .weak TC6_interrupt
  1019. .weak TC7_interrupt
  1020. .weak TC8_interrupt
  1021. .weak PWM_interrupt
  1022. .weak ADC_interrupt
  1023. .weak DACC_interrupt
  1024. .weak DMAC_interrupt
  1025. .weak UOTGHS_interrupt
  1026. .weak TRNG_interrupt
  1027. .weak EMAC_interrupt
  1028. .weak CAN0_interrupt
  1029. .weak CAN1_interrupt
  1030. .weak PERIPH_COUNT_interrupt
  1031. .set NonMaskableInt_interrupt, HaltProc
  1032. .set MemoryManagement_interrupt, HaltProc
  1033. .set BusFault_interrupt, HaltProc
  1034. .set UsageFault_interrupt, HaltProc
  1035. .set SVCall_interrupt, HaltProc
  1036. .set DebugMonitor_interrupt, HaltProc
  1037. .set PendSV_interrupt, HaltProc
  1038. .set SysTick_interrupt, HaltProc
  1039. .set SUPC_interrupt, HaltProc
  1040. .set RSTC_interrupt, HaltProc
  1041. .set RTC_interrupt, HaltProc
  1042. .set RTT_interrupt, HaltProc
  1043. .set WDT_interrupt, HaltProc
  1044. .set PMC_interrupt, HaltProc
  1045. .set EFC0_interrupt, HaltProc
  1046. .set EFC1_interrupt, HaltProc
  1047. .set UART_interrupt, HaltProc
  1048. .set SMC_interrupt, HaltProc
  1049. .set PIOA_interrupt, HaltProc
  1050. .set PIOB_interrupt, HaltProc
  1051. .set PIOC_interrupt, HaltProc
  1052. .set PIOD_interrupt, HaltProc
  1053. .set USART0_interrupt, HaltProc
  1054. .set USART1_interrupt, HaltProc
  1055. .set USART2_interrupt, HaltProc
  1056. .set USART3_interrupt, HaltProc
  1057. .set HSMCI_interrupt, HaltProc
  1058. .set TWI0_interrupt, HaltProc
  1059. .set TWI1_interrupt, HaltProc
  1060. .set SPI0_interrupt, HaltProc
  1061. .set SSC_interrupt, HaltProc
  1062. .set TC0_interrupt, HaltProc
  1063. .set TC1_interrupt, HaltProc
  1064. .set TC2_interrupt, HaltProc
  1065. .set TC3_interrupt, HaltProc
  1066. .set TC4_interrupt, HaltProc
  1067. .set TC5_interrupt, HaltProc
  1068. .set TC6_interrupt, HaltProc
  1069. .set TC7_interrupt, HaltProc
  1070. .set TC8_interrupt, HaltProc
  1071. .set PWM_interrupt, HaltProc
  1072. .set ADC_interrupt, HaltProc
  1073. .set DACC_interrupt, HaltProc
  1074. .set DMAC_interrupt, HaltProc
  1075. .set UOTGHS_interrupt, HaltProc
  1076. .set TRNG_interrupt, HaltProc
  1077. .set EMAC_interrupt, HaltProc
  1078. .set CAN0_interrupt, HaltProc
  1079. .set CAN1_interrupt, HaltProc
  1080. .set PERIPH_COUNT_interrupt, HaltProc
  1081. .text
  1082. end;
  1083. end.