1 //***************************************************************************** 2 // 3 // rom.h - Macros to facilitate calling functions in the ROM. 4 // 5 // Copyright (c) 2013 Texas Instruments Incorporated. All rights reserved. 6 // TI Information - Selective Disclosure 7 // 8 //***************************************************************************** 9 // 10 11 #ifndef __ROM_H__ 12 #define __ROM_H__ 13 14 //***************************************************************************** 15 // 16 // Pointers to the main API tables. 17 // 18 //***************************************************************************** 19 #define ROM_APITABLE ((unsigned long *)0x02000800) 20 #define ROM_VERSION (ROM_APITABLE[0]) 21 #define ROM_ADC14TABLE ((unsigned long *)(ROM_APITABLE[1])) 22 #define ROM_AES256TABLE ((unsigned long *)(ROM_APITABLE[2])) 23 #define ROM_COMPTABLE ((unsigned long *)(ROM_APITABLE[3])) 24 #define ROM_CRC32TABLE ((unsigned long *)(ROM_APITABLE[4])) 25 #define ROM_CSTABLE ((unsigned long *)(ROM_APITABLE[5])) 26 #define ROM_DMATABLE ((unsigned long *)(ROM_APITABLE[6])) 27 #define ROM_FLASHCTLTABLE ((unsigned long *)(ROM_APITABLE[7])) 28 #define ROM_FPUTABLE ((unsigned long *)(ROM_APITABLE[8])) 29 #define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[9])) 30 #define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[10])) 31 #define ROM_INTTABLE ((unsigned long *)(ROM_APITABLE[11])) 32 #define ROM_MPUTABLE ((unsigned long *)(ROM_APITABLE[12])) 33 #define ROM_PCMTABLE ((unsigned long *)(ROM_APITABLE[13])) 34 #define ROM_PMAPTABLE ((unsigned long *)(ROM_APITABLE[14])) 35 #define ROM_PSSTABLE ((unsigned long *)(ROM_APITABLE[15])) 36 #define ROM_REFTABLE ((unsigned long *)(ROM_APITABLE[16])) 37 #define ROM_RESETCTLTABLE ((unsigned long *)(ROM_APITABLE[17])) 38 #define ROM_RTCTABLE ((unsigned long *)(ROM_APITABLE[18])) 39 #define ROM_SPITABLE ((unsigned long *)(ROM_APITABLE[19])) 40 #define ROM_SYSCTLTABLE ((unsigned long *)(ROM_APITABLE[20])) 41 #define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[21])) 42 #define ROM_TIMER_ATABLE ((unsigned long *)(ROM_APITABLE[22])) 43 #define ROM_TIMER32TABLE ((unsigned long *)(ROM_APITABLE[23])) 44 #define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[24])) 45 #define ROM_WDTTABLE ((unsigned long *)(ROM_APITABLE[25])) 46 #define ROM_SYSCTLATABLE ((unsigned long *)(ROM_APITABLE[26])) 47 #define ROM_FLASHCTLATABLE ((unsigned long *)(ROM_APITABLE[27])) 48 #define ROM_LCDFTABLE ((unsigned long *)(ROM_APITABLE[28])) 49 50 #if defined(__MSP432P401R__) || defined(__MSP432P401M__) 51 #define TARGET_IS_MSP432P4XX 52 #else 53 #define TARGET_IS_MSP432P4XX_NEXT 54 #endif 55 56 //***************************************************************************** 57 // 58 // Macros for calling ROM functions in the ADC14 API. 59 // 60 //***************************************************************************** 61 #if defined(TARGET_IS_MSP432P4XX) || \ 62 defined(TARGET_IS_MSP432P4XX_NEXT) 63 #define ROM_ADC14_enableModule \ 64 ((void (*)(void))ROM_ADC14TABLE[0]) 65 #endif 66 #if defined(TARGET_IS_MSP432P4XX) || \ 67 defined(TARGET_IS_MSP432P4XX_NEXT) 68 #define ROM_ADC14_disableModule \ 69 ((bool (*)(void))ROM_ADC14TABLE[1]) 70 #endif 71 #if defined(TARGET_IS_MSP432P4XX) || \ 72 defined(TARGET_IS_MSP432P4XX_NEXT) 73 #define ROM_ADC14_initModule \ 74 ((bool (*)(uint32_t clockSource, \ 75 uint32_t clockPredivider, \ 76 uint32_t clockDivider, \ 77 uint32_t internalChannelMask))ROM_ADC14TABLE[2]) 78 #endif 79 #if defined(TARGET_IS_MSP432P4XX) || \ 80 defined(TARGET_IS_MSP432P4XX_NEXT) 81 #define ROM_ADC14_setResolution \ 82 ((void (*)(uint32_t resolution))ROM_ADC14TABLE[3]) 83 #endif 84 #if defined(TARGET_IS_MSP432P4XX) || \ 85 defined(TARGET_IS_MSP432P4XX_NEXT) 86 #define ROM_ADC14_getResolution \ 87 ((uint_fast32_t (*)(void))ROM_ADC14TABLE[4]) 88 #endif 89 #if defined(TARGET_IS_MSP432P4XX) || \ 90 defined(TARGET_IS_MSP432P4XX_NEXT) 91 #define ROM_ADC14_setSampleHoldTrigger \ 92 ((bool (*)(uint32_t source, \ 93 bool invertSignal))ROM_ADC14TABLE[5]) 94 #endif 95 #if defined(TARGET_IS_MSP432P4XX) || \ 96 defined(TARGET_IS_MSP432P4XX_NEXT) 97 #define ROM_ADC14_setSampleHoldTime \ 98 ((bool (*)(uint32_t firstPulseWidth, \ 99 uint32_t secondPulseWidth))ROM_ADC14TABLE[6]) 100 #endif 101 #if defined(TARGET_IS_MSP432P4XX) || \ 102 defined(TARGET_IS_MSP432P4XX_NEXT) 103 #define ROM_ADC14_configureMultiSequenceMode \ 104 ((bool (*)(uint32_t memoryStart, \ 105 uint32_t memoryEnd, \ 106 bool repeatMode))ROM_ADC14TABLE[7]) 107 #endif 108 #if defined(TARGET_IS_MSP432P4XX) || \ 109 defined(TARGET_IS_MSP432P4XX_NEXT) 110 #define ROM_ADC14_configureSingleSampleMode \ 111 ((bool (*)(uint32_t memoryDestination, \ 112 bool repeatMode))ROM_ADC14TABLE[8]) 113 #endif 114 #if defined(TARGET_IS_MSP432P4XX) || \ 115 defined(TARGET_IS_MSP432P4XX_NEXT) 116 #define ROM_ADC14_enableConversion \ 117 ((bool (*)(void))ROM_ADC14TABLE[9]) 118 #endif 119 #if defined(TARGET_IS_MSP432P4XX) || \ 120 defined(TARGET_IS_MSP432P4XX_NEXT) 121 #define ROM_ADC14_disableConversion \ 122 ((void (*)(void))ROM_ADC14TABLE[10]) 123 #endif 124 #if defined(TARGET_IS_MSP432P4XX) || \ 125 defined(TARGET_IS_MSP432P4XX_NEXT) 126 #define ROM_ADC14_isBusy \ 127 ((bool (*)(void))ROM_ADC14TABLE[11]) 128 #endif 129 #if defined(TARGET_IS_MSP432P4XX) || \ 130 defined(TARGET_IS_MSP432P4XX_NEXT) 131 #define ROM_ADC14_configureConversionMemory \ 132 ((bool (*)(uint32_t memorySelect, \ 133 uint32_t refSelect, \ 134 uint32_t channelSelect, \ 135 bool differntialMode))ROM_ADC14TABLE[12]) 136 #endif 137 #if defined(TARGET_IS_MSP432P4XX) || \ 138 defined(TARGET_IS_MSP432P4XX_NEXT) 139 #define ROM_ADC14_enableComparatorWindow \ 140 ((bool (*)(uint32_t memorySelect, \ 141 uint32_t windowSelect))ROM_ADC14TABLE[13]) 142 #endif 143 #if defined(TARGET_IS_MSP432P4XX) || \ 144 defined(TARGET_IS_MSP432P4XX_NEXT) 145 #define ROM_ADC14_disableComparatorWindow \ 146 ((bool (*)(uint32_t memorySelect))ROM_ADC14TABLE[14]) 147 #endif 148 #if defined(TARGET_IS_MSP432P4XX) || \ 149 defined(TARGET_IS_MSP432P4XX_NEXT) 150 #define ROM_ADC14_setComparatorWindowValue \ 151 ((bool (*)(uint32_t window, \ 152 int16_t low, \ 153 int16_t high))ROM_ADC14TABLE[15]) 154 #endif 155 #if defined(TARGET_IS_MSP432P4XX) || \ 156 defined(TARGET_IS_MSP432P4XX_NEXT) 157 #define ROM_ADC14_setResultFormat \ 158 ((bool (*)(uint32_t resultFormat))ROM_ADC14TABLE[16]) 159 #endif 160 #if defined(TARGET_IS_MSP432P4XX) || \ 161 defined(TARGET_IS_MSP432P4XX_NEXT) 162 #define ROM_ADC14_getResult \ 163 ((uint_fast16_t (*)(uint32_t memorySelect))ROM_ADC14TABLE[17]) 164 #endif 165 #if defined(TARGET_IS_MSP432P4XX) || \ 166 defined(TARGET_IS_MSP432P4XX_NEXT) 167 #define ROM_ADC14_getMultiSequenceResult \ 168 ((void (*)(uint16_t* res))ROM_ADC14TABLE[18]) 169 #endif 170 #if defined(TARGET_IS_MSP432P4XX) || \ 171 defined(TARGET_IS_MSP432P4XX_NEXT) 172 #define ROM_ADC14_getResultArray \ 173 ((void (*)(uint32_t memoryStart, \ 174 uint32_t memoryEnd, \ 175 uint16_t* res))ROM_ADC14TABLE[19]) 176 #endif 177 #if defined(TARGET_IS_MSP432P4XX) || \ 178 defined(TARGET_IS_MSP432P4XX_NEXT) 179 #define ROM_ADC14_enableReferenceBurst \ 180 ((bool (*)(void))ROM_ADC14TABLE[20]) 181 #endif 182 #if defined(TARGET_IS_MSP432P4XX) || \ 183 defined(TARGET_IS_MSP432P4XX_NEXT) 184 #define ROM_ADC14_disableReferenceBurst \ 185 ((bool (*)(void))ROM_ADC14TABLE[21]) 186 #endif 187 #if defined(TARGET_IS_MSP432P4XX) || \ 188 defined(TARGET_IS_MSP432P4XX_NEXT) 189 #define ROM_ADC14_setPowerMode \ 190 ((bool (*)(uint32_t powerMode))ROM_ADC14TABLE[22]) 191 #endif 192 #if defined(TARGET_IS_MSP432P4XX) || \ 193 defined(TARGET_IS_MSP432P4XX_NEXT) 194 #define ROM_ADC14_enableInterrupt \ 195 ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[23]) 196 #endif 197 #if defined(TARGET_IS_MSP432P4XX) || \ 198 defined(TARGET_IS_MSP432P4XX_NEXT) 199 #define ROM_ADC14_disableInterrupt \ 200 ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[24]) 201 #endif 202 #if defined(TARGET_IS_MSP432P4XX) || \ 203 defined(TARGET_IS_MSP432P4XX_NEXT) 204 #define ROM_ADC14_getInterruptStatus \ 205 ((uint_fast64_t (*)(void))ROM_ADC14TABLE[25]) 206 #endif 207 #if defined(TARGET_IS_MSP432P4XX) || \ 208 defined(TARGET_IS_MSP432P4XX_NEXT) 209 #define ROM_ADC14_getEnabledInterruptStatus \ 210 ((uint_fast64_t (*)(void))ROM_ADC14TABLE[26]) 211 #endif 212 #if defined(TARGET_IS_MSP432P4XX) || \ 213 defined(TARGET_IS_MSP432P4XX_NEXT) 214 #define ROM_ADC14_clearInterruptFlag \ 215 ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[27]) 216 #endif 217 #if defined(TARGET_IS_MSP432P4XX) || \ 218 defined(TARGET_IS_MSP432P4XX_NEXT) 219 #define ROM_ADC14_toggleConversionTrigger \ 220 ((bool (*)(void))ROM_ADC14TABLE[28]) 221 #endif 222 #if defined(TARGET_IS_MSP432P4XX) || \ 223 defined(TARGET_IS_MSP432P4XX_NEXT) 224 #define ROM_ADC14_enableSampleTimer \ 225 ((bool (*)(uint32_t multiSampleConvert))ROM_ADC14TABLE[29]) 226 #endif 227 #if defined(TARGET_IS_MSP432P4XX) || \ 228 defined(TARGET_IS_MSP432P4XX_NEXT) 229 #define ROM_ADC14_disableSampleTimer \ 230 ((bool (*)(void))ROM_ADC14TABLE[30]) 231 #endif 232 233 //***************************************************************************** 234 // 235 // Macros for calling ROM functions in the AES256 API. 236 // 237 //***************************************************************************** 238 #if defined(TARGET_IS_MSP432P4XX) || \ 239 defined(TARGET_IS_MSP432P4XX_NEXT) 240 #define ROM_AES256_setCipherKey \ 241 ((bool (*)(uint32_t moduleInstance, \ 242 const uint8_t *cipherKey, \ 243 uint_fast16_t keyLength))ROM_AES256TABLE[0]) 244 #endif 245 #if defined(TARGET_IS_MSP432P4XX) || \ 246 defined(TARGET_IS_MSP432P4XX_NEXT) 247 #define ROM_AES256_encryptData \ 248 ((void (*)(uint32_t moduleInstance, \ 249 const uint8_t *data, \ 250 uint8_t *encryptedData))ROM_AES256TABLE[1]) 251 #endif 252 #if defined(TARGET_IS_MSP432P4XX) || \ 253 defined(TARGET_IS_MSP432P4XX_NEXT) 254 #define ROM_AES256_decryptData \ 255 ((void (*)(uint32_t moduleInstance, \ 256 const uint8_t *data, \ 257 uint8_t *decryptedData))ROM_AES256TABLE[2]) 258 #endif 259 #if defined(TARGET_IS_MSP432P4XX) || \ 260 defined(TARGET_IS_MSP432P4XX_NEXT) 261 #define ROM_AES256_setDecipherKey \ 262 ((bool (*)(uint32_t moduleInstance, \ 263 const uint8_t *cipherKey, \ 264 uint_fast16_t keyLength))ROM_AES256TABLE[3]) 265 #endif 266 #if defined(TARGET_IS_MSP432P4XX) || \ 267 defined(TARGET_IS_MSP432P4XX_NEXT) 268 #define ROM_AES256_reset \ 269 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[4]) 270 #endif 271 #if defined(TARGET_IS_MSP432P4XX) || \ 272 defined(TARGET_IS_MSP432P4XX_NEXT) 273 #define ROM_AES256_startEncryptData \ 274 ((void (*)(uint32_t moduleInstance, \ 275 const uint8_t *data))ROM_AES256TABLE[5]) 276 #endif 277 #if defined(TARGET_IS_MSP432P4XX) || \ 278 defined(TARGET_IS_MSP432P4XX_NEXT) 279 #define ROM_AES256_startDecryptData \ 280 ((void (*)(uint32_t moduleInstance, \ 281 const uint8_t *data))ROM_AES256TABLE[6]) 282 #endif 283 #if defined(TARGET_IS_MSP432P4XX) || \ 284 defined(TARGET_IS_MSP432P4XX_NEXT) 285 #define ROM_AES256_startSetDecipherKey \ 286 ((bool (*)(uint32_t moduleInstance, \ 287 const uint8_t *cipherKey, \ 288 uint_fast16_t keyLength))ROM_AES256TABLE[7]) 289 #endif 290 #if defined(TARGET_IS_MSP432P4XX) || \ 291 defined(TARGET_IS_MSP432P4XX_NEXT) 292 #define ROM_AES256_getDataOut \ 293 ((bool (*)(uint32_t moduleInstance, \ 294 uint8_t *outputData))ROM_AES256TABLE[8]) 295 #endif 296 #if defined(TARGET_IS_MSP432P4XX) || \ 297 defined(TARGET_IS_MSP432P4XX_NEXT) 298 #define ROM_AES256_isBusy \ 299 ((bool (*)(uint32_t moduleInstance))ROM_AES256TABLE[9]) 300 #endif 301 #if defined(TARGET_IS_MSP432P4XX) || \ 302 defined(TARGET_IS_MSP432P4XX_NEXT) 303 #define ROM_AES256_clearErrorFlag \ 304 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[10]) 305 #endif 306 #if defined(TARGET_IS_MSP432P4XX) || \ 307 defined(TARGET_IS_MSP432P4XX_NEXT) 308 #define ROM_AES256_getErrorFlagStatus \ 309 ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[11]) 310 #endif 311 #if defined(TARGET_IS_MSP432P4XX) || \ 312 defined(TARGET_IS_MSP432P4XX_NEXT) 313 #define ROM_AES256_clearInterruptFlag \ 314 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[12]) 315 #endif 316 #if defined(TARGET_IS_MSP432P4XX) || \ 317 defined(TARGET_IS_MSP432P4XX_NEXT) 318 #define ROM_AES256_getInterruptStatus \ 319 ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[13]) 320 #endif 321 #if defined(TARGET_IS_MSP432P4XX) || \ 322 defined(TARGET_IS_MSP432P4XX_NEXT) 323 #define ROM_AES256_enableInterrupt \ 324 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[14]) 325 #endif 326 #if defined(TARGET_IS_MSP432P4XX) || \ 327 defined(TARGET_IS_MSP432P4XX_NEXT) 328 #define ROM_AES256_disableInterrupt \ 329 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[15]) 330 #endif 331 #if defined(TARGET_IS_MSP432P4XX) || \ 332 defined(TARGET_IS_MSP432P4XX_NEXT) 333 #define ROM_AES256_getInterruptFlagStatus \ 334 ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[18]) 335 #endif 336 337 //***************************************************************************** 338 // 339 // Macros for calling ROM functions in the Comp API. 340 // 341 //***************************************************************************** 342 #if defined(TARGET_IS_MSP432P4XX) || \ 343 defined(TARGET_IS_MSP432P4XX_NEXT) 344 #define ROM_COMP_E_initModule \ 345 ((bool (*)(uint32_t comparator, \ 346 const COMP_E_Config *config))ROM_COMPTABLE[0]) 347 #endif 348 #if defined(TARGET_IS_MSP432P4XX) || \ 349 defined(TARGET_IS_MSP432P4XX_NEXT) 350 #define ROM_COMP_E_setReferenceVoltage \ 351 ((void (*)(uint32_t comparator, \ 352 uint_fast16_t supplyVoltageReferenceBase, \ 353 uint_fast16_t lowerLimitSupplyVoltageFractionOf32, \ 354 uint_fast16_t upperLimitSupplyVoltageFractionOf32))ROM_COMPTABLE[1]) 355 #endif 356 #if defined(TARGET_IS_MSP432P4XX) || \ 357 defined(TARGET_IS_MSP432P4XX_NEXT) 358 #define ROM_COMP_E_setReferenceAccuracy \ 359 ((void (*)(uint32_t comparator, \ 360 uint_fast16_t referenceAccuracy))ROM_COMPTABLE[2]) 361 #endif 362 #if defined(TARGET_IS_MSP432P4XX) || \ 363 defined(TARGET_IS_MSP432P4XX_NEXT) 364 #define ROM_COMP_E_setPowerMode \ 365 ((void (*)(uint32_t comparator, \ 366 uint_fast16_t powerMode))ROM_COMPTABLE[3]) 367 #endif 368 #if defined(TARGET_IS_MSP432P4XX) || \ 369 defined(TARGET_IS_MSP432P4XX_NEXT) 370 #define ROM_COMP_E_enableModule \ 371 ((void (*)(uint32_t comparator))ROM_COMPTABLE[4]) 372 #endif 373 #if defined(TARGET_IS_MSP432P4XX) || \ 374 defined(TARGET_IS_MSP432P4XX_NEXT) 375 #define ROM_COMP_E_disableModule \ 376 ((void (*)(uint32_t comparator))ROM_COMPTABLE[5]) 377 #endif 378 #if defined(TARGET_IS_MSP432P4XX) || \ 379 defined(TARGET_IS_MSP432P4XX_NEXT) 380 #define ROM_COMP_E_shortInputs \ 381 ((void (*)(uint32_t comparator))ROM_COMPTABLE[6]) 382 #endif 383 #if defined(TARGET_IS_MSP432P4XX) || \ 384 defined(TARGET_IS_MSP432P4XX_NEXT) 385 #define ROM_COMP_E_unshortInputs \ 386 ((void (*)(uint32_t comparator))ROM_COMPTABLE[7]) 387 #endif 388 #if defined(TARGET_IS_MSP432P4XX) || \ 389 defined(TARGET_IS_MSP432P4XX_NEXT) 390 #define ROM_COMP_E_disableInputBuffer \ 391 ((void (*)(uint32_t comparator, \ 392 uint_fast16_t inputPort))ROM_COMPTABLE[8]) 393 #endif 394 #if defined(TARGET_IS_MSP432P4XX) || \ 395 defined(TARGET_IS_MSP432P4XX_NEXT) 396 #define ROM_COMP_E_enableInputBuffer \ 397 ((void (*)(uint32_t comparator, \ 398 uint_fast16_t inputPort))ROM_COMPTABLE[9]) 399 #endif 400 #if defined(TARGET_IS_MSP432P4XX) || \ 401 defined(TARGET_IS_MSP432P4XX_NEXT) 402 #define ROM_COMP_E_swapIO \ 403 ((void (*)(uint32_t comparator))ROM_COMPTABLE[10]) 404 #endif 405 #if defined(TARGET_IS_MSP432P4XX) || \ 406 defined(TARGET_IS_MSP432P4XX_NEXT) 407 #define ROM_COMP_E_outputValue \ 408 ((uint8_t (*)(uint32_t comparator))ROM_COMPTABLE[11]) 409 #endif 410 #if defined(TARGET_IS_MSP432P4XX) || \ 411 defined(TARGET_IS_MSP432P4XX_NEXT) 412 #define ROM_COMP_E_enableInterrupt \ 413 ((void (*)(uint32_t comparator, \ 414 uint_fast16_t mask))ROM_COMPTABLE[12]) 415 #endif 416 #if defined(TARGET_IS_MSP432P4XX) || \ 417 defined(TARGET_IS_MSP432P4XX_NEXT) 418 #define ROM_COMP_E_disableInterrupt \ 419 ((void (*)(uint32_t comparator, \ 420 uint_fast16_t mask))ROM_COMPTABLE[13]) 421 #endif 422 #if defined(TARGET_IS_MSP432P4XX) || \ 423 defined(TARGET_IS_MSP432P4XX_NEXT) 424 #define ROM_COMP_E_clearInterruptFlag \ 425 ((void (*)(uint32_t comparator, \ 426 uint_fast16_t mask))ROM_COMPTABLE[14]) 427 #endif 428 #if defined(TARGET_IS_MSP432P4XX) || \ 429 defined(TARGET_IS_MSP432P4XX_NEXT) 430 #define ROM_COMP_E_getInterruptStatus \ 431 ((uint_fast16_t (*)(uint32_t comparator))ROM_COMPTABLE[15]) 432 #endif 433 #if defined(TARGET_IS_MSP432P4XX) || \ 434 defined(TARGET_IS_MSP432P4XX_NEXT) 435 #define ROM_COMP_E_getEnabledInterruptStatus \ 436 ((uint_fast16_t (*)(uint32_t comparator))ROM_COMPTABLE[16]) 437 #endif 438 #if defined(TARGET_IS_MSP432P4XX) || \ 439 defined(TARGET_IS_MSP432P4XX_NEXT) 440 #define ROM_COMP_E_setInterruptEdgeDirection \ 441 ((void (*)(uint32_t comparator, \ 442 uint_fast8_t edgeDirection))ROM_COMPTABLE[17]) 443 #endif 444 #if defined(TARGET_IS_MSP432P4XX) || \ 445 defined(TARGET_IS_MSP432P4XX_NEXT) 446 #define ROM_COMP_E_toggleInterruptEdgeDirection \ 447 ((void (*)(uint32_t comparator))ROM_COMPTABLE[18]) 448 #endif 449 450 //***************************************************************************** 451 // 452 // Macros for calling ROM functions in the CRC32 API. 453 // 454 //***************************************************************************** 455 #if defined(TARGET_IS_MSP432P4XX) || \ 456 defined(TARGET_IS_MSP432P4XX_NEXT) 457 #define ROM_CRC32_setSeed \ 458 ((void (*)(uint32_t seed, \ 459 uint_fast8_t crcType))ROM_CRC32TABLE[0]) 460 #endif 461 #if defined(TARGET_IS_MSP432P4XX) || \ 462 defined(TARGET_IS_MSP432P4XX_NEXT) 463 #define ROM_CRC32_set8BitData \ 464 ((void (*)(uint8_t dataIn, \ 465 uint_fast8_t crcType))ROM_CRC32TABLE[1]) 466 #endif 467 #if defined(TARGET_IS_MSP432P4XX) || \ 468 defined(TARGET_IS_MSP432P4XX_NEXT) 469 #define ROM_CRC32_set16BitData \ 470 ((void (*)(uint16_t dataIn, \ 471 uint_fast8_t crcType))ROM_CRC32TABLE[2]) 472 #endif 473 #if defined(TARGET_IS_MSP432P4XX) || \ 474 defined(TARGET_IS_MSP432P4XX_NEXT) 475 #define ROM_CRC32_set32BitData \ 476 ((void (*)(uint32_t dataIn))ROM_CRC32TABLE[3]) 477 #endif 478 #if defined(TARGET_IS_MSP432P4XX) || \ 479 defined(TARGET_IS_MSP432P4XX_NEXT) 480 #define ROM_CRC32_set8BitDataReversed \ 481 ((void (*)(uint8_t dataIn, \ 482 uint_fast8_t crcType))ROM_CRC32TABLE[4]) 483 #endif 484 #if defined(TARGET_IS_MSP432P4XX) || \ 485 defined(TARGET_IS_MSP432P4XX_NEXT) 486 #define ROM_CRC32_set16BitDataReversed \ 487 ((void (*)(uint16_t dataIn, \ 488 uint_fast8_t crcType))ROM_CRC32TABLE[5]) 489 #endif 490 #if defined(TARGET_IS_MSP432P4XX) || \ 491 defined(TARGET_IS_MSP432P4XX_NEXT) 492 #define ROM_CRC32_set32BitDataReversed \ 493 ((void (*)(uint32_t dataIn))ROM_CRC32TABLE[6]) 494 #endif 495 #if defined(TARGET_IS_MSP432P4XX) || \ 496 defined(TARGET_IS_MSP432P4XX_NEXT) 497 #define ROM_CRC32_getResult \ 498 ((uint32_t (*)(uint_fast8_t crcType))ROM_CRC32TABLE[7]) 499 #endif 500 #if defined(TARGET_IS_MSP432P4XX) || \ 501 defined(TARGET_IS_MSP432P4XX_NEXT) 502 #define ROM_CRC32_getResultReversed \ 503 ((uint32_t (*)(uint_fast8_t crcType))ROM_CRC32TABLE[8]) 504 #endif 505 506 //***************************************************************************** 507 // 508 // Macros for calling ROM functions in the CS API. 509 // 510 //***************************************************************************** 511 #if defined(TARGET_IS_MSP432P4XX) || \ 512 defined(TARGET_IS_MSP432P4XX_NEXT) 513 #define ROM_CS_initClockSignal \ 514 ((void (*)(uint32_t selectedClockSignal, \ 515 uint32_t clockSource, \ 516 uint32_t clockSourceDivider))ROM_CSTABLE[0]) 517 #endif 518 #if defined(TARGET_IS_MSP432P4XX) || \ 519 defined(TARGET_IS_MSP432P4XX_NEXT) 520 #define ROM_CS_setReferenceOscillatorFrequency \ 521 ((void (*)(uint8_t referenceFrequency))ROM_CSTABLE[1]) 522 #endif 523 #if defined(TARGET_IS_MSP432P4XX) || \ 524 defined(TARGET_IS_MSP432P4XX_NEXT) 525 #define ROM_CS_enableClockRequest \ 526 ((void (*)(uint32_t selectClock))ROM_CSTABLE[2]) 527 #endif 528 #if defined(TARGET_IS_MSP432P4XX) || \ 529 defined(TARGET_IS_MSP432P4XX_NEXT) 530 #define ROM_CS_disableClockRequest \ 531 ((void (*)(uint32_t selectClock))ROM_CSTABLE[3]) 532 #endif 533 #if defined(TARGET_IS_MSP432P4XX) || \ 534 defined(TARGET_IS_MSP432P4XX_NEXT) 535 #define ROM_CS_setDCOCenteredFrequency \ 536 ((void (*)(uint32_t dcoFreq))ROM_CSTABLE[4]) 537 #endif 538 #if defined(TARGET_IS_MSP432P4XX) || \ 539 defined(TARGET_IS_MSP432P4XX_NEXT) 540 #define ROM_CS_tuneDCOFrequency \ 541 ((void (*)(int16_t tuneParameter))ROM_CSTABLE[5]) 542 #endif 543 #if defined(TARGET_IS_MSP432P4XX) || \ 544 defined(TARGET_IS_MSP432P4XX_NEXT) 545 #define ROM_CS_enableDCOExternalResistor \ 546 ((void (*)(void))ROM_CSTABLE[6]) 547 #endif 548 #if defined(TARGET_IS_MSP432P4XX) || \ 549 defined(TARGET_IS_MSP432P4XX_NEXT) 550 #define ROM_CS_disableDCOExternalResistor \ 551 ((void (*)(void))ROM_CSTABLE[7]) 552 #endif 553 #if defined(TARGET_IS_MSP432P4XX) || \ 554 defined(TARGET_IS_MSP432P4XX_NEXT) 555 #define ROM_CS_enableInterrupt \ 556 ((void (*)(uint32_t flags))ROM_CSTABLE[8]) 557 #endif 558 #if defined(TARGET_IS_MSP432P4XX) || \ 559 defined(TARGET_IS_MSP432P4XX_NEXT) 560 #define ROM_CS_disableInterrupt \ 561 ((void (*)(uint32_t flags))ROM_CSTABLE[9]) 562 #endif 563 #if defined(TARGET_IS_MSP432P4XX) || \ 564 defined(TARGET_IS_MSP432P4XX_NEXT) 565 #define ROM_CS_getEnabledInterruptStatus \ 566 ((uint32_t (*)(void))ROM_CSTABLE[10]) 567 #endif 568 #if defined(TARGET_IS_MSP432P4XX) || \ 569 defined(TARGET_IS_MSP432P4XX_NEXT) 570 #define ROM_CS_getInterruptStatus \ 571 ((uint32_t (*)(void))ROM_CSTABLE[11]) 572 #endif 573 #if defined(TARGET_IS_MSP432P4XX) || \ 574 defined(TARGET_IS_MSP432P4XX_NEXT) 575 #define ROM_CS_setDCOFrequency \ 576 ((void (*)(uint32_t dcoFrequency))ROM_CSTABLE[12]) 577 #endif 578 #if defined(TARGET_IS_MSP432P4XX) || \ 579 defined(TARGET_IS_MSP432P4XX_NEXT) 580 #define ROM_CS_getDCOFrequency \ 581 ((uint32_t (*)(void))ROM_CSTABLE[13]) 582 #endif 583 #if defined(TARGET_IS_MSP432P4XX) || \ 584 defined(TARGET_IS_MSP432P4XX_NEXT) 585 #define ROM_CS_enableFaultCounter \ 586 ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[14]) 587 #endif 588 #if defined(TARGET_IS_MSP432P4XX) || \ 589 defined(TARGET_IS_MSP432P4XX_NEXT) 590 #define ROM_CS_disableFaultCounter \ 591 ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[15]) 592 #endif 593 #if defined(TARGET_IS_MSP432P4XX) || \ 594 defined(TARGET_IS_MSP432P4XX_NEXT) 595 #define ROM_CS_resetFaultCounter \ 596 ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[16]) 597 #endif 598 #if defined(TARGET_IS_MSP432P4XX) || \ 599 defined(TARGET_IS_MSP432P4XX_NEXT) 600 #define ROM_CS_startFaultCounter \ 601 ((void (*)(uint_fast8_t counterSelect, \ 602 uint_fast8_t countValue))ROM_CSTABLE[17]) 603 #endif 604 #if defined(TARGET_IS_MSP432P4XX) || \ 605 defined(TARGET_IS_MSP432P4XX_NEXT) 606 #define ROM_CS_clearInterruptFlag \ 607 ((void (*)(uint32_t flags))ROM_CSTABLE[20]) 608 #endif 609 #if defined(TARGET_IS_MSP432P4XX) || \ 610 defined(TARGET_IS_MSP432P4XX_NEXT) 611 #define ROM_CS_setDCOExternalResistorCalibration \ 612 ((void (*)(uint_fast8_t uiCalData, \ 613 uint_fast8_t freqRange))ROM_CSTABLE[31]) 614 #endif 615 616 //***************************************************************************** 617 // 618 // Macros for calling ROM functions in the DMA API. 619 // 620 //***************************************************************************** 621 #if defined(TARGET_IS_MSP432P4XX) || \ 622 defined(TARGET_IS_MSP432P4XX_NEXT) 623 #define ROM_DMA_enableModule \ 624 ((void (*)(void))ROM_DMATABLE[0]) 625 #endif 626 #if defined(TARGET_IS_MSP432P4XX) || \ 627 defined(TARGET_IS_MSP432P4XX_NEXT) 628 #define ROM_DMA_disableModule \ 629 ((void (*)(void))ROM_DMATABLE[1]) 630 #endif 631 #if defined(TARGET_IS_MSP432P4XX) || \ 632 defined(TARGET_IS_MSP432P4XX_NEXT) 633 #define ROM_DMA_getErrorStatus \ 634 ((uint32_t (*)(void))ROM_DMATABLE[2]) 635 #endif 636 #if defined(TARGET_IS_MSP432P4XX) || \ 637 defined(TARGET_IS_MSP432P4XX_NEXT) 638 #define ROM_DMA_clearErrorStatus \ 639 ((void (*)(void))ROM_DMATABLE[3]) 640 #endif 641 #if defined(TARGET_IS_MSP432P4XX) || \ 642 defined(TARGET_IS_MSP432P4XX_NEXT) 643 #define ROM_DMA_enableChannel \ 644 ((void (*)(uint32_t channelNum))ROM_DMATABLE[4]) 645 #endif 646 #if defined(TARGET_IS_MSP432P4XX) || \ 647 defined(TARGET_IS_MSP432P4XX_NEXT) 648 #define ROM_DMA_disableChannel \ 649 ((void (*)(uint32_t channelNum))ROM_DMATABLE[5]) 650 #endif 651 #if defined(TARGET_IS_MSP432P4XX) || \ 652 defined(TARGET_IS_MSP432P4XX_NEXT) 653 #define ROM_DMA_isChannelEnabled \ 654 ((bool (*)(uint32_t channelNum))ROM_DMATABLE[6]) 655 #endif 656 #if defined(TARGET_IS_MSP432P4XX) || \ 657 defined(TARGET_IS_MSP432P4XX_NEXT) 658 #define ROM_DMA_setControlBase \ 659 ((void (*)(void *controlTable))ROM_DMATABLE[7]) 660 #endif 661 #if defined(TARGET_IS_MSP432P4XX) || \ 662 defined(TARGET_IS_MSP432P4XX_NEXT) 663 #define ROM_DMA_getControlBase \ 664 ((void* (*)(void))ROM_DMATABLE[8]) 665 #endif 666 #if defined(TARGET_IS_MSP432P4XX) || \ 667 defined(TARGET_IS_MSP432P4XX_NEXT) 668 #define ROM_DMA_getControlAlternateBase \ 669 ((void* (*)(void))ROM_DMATABLE[9]) 670 #endif 671 #if defined(TARGET_IS_MSP432P4XX) || \ 672 defined(TARGET_IS_MSP432P4XX_NEXT) 673 #define ROM_DMA_requestChannel \ 674 ((void (*)(uint32_t channelNum))ROM_DMATABLE[10]) 675 #endif 676 #if defined(TARGET_IS_MSP432P4XX) || \ 677 defined(TARGET_IS_MSP432P4XX_NEXT) 678 #define ROM_DMA_enableChannelAttribute \ 679 ((void (*)(uint32_t channelNum, \ 680 uint32_t attr))ROM_DMATABLE[11]) 681 #endif 682 #if defined(TARGET_IS_MSP432P4XX) || \ 683 defined(TARGET_IS_MSP432P4XX_NEXT) 684 #define ROM_DMA_disableChannelAttribute \ 685 ((void (*)(uint32_t channelNum, \ 686 uint32_t attr))ROM_DMATABLE[12]) 687 #endif 688 #if defined(TARGET_IS_MSP432P4XX) || \ 689 defined(TARGET_IS_MSP432P4XX_NEXT) 690 #define ROM_DMA_getChannelAttribute \ 691 ((uint32_t (*)(uint32_t channelNum))ROM_DMATABLE[13]) 692 #endif 693 #if defined(TARGET_IS_MSP432P4XX) || \ 694 defined(TARGET_IS_MSP432P4XX_NEXT) 695 #define ROM_DMA_setChannelControl \ 696 ((void (*)(uint32_t channelStructIndex, \ 697 uint32_t control))ROM_DMATABLE[14]) 698 #endif 699 #if defined(TARGET_IS_MSP432P4XX) || \ 700 defined(TARGET_IS_MSP432P4XX_NEXT) 701 #define ROM_DMA_setChannelTransfer \ 702 ((void (*)(uint32_t channelStructIndex, \ 703 uint32_t mode, \ 704 void *srcAddr, \ 705 void *dstAddr, \ 706 uint32_t transferSize))ROM_DMATABLE[15]) 707 #endif 708 #if defined(TARGET_IS_MSP432P4XX) || \ 709 defined(TARGET_IS_MSP432P4XX_NEXT) 710 #define ROM_DMA_setChannelScatterGather \ 711 ((void (*)(uint32_t channelNum, \ 712 uint32_t taskCount, \ 713 void *taskList, \ 714 uint32_t isPeriphSG))ROM_DMATABLE[16]) 715 #endif 716 #if defined(TARGET_IS_MSP432P4XX) || \ 717 defined(TARGET_IS_MSP432P4XX_NEXT) 718 #define ROM_DMA_getChannelSize \ 719 ((uint32_t (*)(uint32_t channelStructIndex))ROM_DMATABLE[17]) 720 #endif 721 #if defined(TARGET_IS_MSP432P4XX) || \ 722 defined(TARGET_IS_MSP432P4XX_NEXT) 723 #define ROM_DMA_getChannelMode \ 724 ((uint32_t (*)(uint32_t channelStructIndex))ROM_DMATABLE[18]) 725 #endif 726 #if defined(TARGET_IS_MSP432P4XX) || \ 727 defined(TARGET_IS_MSP432P4XX_NEXT) 728 #define ROM_DMA_assignChannel \ 729 ((void (*)(uint32_t mapping))ROM_DMATABLE[19]) 730 #endif 731 #if defined(TARGET_IS_MSP432P4XX) || \ 732 defined(TARGET_IS_MSP432P4XX_NEXT) 733 #define ROM_DMA_requestSoftwareTransfer \ 734 ((void (*)(uint32_t channel))ROM_DMATABLE[20]) 735 #endif 736 #if defined(TARGET_IS_MSP432P4XX) || \ 737 defined(TARGET_IS_MSP432P4XX_NEXT) 738 #define ROM_DMA_assignInterrupt \ 739 ((void (*)(uint32_t interruptNumber, \ 740 uint32_t channel))ROM_DMATABLE[21]) 741 #endif 742 #if defined(TARGET_IS_MSP432P4XX) || \ 743 defined(TARGET_IS_MSP432P4XX_NEXT) 744 #define ROM_DMA_enableInterrupt \ 745 ((void (*)(uint32_t interruptNumber))ROM_DMATABLE[22]) 746 #endif 747 #if defined(TARGET_IS_MSP432P4XX) || \ 748 defined(TARGET_IS_MSP432P4XX_NEXT) 749 #define ROM_DMA_disableInterrupt \ 750 ((void (*)(uint32_t interruptNumber))ROM_DMATABLE[23]) 751 #endif 752 #if defined(TARGET_IS_MSP432P4XX) || \ 753 defined(TARGET_IS_MSP432P4XX_NEXT) 754 #define ROM_DMA_getInterruptStatus \ 755 ((uint32_t (*)(void))ROM_DMATABLE[24]) 756 #endif 757 #if defined(TARGET_IS_MSP432P4XX) || \ 758 defined(TARGET_IS_MSP432P4XX_NEXT) 759 #define ROM_DMA_clearInterruptFlag \ 760 ((void (*)(uint32_t intChannel))ROM_DMATABLE[25]) 761 #endif 762 763 //***************************************************************************** 764 // 765 // Macros for calling ROM functions in the Flash API. 766 // 767 //***************************************************************************** 768 #if defined(TARGET_IS_MSP432P4XX) 769 #define ROM_FlashCtl_enableReadBuffering \ 770 ((void (*)(uint_fast8_t memoryBank, \ 771 uint_fast8_t accessMethod))ROM_FLASHCTLTABLE[2]) 772 #endif 773 #if defined(TARGET_IS_MSP432P4XX) 774 #define ROM_FlashCtl_disableReadBuffering \ 775 ((void (*)(uint_fast8_t memoryBank, \ 776 uint_fast8_t accessMethod))ROM_FLASHCTLTABLE[3]) 777 #endif 778 #if defined(TARGET_IS_MSP432P4XX) 779 #define ROM_FlashCtl_unprotectSector \ 780 ((bool (*)(uint_fast8_t memorySpace, \ 781 uint32_t sectorMask))ROM_FLASHCTLTABLE[4]) 782 #endif 783 #if defined(TARGET_IS_MSP432P4XX) 784 #define ROM_FlashCtl_protectSector \ 785 ((bool (*)(uint_fast8_t memorySpace, \ 786 uint32_t sectorMask))ROM_FLASHCTLTABLE[5]) 787 #endif 788 #if defined(TARGET_IS_MSP432P4XX) 789 #define ROM_FlashCtl_isSectorProtected \ 790 ((bool (*)(uint_fast8_t memorySpace, \ 791 uint32_t sector))ROM_FLASHCTLTABLE[6]) 792 #endif 793 #if defined(TARGET_IS_MSP432P4XX) 794 #define ROM_FlashCtl_verifyMemory \ 795 ((bool (*)(void* verifyAddr, \ 796 uint32_t length, \ 797 uint_fast8_t pattern))ROM_FLASHCTLTABLE[7]) 798 #endif 799 #if defined(TARGET_IS_MSP432P4XX) 800 #define ROM_FlashCtl_performMassErase \ 801 ((bool (*)(void))ROM_FLASHCTLTABLE[8]) 802 #endif 803 #if defined(TARGET_IS_MSP432P4XX) 804 #define ROM_FlashCtl_eraseSector \ 805 ((bool (*)(uint32_t addr))ROM_FLASHCTLTABLE[9]) 806 #endif 807 #if defined(TARGET_IS_MSP432P4XX) 808 #define ROM_FlashCtl_programMemory \ 809 ((bool (*)(void* src, \ 810 void* dest, \ 811 uint32_t length))ROM_FLASHCTLTABLE[10]) 812 #endif 813 #if defined(TARGET_IS_MSP432P4XX) 814 #define ROM_FlashCtl_setProgramVerification \ 815 ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLTABLE[11]) 816 #endif 817 #if defined(TARGET_IS_MSP432P4XX) 818 #define ROM_FlashCtl_clearProgramVerification \ 819 ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLTABLE[12]) 820 #endif 821 #if defined(TARGET_IS_MSP432P4XX) 822 #define ROM_FlashCtl_enableWordProgramming \ 823 ((void (*)(uint32_t mode))ROM_FLASHCTLTABLE[13]) 824 #endif 825 #if defined(TARGET_IS_MSP432P4XX) 826 #define ROM_FlashCtl_disableWordProgramming \ 827 ((void (*)(void))ROM_FLASHCTLTABLE[14]) 828 #endif 829 #if defined(TARGET_IS_MSP432P4XX) 830 #define ROM_FlashCtl_isWordProgrammingEnabled \ 831 ((uint32_t (*)(void))ROM_FLASHCTLTABLE[15]) 832 #endif 833 #if defined(TARGET_IS_MSP432P4XX) 834 #define ROM_FlashCtl_enableInterrupt \ 835 ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[16]) 836 #endif 837 #if defined(TARGET_IS_MSP432P4XX) 838 #define ROM_FlashCtl_disableInterrupt \ 839 ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[17]) 840 #endif 841 #if defined(TARGET_IS_MSP432P4XX) 842 #define ROM_FlashCtl_getEnabledInterruptStatus \ 843 ((uint32_t (*)(void))ROM_FLASHCTLTABLE[18]) 844 #endif 845 #if defined(TARGET_IS_MSP432P4XX) 846 #define ROM_FlashCtl_getInterruptStatus \ 847 ((uint32_t (*)(void))ROM_FLASHCTLTABLE[19]) 848 #endif 849 #if defined(TARGET_IS_MSP432P4XX) 850 #define ROM_FlashCtl_clearInterruptFlag \ 851 ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[20]) 852 #endif 853 #if defined(TARGET_IS_MSP432P4XX) 854 #define ROM_FlashCtl_setWaitState \ 855 ((void (*)(uint32_t bank, \ 856 uint32_t waitState))ROM_FLASHCTLTABLE[21]) 857 #endif 858 #if defined(TARGET_IS_MSP432P4XX) 859 #define ROM_FlashCtl_getWaitState \ 860 ((uint32_t (*)(uint32_t bank))ROM_FLASHCTLTABLE[22]) 861 #endif 862 #if defined(TARGET_IS_MSP432P4XX) 863 #define ROM_FlashCtl_setReadMode \ 864 ((bool (*)(uint32_t flashBank, \ 865 uint32_t readMode))ROM_FLASHCTLTABLE[23]) 866 #endif 867 #if defined(TARGET_IS_MSP432P4XX) 868 #define ROM_FlashCtl_getReadMode \ 869 ((uint32_t (*)(uint32_t flashBank))ROM_FLASHCTLTABLE[24]) 870 #endif 871 #if defined(TARGET_IS_MSP432P4XX) 872 #define ROM___FlashCtl_remaskData8Post \ 873 ((uint8_t (*)(uint8_t data, \ 874 uint32_t addr))ROM_FLASHCTLTABLE[27]) 875 #endif 876 #if defined(TARGET_IS_MSP432P4XX) 877 #define ROM___FlashCtl_remaskData8Pre \ 878 ((uint8_t (*)(uint8_t data, \ 879 uint32_t addr))ROM_FLASHCTLTABLE[28]) 880 #endif 881 #if defined(TARGET_IS_MSP432P4XX) 882 #define ROM___FlashCtl_remaskData32Pre \ 883 ((uint32_t (*)(uint32_t data, \ 884 uint32_t addr))ROM_FLASHCTLTABLE[29]) 885 #endif 886 #if defined(TARGET_IS_MSP432P4XX) 887 #define ROM___FlashCtl_remaskData32Post \ 888 ((uint32_t (*)(uint32_t data, \ 889 uint32_t addr))ROM_FLASHCTLTABLE[30]) 890 #endif 891 #if defined(TARGET_IS_MSP432P4XX) 892 #define ROM___FlashCtl_remaskBurstDataPre \ 893 ((void (*)(uint32_t addr, \ 894 uint32_t size))ROM_FLASHCTLTABLE[31]) 895 #endif 896 #if defined(TARGET_IS_MSP432P4XX) 897 #define ROM___FlashCtl_remaskBurstDataPost \ 898 ((void (*)(uint32_t addr, \ 899 uint32_t size))ROM_FLASHCTLTABLE[32]) 900 #endif 901 #if defined(TARGET_IS_MSP432P4XX) 902 #define ROM_FlashCtl_initiateSectorErase \ 903 ((void (*)(uint32_t addr))ROM_FLASHCTLTABLE[33]) 904 #endif 905 #if defined(TARGET_IS_MSP432P4XX) 906 #define ROM_FlashCtl_initiateMassErase \ 907 ((void (*)(void))ROM_FLASHCTLTABLE[34]) 908 #endif 909 910 //***************************************************************************** 911 // 912 // Macros for calling ROM functions in the FPU API. 913 // 914 //***************************************************************************** 915 #if defined(TARGET_IS_MSP432P4XX) || \ 916 defined(TARGET_IS_MSP432P4XX_NEXT) 917 #define ROM_FPU_enableModule \ 918 ((void (*)(void))ROM_FPUTABLE[0]) 919 #endif 920 #if defined(TARGET_IS_MSP432P4XX) || \ 921 defined(TARGET_IS_MSP432P4XX_NEXT) 922 #define ROM_FPU_disableModule \ 923 ((void (*)(void))ROM_FPUTABLE[1]) 924 #endif 925 #if defined(TARGET_IS_MSP432P4XX) || \ 926 defined(TARGET_IS_MSP432P4XX_NEXT) 927 #define ROM_FPU_enableStacking \ 928 ((void (*)(void))ROM_FPUTABLE[2]) 929 #endif 930 #if defined(TARGET_IS_MSP432P4XX) || \ 931 defined(TARGET_IS_MSP432P4XX_NEXT) 932 #define ROM_FPU_enableLazyStacking \ 933 ((void (*)(void))ROM_FPUTABLE[3]) 934 #endif 935 #if defined(TARGET_IS_MSP432P4XX) || \ 936 defined(TARGET_IS_MSP432P4XX_NEXT) 937 #define ROM_FPU_disableStacking \ 938 ((void (*)(void))ROM_FPUTABLE[4]) 939 #endif 940 #if defined(TARGET_IS_MSP432P4XX) || \ 941 defined(TARGET_IS_MSP432P4XX_NEXT) 942 #define ROM_FPU_setHalfPrecisionMode \ 943 ((void (*)(uint32_t mode))ROM_FPUTABLE[5]) 944 #endif 945 #if defined(TARGET_IS_MSP432P4XX) || \ 946 defined(TARGET_IS_MSP432P4XX_NEXT) 947 #define ROM_FPU_setNaNMode \ 948 ((void (*)(uint32_t mode))ROM_FPUTABLE[6]) 949 #endif 950 #if defined(TARGET_IS_MSP432P4XX) || \ 951 defined(TARGET_IS_MSP432P4XX_NEXT) 952 #define ROM_FPU_setFlushToZeroMode \ 953 ((void (*)(uint32_t mode))ROM_FPUTABLE[7]) 954 #endif 955 #if defined(TARGET_IS_MSP432P4XX) || \ 956 defined(TARGET_IS_MSP432P4XX_NEXT) 957 #define ROM_FPU_setRoundingMode \ 958 ((void (*)(uint32_t mode))ROM_FPUTABLE[8]) 959 #endif 960 961 //***************************************************************************** 962 // 963 // Macros for calling ROM functions in the GPIO API. 964 // 965 //***************************************************************************** 966 #if defined(TARGET_IS_MSP432P4XX) || \ 967 defined(TARGET_IS_MSP432P4XX_NEXT) 968 #define ROM_GPIO_setAsOutputPin \ 969 ((void (*)(uint_fast8_t selectedPort, \ 970 uint_fast16_t selectedPins))ROM_GPIOTABLE[0]) 971 #endif 972 #if defined(TARGET_IS_MSP432P4XX) || \ 973 defined(TARGET_IS_MSP432P4XX_NEXT) 974 #define ROM_GPIO_setOutputHighOnPin \ 975 ((void (*)(uint_fast8_t selectedPort, \ 976 uint_fast16_t selectedPins))ROM_GPIOTABLE[1]) 977 #endif 978 #if defined(TARGET_IS_MSP432P4XX) || \ 979 defined(TARGET_IS_MSP432P4XX_NEXT) 980 #define ROM_GPIO_setOutputLowOnPin \ 981 ((void (*)(uint_fast8_t selectedPort, \ 982 uint_fast16_t selectedPins))ROM_GPIOTABLE[2]) 983 #endif 984 #if defined(TARGET_IS_MSP432P4XX) || \ 985 defined(TARGET_IS_MSP432P4XX_NEXT) 986 #define ROM_GPIO_toggleOutputOnPin \ 987 ((void (*)(uint_fast8_t selectedPort, \ 988 uint_fast16_t selectedPins))ROM_GPIOTABLE[3]) 989 #endif 990 #if defined(TARGET_IS_MSP432P4XX) || \ 991 defined(TARGET_IS_MSP432P4XX_NEXT) 992 #define ROM_GPIO_setAsInputPinWithPullDownResistor \ 993 ((void (*)(uint_fast8_t selectedPort, \ 994 uint_fast16_t selectedPins))ROM_GPIOTABLE[4]) 995 #endif 996 #if defined(TARGET_IS_MSP432P4XX) || \ 997 defined(TARGET_IS_MSP432P4XX_NEXT) 998 #define ROM_GPIO_setAsInputPinWithPullUpResistor \ 999 ((void (*)(uint_fast8_t selectedPort, \ 1000 uint_fast16_t selectedPins))ROM_GPIOTABLE[5]) 1001 #endif 1002 #if defined(TARGET_IS_MSP432P4XX) || \ 1003 defined(TARGET_IS_MSP432P4XX_NEXT) 1004 #define ROM_GPIO_setAsPeripheralModuleFunctionOutputPin \ 1005 ((void (*)( uint_fast8_t selectedPort, \ 1006 uint_fast16_t selectedPins, \ 1007 uint_fast8_t mode))ROM_GPIOTABLE[6]) 1008 #endif 1009 #if defined(TARGET_IS_MSP432P4XX) || \ 1010 defined(TARGET_IS_MSP432P4XX_NEXT) 1011 #define ROM_GPIO_setAsPeripheralModuleFunctionInputPin \ 1012 ((void (*)( uint_fast8_t selectedPort, \ 1013 uint_fast16_t selectedPins, \ 1014 uint_fast8_t mode))ROM_GPIOTABLE[7]) 1015 #endif 1016 #if defined(TARGET_IS_MSP432P4XX) || \ 1017 defined(TARGET_IS_MSP432P4XX_NEXT) 1018 #define ROM_GPIO_getInputPinValue \ 1019 ((uint8_t (*)(uint_fast8_t selectedPort, \ 1020 uint_fast16_t selectedPins))ROM_GPIOTABLE[8]) 1021 #endif 1022 #if defined(TARGET_IS_MSP432P4XX) || \ 1023 defined(TARGET_IS_MSP432P4XX_NEXT) 1024 #define ROM_GPIO_interruptEdgeSelect \ 1025 ((void (*)(uint_fast8_t selectedPort, \ 1026 uint_fast16_t selectedPins, \ 1027 uint_fast8_t edgeSelect))ROM_GPIOTABLE[9]) 1028 #endif 1029 #if defined(TARGET_IS_MSP432P4XX) || \ 1030 defined(TARGET_IS_MSP432P4XX_NEXT) 1031 #define ROM_GPIO_enableInterrupt \ 1032 ((void (*)(uint_fast8_t selectedPort, \ 1033 uint_fast16_t selectedPins))ROM_GPIOTABLE[10]) 1034 #endif 1035 #if defined(TARGET_IS_MSP432P4XX) || \ 1036 defined(TARGET_IS_MSP432P4XX_NEXT) 1037 #define ROM_GPIO_disableInterrupt \ 1038 ((void (*)(uint_fast8_t selectedPort, \ 1039 uint_fast16_t selectedPins))ROM_GPIOTABLE[11]) 1040 #endif 1041 #if defined(TARGET_IS_MSP432P4XX) || \ 1042 defined(TARGET_IS_MSP432P4XX_NEXT) 1043 #define ROM_GPIO_getInterruptStatus \ 1044 ((uint_fast16_t (*)(uint_fast8_t selectedPort, \ 1045 uint_fast16_t selectedPins))ROM_GPIOTABLE[12]) 1046 #endif 1047 #if defined(TARGET_IS_MSP432P4XX) || \ 1048 defined(TARGET_IS_MSP432P4XX_NEXT) 1049 #define ROM_GPIO_clearInterruptFlag \ 1050 ((void (*)(uint_fast8_t selectedPort, \ 1051 uint_fast16_t selectedPins))ROM_GPIOTABLE[13]) 1052 #endif 1053 #if defined(TARGET_IS_MSP432P4XX) || \ 1054 defined(TARGET_IS_MSP432P4XX_NEXT) 1055 #define ROM_GPIO_setAsInputPin \ 1056 ((void (*)(uint_fast8_t selectedPort, \ 1057 uint_fast16_t selectedPins))ROM_GPIOTABLE[14]) 1058 #endif 1059 #if defined(TARGET_IS_MSP432P4XX) || \ 1060 defined(TARGET_IS_MSP432P4XX_NEXT) 1061 #define ROM_GPIO_getEnabledInterruptStatus \ 1062 ((uint_fast16_t (*)(uint_fast8_t selectedPort))ROM_GPIOTABLE[15]) 1063 #endif 1064 #if defined(TARGET_IS_MSP432P4XX) || \ 1065 defined(TARGET_IS_MSP432P4XX_NEXT) 1066 #define ROM_GPIO_setDriveStrengthHigh \ 1067 ((void (*)(uint_fast8_t selectedPort, \ 1068 uint_fast8_t selectedPins))ROM_GPIOTABLE[16]) 1069 #endif 1070 #if defined(TARGET_IS_MSP432P4XX) || \ 1071 defined(TARGET_IS_MSP432P4XX_NEXT) 1072 #define ROM_GPIO_setDriveStrengthLow \ 1073 ((void (*)(uint_fast8_t selectedPort, \ 1074 uint_fast8_t selectedPins))ROM_GPIOTABLE[17]) 1075 #endif 1076 1077 //***************************************************************************** 1078 // 1079 // Macros for calling ROM functions in the I2C API. 1080 // 1081 //***************************************************************************** 1082 #if defined(TARGET_IS_MSP432P4XX) || \ 1083 defined(TARGET_IS_MSP432P4XX_NEXT) 1084 #define ROM_I2C_initMaster \ 1085 ((void (*)(uint32_t moduleInstance, \ 1086 const eUSCI_I2C_MasterConfig *config))ROM_I2CTABLE[0]) 1087 #endif 1088 #if defined(TARGET_IS_MSP432P4XX) || \ 1089 defined(TARGET_IS_MSP432P4XX_NEXT) 1090 #define ROM_I2C_initSlave \ 1091 ((void (*)(uint32_t moduleInstance, \ 1092 uint_fast16_t slaveAddress, \ 1093 uint_fast8_t slaveAddressOffset, \ 1094 uint32_t slaveOwnAddressEnable))ROM_I2CTABLE[1]) 1095 #endif 1096 #if defined(TARGET_IS_MSP432P4XX) || \ 1097 defined(TARGET_IS_MSP432P4XX_NEXT) 1098 #define ROM_I2C_enableModule \ 1099 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[2]) 1100 #endif 1101 #if defined(TARGET_IS_MSP432P4XX) || \ 1102 defined(TARGET_IS_MSP432P4XX_NEXT) 1103 #define ROM_I2C_disableModule \ 1104 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[3]) 1105 #endif 1106 #if defined(TARGET_IS_MSP432P4XX) || \ 1107 defined(TARGET_IS_MSP432P4XX_NEXT) 1108 #define ROM_I2C_setSlaveAddress \ 1109 ((void (*)(uint32_t moduleInstance, \ 1110 uint_fast16_t slaveAddress))ROM_I2CTABLE[4]) 1111 #endif 1112 #if defined(TARGET_IS_MSP432P4XX) || \ 1113 defined(TARGET_IS_MSP432P4XX_NEXT) 1114 #define ROM_I2C_setMode \ 1115 ((void (*)(uint32_t moduleInstance, \ 1116 uint_fast8_t mode))ROM_I2CTABLE[5]) 1117 #endif 1118 #if defined(TARGET_IS_MSP432P4XX) || \ 1119 defined(TARGET_IS_MSP432P4XX_NEXT) 1120 #define ROM_I2C_slavePutData \ 1121 ((void (*)(uint32_t moduleInstance, \ 1122 uint8_t transmitData))ROM_I2CTABLE[6]) 1123 #endif 1124 #if defined(TARGET_IS_MSP432P4XX) || \ 1125 defined(TARGET_IS_MSP432P4XX_NEXT) 1126 #define ROM_I2C_slaveGetData \ 1127 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[7]) 1128 #endif 1129 #if defined(TARGET_IS_MSP432P4XX) || \ 1130 defined(TARGET_IS_MSP432P4XX_NEXT) 1131 #define ROM_I2C_isBusBusy \ 1132 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[8]) 1133 #endif 1134 #if defined(TARGET_IS_MSP432P4XX) || \ 1135 defined(TARGET_IS_MSP432P4XX_NEXT) 1136 #define ROM_I2C_masterSendSingleByte \ 1137 ((void (*)(uint32_t moduleInstance, \ 1138 uint8_t txData))ROM_I2CTABLE[9]) 1139 #endif 1140 #if defined(TARGET_IS_MSP432P4XX) || \ 1141 defined(TARGET_IS_MSP432P4XX_NEXT) 1142 #define ROM_I2C_masterSendMultiByteNext \ 1143 ((void (*)(uint32_t moduleInstance, \ 1144 uint8_t txData))ROM_I2CTABLE[13]) 1145 #endif 1146 #if defined(TARGET_IS_MSP432P4XX) || \ 1147 defined(TARGET_IS_MSP432P4XX_NEXT) 1148 #define ROM_I2C_masterSendMultiByteNextWithTimeout \ 1149 ((bool (*)(uint32_t moduleInstance, \ 1150 uint8_t txData, \ 1151 uint32_t timeout))ROM_I2CTABLE[14]) 1152 #endif 1153 #if defined(TARGET_IS_MSP432P4XX) || \ 1154 defined(TARGET_IS_MSP432P4XX_NEXT) 1155 #define ROM_I2C_masterSendMultiByteStop \ 1156 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[17]) 1157 #endif 1158 #if defined(TARGET_IS_MSP432P4XX) || \ 1159 defined(TARGET_IS_MSP432P4XX_NEXT) 1160 #define ROM_I2C_masterSendMultiByteStopWithTimeout \ 1161 ((bool (*)(uint32_t moduleInstance, \ 1162 uint32_t timeout))ROM_I2CTABLE[18]) 1163 #endif 1164 #if defined(TARGET_IS_MSP432P4XX) || \ 1165 defined(TARGET_IS_MSP432P4XX_NEXT) 1166 #define ROM_I2C_masterReceiveStart \ 1167 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[19]) 1168 #endif 1169 #if defined(TARGET_IS_MSP432P4XX) || \ 1170 defined(TARGET_IS_MSP432P4XX_NEXT) 1171 #define ROM_I2C_masterReceiveMultiByteNext \ 1172 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[20]) 1173 #endif 1174 #if defined(TARGET_IS_MSP432P4XX) || \ 1175 defined(TARGET_IS_MSP432P4XX_NEXT) 1176 #define ROM_I2C_masterReceiveMultiByteFinish \ 1177 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[21]) 1178 #endif 1179 #if defined(TARGET_IS_MSP432P4XX) || \ 1180 defined(TARGET_IS_MSP432P4XX_NEXT) 1181 #define ROM_I2C_masterReceiveMultiByteFinishWithTimeout \ 1182 ((bool (*)(uint32_t moduleInstance, \ 1183 uint8_t *txData, \ 1184 uint32_t timeout))ROM_I2CTABLE[22]) 1185 #endif 1186 #if defined(TARGET_IS_MSP432P4XX) || \ 1187 defined(TARGET_IS_MSP432P4XX_NEXT) 1188 #define ROM_I2C_masterReceiveMultiByteStop \ 1189 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[23]) 1190 #endif 1191 #if defined(TARGET_IS_MSP432P4XX) || \ 1192 defined(TARGET_IS_MSP432P4XX_NEXT) 1193 #define ROM_I2C_masterReceiveSingleByte \ 1194 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[24]) 1195 #endif 1196 #if defined(TARGET_IS_MSP432P4XX) || \ 1197 defined(TARGET_IS_MSP432P4XX_NEXT) 1198 #define ROM_I2C_masterReceiveSingle \ 1199 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[25]) 1200 #endif 1201 #if defined(TARGET_IS_MSP432P4XX) || \ 1202 defined(TARGET_IS_MSP432P4XX_NEXT) 1203 #define ROM_I2C_getReceiveBufferAddressForDMA \ 1204 ((uint32_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[26]) 1205 #endif 1206 #if defined(TARGET_IS_MSP432P4XX) || \ 1207 defined(TARGET_IS_MSP432P4XX_NEXT) 1208 #define ROM_I2C_getTransmitBufferAddressForDMA \ 1209 ((uint32_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[27]) 1210 #endif 1211 #if defined(TARGET_IS_MSP432P4XX) || \ 1212 defined(TARGET_IS_MSP432P4XX_NEXT) 1213 #define ROM_I2C_masterIsStopSent \ 1214 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[28]) 1215 #endif 1216 #if defined(TARGET_IS_MSP432P4XX) || \ 1217 defined(TARGET_IS_MSP432P4XX_NEXT) 1218 #define ROM_I2C_masterIsStartSent \ 1219 ((bool (*)(uint32_t moduleInstance))ROM_I2CTABLE[29]) 1220 #endif 1221 #if defined(TARGET_IS_MSP432P4XX) || \ 1222 defined(TARGET_IS_MSP432P4XX_NEXT) 1223 #define ROM_I2C_masterSendStart \ 1224 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[30]) 1225 #endif 1226 #if defined(TARGET_IS_MSP432P4XX) || \ 1227 defined(TARGET_IS_MSP432P4XX_NEXT) 1228 #define ROM_I2C_enableMultiMasterMode \ 1229 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[31]) 1230 #endif 1231 #if defined(TARGET_IS_MSP432P4XX) || \ 1232 defined(TARGET_IS_MSP432P4XX_NEXT) 1233 #define ROM_I2C_disableMultiMasterMode \ 1234 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[32]) 1235 #endif 1236 #if defined(TARGET_IS_MSP432P4XX) || \ 1237 defined(TARGET_IS_MSP432P4XX_NEXT) 1238 #define ROM_I2C_enableInterrupt \ 1239 ((void (*)(uint32_t moduleInstance, \ 1240 uint_fast16_t mask))ROM_I2CTABLE[33]) 1241 #endif 1242 #if defined(TARGET_IS_MSP432P4XX) || \ 1243 defined(TARGET_IS_MSP432P4XX_NEXT) 1244 #define ROM_I2C_disableInterrupt \ 1245 ((void (*)(uint32_t moduleInstance, \ 1246 uint_fast16_t mask))ROM_I2CTABLE[34]) 1247 #endif 1248 #if defined(TARGET_IS_MSP432P4XX) || \ 1249 defined(TARGET_IS_MSP432P4XX_NEXT) 1250 #define ROM_I2C_clearInterruptFlag \ 1251 ((void (*)(uint32_t moduleInstance, \ 1252 uint_fast16_t mask))ROM_I2CTABLE[35]) 1253 #endif 1254 #if defined(TARGET_IS_MSP432P4XX) || \ 1255 defined(TARGET_IS_MSP432P4XX_NEXT) 1256 #define ROM_I2C_getInterruptStatus \ 1257 ((uint_fast16_t (*)(uint32_t moduleInstance, \ 1258 uint16_t mask))ROM_I2CTABLE[36]) 1259 #endif 1260 #if defined(TARGET_IS_MSP432P4XX) || \ 1261 defined(TARGET_IS_MSP432P4XX_NEXT) 1262 #define ROM_I2C_getEnabledInterruptStatus \ 1263 ((uint_fast16_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[37]) 1264 #endif 1265 #if defined(TARGET_IS_MSP432P4XX) || \ 1266 defined(TARGET_IS_MSP432P4XX_NEXT) 1267 #define ROM_I2C_getMode \ 1268 ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[38]) 1269 #endif 1270 #if defined(TARGET_IS_MSP432P4XX_NEXT) 1271 #define ROM_I2C_slaveSendNAK \ 1272 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[41]) 1273 #endif 1274 1275 //***************************************************************************** 1276 // 1277 // Macros for calling ROM functions in the Interrupt API. 1278 // 1279 //***************************************************************************** 1280 #if defined(TARGET_IS_MSP432P4XX) || \ 1281 defined(TARGET_IS_MSP432P4XX_NEXT) 1282 #define ROM_Interrupt_enableMaster \ 1283 ((bool (*)(void))ROM_INTTABLE[0]) 1284 #endif 1285 #if defined(TARGET_IS_MSP432P4XX) || \ 1286 defined(TARGET_IS_MSP432P4XX_NEXT) 1287 #define ROM_Interrupt_disableMaster \ 1288 ((bool (*)(void))ROM_INTTABLE[1]) 1289 #endif 1290 #if defined(TARGET_IS_MSP432P4XX) || \ 1291 defined(TARGET_IS_MSP432P4XX_NEXT) 1292 #define ROM_Interrupt_setPriorityGrouping \ 1293 ((void (*)(uint32_t bits))ROM_INTTABLE[2]) 1294 #endif 1295 #if defined(TARGET_IS_MSP432P4XX) || \ 1296 defined(TARGET_IS_MSP432P4XX_NEXT) 1297 #define ROM_Interrupt_getPriorityGrouping \ 1298 ((uint32_t (*)(void))ROM_INTTABLE[3]) 1299 #endif 1300 #if defined(TARGET_IS_MSP432P4XX) || \ 1301 defined(TARGET_IS_MSP432P4XX_NEXT) 1302 #define ROM_Interrupt_setPriority \ 1303 ((void (*)(uint32_t interruptNumber, \ 1304 uint8_t priority))ROM_INTTABLE[4]) 1305 #endif 1306 #if defined(TARGET_IS_MSP432P4XX) || \ 1307 defined(TARGET_IS_MSP432P4XX_NEXT) 1308 #define ROM_Interrupt_getPriority \ 1309 ((uint8_t (*)(uint32_t interruptNumber))ROM_INTTABLE[5]) 1310 #endif 1311 #if defined(TARGET_IS_MSP432P4XX) || \ 1312 defined(TARGET_IS_MSP432P4XX_NEXT) 1313 #define ROM_Interrupt_enableInterrupt \ 1314 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[6]) 1315 #endif 1316 #if defined(TARGET_IS_MSP432P4XX) || \ 1317 defined(TARGET_IS_MSP432P4XX_NEXT) 1318 #define ROM_Interrupt_disableInterrupt \ 1319 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[7]) 1320 #endif 1321 #if defined(TARGET_IS_MSP432P4XX) || \ 1322 defined(TARGET_IS_MSP432P4XX_NEXT) 1323 #define ROM_Interrupt_isEnabled \ 1324 ((bool (*)(uint32_t interruptNumber))ROM_INTTABLE[8]) 1325 #endif 1326 #if defined(TARGET_IS_MSP432P4XX) || \ 1327 defined(TARGET_IS_MSP432P4XX_NEXT) 1328 #define ROM_Interrupt_pendInterrupt \ 1329 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[9]) 1330 #endif 1331 #if defined(TARGET_IS_MSP432P4XX) || \ 1332 defined(TARGET_IS_MSP432P4XX_NEXT) 1333 #define ROM_Interrupt_setPriorityMask \ 1334 ((void (*)(uint8_t priorityMask))ROM_INTTABLE[10]) 1335 #endif 1336 #if defined(TARGET_IS_MSP432P4XX) || \ 1337 defined(TARGET_IS_MSP432P4XX_NEXT) 1338 #define ROM_Interrupt_getPriorityMask \ 1339 ((uint8_t (*)(void))ROM_INTTABLE[11]) 1340 #endif 1341 #if defined(TARGET_IS_MSP432P4XX) || \ 1342 defined(TARGET_IS_MSP432P4XX_NEXT) 1343 #define ROM_Interrupt_setVectorTableAddress \ 1344 ((void (*)(uint32_t addr))ROM_INTTABLE[12]) 1345 #endif 1346 #if defined(TARGET_IS_MSP432P4XX) || \ 1347 defined(TARGET_IS_MSP432P4XX_NEXT) 1348 #define ROM_Interrupt_getVectorTableAddress \ 1349 ((uint32_t (*)(void))ROM_INTTABLE[13]) 1350 #endif 1351 #if defined(TARGET_IS_MSP432P4XX) || \ 1352 defined(TARGET_IS_MSP432P4XX_NEXT) 1353 #define ROM_Interrupt_enableSleepOnIsrExit \ 1354 ((void (*)(void))ROM_INTTABLE[14]) 1355 #endif 1356 #if defined(TARGET_IS_MSP432P4XX) || \ 1357 defined(TARGET_IS_MSP432P4XX_NEXT) 1358 #define ROM_Interrupt_disableSleepOnIsrExit \ 1359 ((void (*)(void))ROM_INTTABLE[15]) 1360 #endif 1361 #if defined(TARGET_IS_MSP432P4XX) || \ 1362 defined(TARGET_IS_MSP432P4XX_NEXT) 1363 #define ROM_Interrupt_unpendInterrupt \ 1364 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[18]) 1365 #endif 1366 1367 //***************************************************************************** 1368 // 1369 // Macros for calling ROM functions in the MPU API. 1370 // 1371 //***************************************************************************** 1372 #if defined(TARGET_IS_MSP432P4XX) || \ 1373 defined(TARGET_IS_MSP432P4XX_NEXT) 1374 #define ROM_MPU_enableModule \ 1375 ((void (*)(uint32_t mpuConfig))ROM_MPUTABLE[0]) 1376 #endif 1377 #if defined(TARGET_IS_MSP432P4XX) || \ 1378 defined(TARGET_IS_MSP432P4XX_NEXT) 1379 #define ROM_MPU_disableModule \ 1380 ((void (*)(void))ROM_MPUTABLE[1]) 1381 #endif 1382 #if defined(TARGET_IS_MSP432P4XX) || \ 1383 defined(TARGET_IS_MSP432P4XX_NEXT) 1384 #define ROM_MPU_getRegionCount \ 1385 ((uint32_t (*)(void))ROM_MPUTABLE[2]) 1386 #endif 1387 #if defined(TARGET_IS_MSP432P4XX) || \ 1388 defined(TARGET_IS_MSP432P4XX_NEXT) 1389 #define ROM_MPU_enableRegion \ 1390 ((void (*)(uint32_t region))ROM_MPUTABLE[3]) 1391 #endif 1392 #if defined(TARGET_IS_MSP432P4XX) || \ 1393 defined(TARGET_IS_MSP432P4XX_NEXT) 1394 #define ROM_MPU_disableRegion \ 1395 ((void (*)(uint32_t region))ROM_MPUTABLE[4]) 1396 #endif 1397 #if defined(TARGET_IS_MSP432P4XX) || \ 1398 defined(TARGET_IS_MSP432P4XX_NEXT) 1399 #define ROM_MPU_setRegion \ 1400 ((void (*)(uint32_t region, \ 1401 uint32_t addr, \ 1402 uint32_t flags))ROM_MPUTABLE[5]) 1403 #endif 1404 #if defined(TARGET_IS_MSP432P4XX) || \ 1405 defined(TARGET_IS_MSP432P4XX_NEXT) 1406 #define ROM_MPU_getRegion \ 1407 ((void (*)(uint32_t region, \ 1408 uint32_t *addr, \ 1409 uint32_t *pflags))ROM_MPUTABLE[6]) 1410 #endif 1411 #if defined(TARGET_IS_MSP432P4XX) || \ 1412 defined(TARGET_IS_MSP432P4XX_NEXT) 1413 #define ROM_MPU_enableInterrupt \ 1414 ((void (*)(void))ROM_MPUTABLE[7]) 1415 #endif 1416 #if defined(TARGET_IS_MSP432P4XX) || \ 1417 defined(TARGET_IS_MSP432P4XX_NEXT) 1418 #define ROM_MPU_disableInterrupt \ 1419 ((void (*)(void))ROM_MPUTABLE[8]) 1420 #endif 1421 1422 //***************************************************************************** 1423 // 1424 // Macros for calling ROM functions in the PCM API. 1425 // 1426 //***************************************************************************** 1427 #if defined(TARGET_IS_MSP432P4XX) 1428 #define ROM_PCM_setCoreVoltageLevel \ 1429 ((bool (*)(uint_fast8_t voltageLevel))ROM_PCMTABLE[0]) 1430 #endif 1431 #if defined(TARGET_IS_MSP432P4XX) 1432 #define ROM_PCM_getCoreVoltageLevel \ 1433 ((uint8_t (*)(void))ROM_PCMTABLE[1]) 1434 #endif 1435 #if defined(TARGET_IS_MSP432P4XX) 1436 #define ROM_PCM_setCoreVoltageLevelWithTimeout \ 1437 ((bool (*)(uint_fast8_t voltageLevel, \ 1438 uint32_t timeOut))ROM_PCMTABLE[2]) 1439 #endif 1440 #if defined(TARGET_IS_MSP432P4XX) 1441 #define ROM_PCM_setPowerMode \ 1442 ((bool (*)(uint_fast8_t powerMode))ROM_PCMTABLE[3]) 1443 #endif 1444 #if defined(TARGET_IS_MSP432P4XX) 1445 #define ROM_PCM_setPowerModeWithTimeout \ 1446 ((bool (*)(uint_fast8_t powerMode, \ 1447 uint32_t timeOut))ROM_PCMTABLE[4]) 1448 #endif 1449 #if defined(TARGET_IS_MSP432P4XX) 1450 #define ROM_PCM_getPowerMode \ 1451 ((uint8_t (*)(void))ROM_PCMTABLE[5]) 1452 #endif 1453 #if defined(TARGET_IS_MSP432P4XX) 1454 #define ROM_PCM_setPowerState \ 1455 ((bool (*)(uint_fast8_t powerState))ROM_PCMTABLE[6]) 1456 #endif 1457 #if defined(TARGET_IS_MSP432P4XX) 1458 #define ROM_PCM_setPowerStateWithTimeout \ 1459 ((bool (*)(uint_fast8_t powerState, \ 1460 uint32_t timeout))ROM_PCMTABLE[7]) 1461 #endif 1462 #if defined(TARGET_IS_MSP432P4XX) 1463 #define ROM_PCM_getPowerState \ 1464 ((uint8_t (*)(void))ROM_PCMTABLE[8]) 1465 #endif 1466 #if defined(TARGET_IS_MSP432P4XX) || \ 1467 defined(TARGET_IS_MSP432P4XX_NEXT) 1468 #define ROM_PCM_shutdownDevice \ 1469 ((bool (*)(uint32_t shutdownMode))ROM_PCMTABLE[9]) 1470 #endif 1471 #if defined(TARGET_IS_MSP432P4XX) || \ 1472 defined(TARGET_IS_MSP432P4XX_NEXT) 1473 #define ROM_PCM_gotoLPM0 \ 1474 ((bool (*)(void))ROM_PCMTABLE[10]) 1475 #endif 1476 #if defined(TARGET_IS_MSP432P4XX) 1477 #define ROM_PCM_gotoLPM3 \ 1478 ((bool (*)(void))ROM_PCMTABLE[11]) 1479 #endif 1480 #if defined(TARGET_IS_MSP432P4XX) || \ 1481 defined(TARGET_IS_MSP432P4XX_NEXT) 1482 #define ROM_PCM_enableInterrupt \ 1483 ((void (*)(uint32_t flags))ROM_PCMTABLE[12]) 1484 #endif 1485 #if defined(TARGET_IS_MSP432P4XX) || \ 1486 defined(TARGET_IS_MSP432P4XX_NEXT) 1487 #define ROM_PCM_disableInterrupt \ 1488 ((void (*)(uint32_t flags))ROM_PCMTABLE[13]) 1489 #endif 1490 #if defined(TARGET_IS_MSP432P4XX) || \ 1491 defined(TARGET_IS_MSP432P4XX_NEXT) 1492 #define ROM_PCM_getInterruptStatus \ 1493 ((uint32_t (*)(void))ROM_PCMTABLE[14]) 1494 #endif 1495 #if defined(TARGET_IS_MSP432P4XX) || \ 1496 defined(TARGET_IS_MSP432P4XX_NEXT) 1497 #define ROM_PCM_getEnabledInterruptStatus \ 1498 ((uint32_t (*)(void))ROM_PCMTABLE[15]) 1499 #endif 1500 #if defined(TARGET_IS_MSP432P4XX) || \ 1501 defined(TARGET_IS_MSP432P4XX_NEXT) 1502 #define ROM_PCM_clearInterruptFlag \ 1503 ((void (*)(uint32_t flags))ROM_PCMTABLE[16]) 1504 #endif 1505 #if defined(TARGET_IS_MSP432P4XX) || \ 1506 defined(TARGET_IS_MSP432P4XX_NEXT) 1507 #define ROM_PCM_enableRudeMode \ 1508 ((void (*)(void))ROM_PCMTABLE[17]) 1509 #endif 1510 #if defined(TARGET_IS_MSP432P4XX) || \ 1511 defined(TARGET_IS_MSP432P4XX_NEXT) 1512 #define ROM_PCM_disableRudeMode \ 1513 ((void (*)(void))ROM_PCMTABLE[18]) 1514 #endif 1515 #if defined(TARGET_IS_MSP432P4XX) || \ 1516 defined(TARGET_IS_MSP432P4XX_NEXT) 1517 #define ROM_PCM_gotoLPM0InterruptSafe \ 1518 ((bool (*)(void))ROM_PCMTABLE[19]) 1519 #endif 1520 #if defined(TARGET_IS_MSP432P4XX) 1521 #define ROM_PCM_gotoLPM3InterruptSafe \ 1522 ((bool (*)(void))ROM_PCMTABLE[20]) 1523 #endif 1524 #if defined(TARGET_IS_MSP432P4XX) 1525 #define ROM_PCM_setCoreVoltageLevelNonBlocking \ 1526 ((bool (*)(uint_fast8_t voltageLevel))ROM_PCMTABLE[23]) 1527 #endif 1528 #if defined(TARGET_IS_MSP432P4XX) 1529 #define ROM_PCM_setPowerModeNonBlocking \ 1530 ((bool (*)(uint_fast8_t powerMode))ROM_PCMTABLE[24]) 1531 #endif 1532 #if defined(TARGET_IS_MSP432P4XX) 1533 #define ROM_PCM_setPowerStateNonBlocking \ 1534 ((bool (*)(uint_fast8_t powerState))ROM_PCMTABLE[25]) 1535 #endif 1536 #if defined(TARGET_IS_MSP432P4XX) 1537 #define ROM_PCM_gotoLPM4 \ 1538 ((bool (*)(void))ROM_PCMTABLE[26]) 1539 #endif 1540 #if defined(TARGET_IS_MSP432P4XX) 1541 #define ROM_PCM_gotoLPM4InterruptSafe \ 1542 ((bool (*)(void))ROM_PCMTABLE[27]) 1543 #endif 1544 1545 //***************************************************************************** 1546 // 1547 // Macros for calling ROM functions in the PMAP API. 1548 // 1549 //***************************************************************************** 1550 #if defined(TARGET_IS_MSP432P4XX) || \ 1551 defined(TARGET_IS_MSP432P4XX_NEXT) 1552 #define ROM_PMAP_configurePorts \ 1553 ((void (*)(const uint8_t *portMapping, \ 1554 uint8_t pxMAPy, \ 1555 uint8_t numberOfPorts, \ 1556 uint8_t portMapReconfigure))ROM_PMAPTABLE[0]) 1557 #endif 1558 1559 //***************************************************************************** 1560 // 1561 // Macros for calling ROM functions in the PSS API. 1562 // 1563 //***************************************************************************** 1564 #if defined(TARGET_IS_MSP432P4XX) || \ 1565 defined(TARGET_IS_MSP432P4XX_NEXT) 1566 #define ROM_PSS_enableHighSidePinToggle \ 1567 ((void (*)(bool activeLow))ROM_PSSTABLE[0]) 1568 #endif 1569 #if defined(TARGET_IS_MSP432P4XX) || \ 1570 defined(TARGET_IS_MSP432P4XX_NEXT) 1571 #define ROM_PSS_disableHighSidePinToggle \ 1572 ((void (*)(void))ROM_PSSTABLE[1]) 1573 #endif 1574 #if defined(TARGET_IS_MSP432P4XX) || \ 1575 defined(TARGET_IS_MSP432P4XX_NEXT) 1576 #define ROM_PSS_enableHighSide \ 1577 ((void (*)(void))ROM_PSSTABLE[2]) 1578 #endif 1579 #if defined(TARGET_IS_MSP432P4XX) || \ 1580 defined(TARGET_IS_MSP432P4XX_NEXT) 1581 #define ROM_PSS_disableHighSide \ 1582 ((void (*)(void))ROM_PSSTABLE[3]) 1583 #endif 1584 #if defined(TARGET_IS_MSP432P4XX) || \ 1585 defined(TARGET_IS_MSP432P4XX_NEXT) 1586 #define ROM_PSS_setHighSidePerformanceMode \ 1587 ((void (*)(uint_fast8_t powerMode))ROM_PSSTABLE[6]) 1588 #endif 1589 #if defined(TARGET_IS_MSP432P4XX) || \ 1590 defined(TARGET_IS_MSP432P4XX_NEXT) 1591 #define ROM_PSS_getHighSidePerformanceMode \ 1592 ((uint_fast8_t (*)(void))ROM_PSSTABLE[7]) 1593 #endif 1594 #if defined(TARGET_IS_MSP432P4XX) || \ 1595 defined(TARGET_IS_MSP432P4XX_NEXT) 1596 #define ROM_PSS_enableHighSideMonitor \ 1597 ((void (*)(void))ROM_PSSTABLE[10]) 1598 #endif 1599 #if defined(TARGET_IS_MSP432P4XX) || \ 1600 defined(TARGET_IS_MSP432P4XX_NEXT) 1601 #define ROM_PSS_disableHighSideMonitor \ 1602 ((void (*)(void))ROM_PSSTABLE[11]) 1603 #endif 1604 #if defined(TARGET_IS_MSP432P4XX) || \ 1605 defined(TARGET_IS_MSP432P4XX_NEXT) 1606 #define ROM_PSS_setHighSideVoltageTrigger \ 1607 ((void (*)(uint_fast8_t triggerVoltage))ROM_PSSTABLE[12]) 1608 #endif 1609 #if defined(TARGET_IS_MSP432P4XX) || \ 1610 defined(TARGET_IS_MSP432P4XX_NEXT) 1611 #define ROM_PSS_getHighSideVoltageTrigger \ 1612 ((uint_fast8_t (*)(void))ROM_PSSTABLE[13]) 1613 #endif 1614 #if defined(TARGET_IS_MSP432P4XX) || \ 1615 defined(TARGET_IS_MSP432P4XX_NEXT) 1616 #define ROM_PSS_enableInterrupt \ 1617 ((void (*)(void))ROM_PSSTABLE[14]) 1618 #endif 1619 #if defined(TARGET_IS_MSP432P4XX) || \ 1620 defined(TARGET_IS_MSP432P4XX_NEXT) 1621 #define ROM_PSS_disableInterrupt \ 1622 ((void (*)(void))ROM_PSSTABLE[15]) 1623 #endif 1624 #if defined(TARGET_IS_MSP432P4XX) || \ 1625 defined(TARGET_IS_MSP432P4XX_NEXT) 1626 #define ROM_PSS_getInterruptStatus \ 1627 ((uint32_t (*)(void))ROM_PSSTABLE[16]) 1628 #endif 1629 #if defined(TARGET_IS_MSP432P4XX) || \ 1630 defined(TARGET_IS_MSP432P4XX_NEXT) 1631 #define ROM_PSS_clearInterruptFlag \ 1632 ((void (*)(void))ROM_PSSTABLE[17]) 1633 #endif 1634 #if defined(TARGET_IS_MSP432P4XX) || \ 1635 defined(TARGET_IS_MSP432P4XX_NEXT) 1636 #define ROM_PSS_enableForcedDCDCOperation \ 1637 ((void (*)(void))ROM_PSSTABLE[20]) 1638 #endif 1639 #if defined(TARGET_IS_MSP432P4XX) || \ 1640 defined(TARGET_IS_MSP432P4XX_NEXT) 1641 #define ROM_PSS_disableForcedDCDCOperation \ 1642 ((void (*)(void))ROM_PSSTABLE[21]) 1643 #endif 1644 1645 //***************************************************************************** 1646 // 1647 // Macros for calling ROM functions in the Ref API. 1648 // 1649 //***************************************************************************** 1650 #if defined(TARGET_IS_MSP432P4XX) || \ 1651 defined(TARGET_IS_MSP432P4XX_NEXT) 1652 #define ROM_REF_A_setReferenceVoltage \ 1653 ((void (*)(uint_fast8_t referenceVoltageSelect))ROM_REFTABLE[0]) 1654 #endif 1655 #if defined(TARGET_IS_MSP432P4XX) || \ 1656 defined(TARGET_IS_MSP432P4XX_NEXT) 1657 #define ROM_REF_A_disableTempSensor \ 1658 ((void (*)(void))ROM_REFTABLE[1]) 1659 #endif 1660 #if defined(TARGET_IS_MSP432P4XX) || \ 1661 defined(TARGET_IS_MSP432P4XX_NEXT) 1662 #define ROM_REF_A_enableTempSensor \ 1663 ((void (*)(void))ROM_REFTABLE[2]) 1664 #endif 1665 #if defined(TARGET_IS_MSP432P4XX) || \ 1666 defined(TARGET_IS_MSP432P4XX_NEXT) 1667 #define ROM_REF_A_enableReferenceVoltageOutput \ 1668 ((void (*)(void))ROM_REFTABLE[3]) 1669 #endif 1670 #if defined(TARGET_IS_MSP432P4XX) || \ 1671 defined(TARGET_IS_MSP432P4XX_NEXT) 1672 #define ROM_REF_A_disableReferenceVoltageOutput \ 1673 ((void (*)(void))ROM_REFTABLE[4]) 1674 #endif 1675 #if defined(TARGET_IS_MSP432P4XX) || \ 1676 defined(TARGET_IS_MSP432P4XX_NEXT) 1677 #define ROM_REF_A_enableReferenceVoltage \ 1678 ((void (*)(void))ROM_REFTABLE[5]) 1679 #endif 1680 #if defined(TARGET_IS_MSP432P4XX) || \ 1681 defined(TARGET_IS_MSP432P4XX_NEXT) 1682 #define ROM_REF_A_disableReferenceVoltage \ 1683 ((void (*)(void))ROM_REFTABLE[6]) 1684 #endif 1685 #if defined(TARGET_IS_MSP432P4XX) || \ 1686 defined(TARGET_IS_MSP432P4XX_NEXT) 1687 #define ROM_REF_A_getBandgapMode \ 1688 ((uint_fast8_t (*)(void))ROM_REFTABLE[7]) 1689 #endif 1690 #if defined(TARGET_IS_MSP432P4XX) || \ 1691 defined(TARGET_IS_MSP432P4XX_NEXT) 1692 #define ROM_REF_A_isBandgapActive \ 1693 ((bool (*)(void))ROM_REFTABLE[8]) 1694 #endif 1695 #if defined(TARGET_IS_MSP432P4XX) || \ 1696 defined(TARGET_IS_MSP432P4XX_NEXT) 1697 #define ROM_REF_A_isRefGenBusy \ 1698 ((bool (*)(void))ROM_REFTABLE[9]) 1699 #endif 1700 #if defined(TARGET_IS_MSP432P4XX) || \ 1701 defined(TARGET_IS_MSP432P4XX_NEXT) 1702 #define ROM_REF_A_isRefGenActive \ 1703 ((bool (*)(void))ROM_REFTABLE[10]) 1704 #endif 1705 #if defined(TARGET_IS_MSP432P4XX) || \ 1706 defined(TARGET_IS_MSP432P4XX_NEXT) 1707 #define ROM_REF_A_getBufferedBandgapVoltageStatus \ 1708 ((bool (*)(void))ROM_REFTABLE[11]) 1709 #endif 1710 #if defined(TARGET_IS_MSP432P4XX) || \ 1711 defined(TARGET_IS_MSP432P4XX_NEXT) 1712 #define ROM_REF_A_getVariableReferenceVoltageStatus \ 1713 ((bool (*)(void))ROM_REFTABLE[12]) 1714 #endif 1715 #if defined(TARGET_IS_MSP432P4XX) || \ 1716 defined(TARGET_IS_MSP432P4XX_NEXT) 1717 #define ROM_REF_A_setReferenceVoltageOneTimeTrigger \ 1718 ((void (*)(void))ROM_REFTABLE[13]) 1719 #endif 1720 #if defined(TARGET_IS_MSP432P4XX) || \ 1721 defined(TARGET_IS_MSP432P4XX_NEXT) 1722 #define ROM_REF_A_setBufferedBandgapVoltageOneTimeTrigger \ 1723 ((void (*)(void))ROM_REFTABLE[14]) 1724 #endif 1725 1726 //***************************************************************************** 1727 // 1728 // Macros for calling ROM functions in the ResetCtl API. 1729 // 1730 //***************************************************************************** 1731 #if defined(TARGET_IS_MSP432P4XX) || \ 1732 defined(TARGET_IS_MSP432P4XX_NEXT) 1733 #define ROM_ResetCtl_initiateSoftReset \ 1734 ((void (*)(void))ROM_RESETCTLTABLE[0]) 1735 #endif 1736 #if defined(TARGET_IS_MSP432P4XX) || \ 1737 defined(TARGET_IS_MSP432P4XX_NEXT) 1738 #define ROM_ResetCtl_initiateSoftResetWithSource \ 1739 ((void (*)(uint32_t source))ROM_RESETCTLTABLE[1]) 1740 #endif 1741 #if defined(TARGET_IS_MSP432P4XX) || \ 1742 defined(TARGET_IS_MSP432P4XX_NEXT) 1743 #define ROM_ResetCtl_getSoftResetSource \ 1744 ((uint32_t (*)(void))ROM_RESETCTLTABLE[2]) 1745 #endif 1746 #if defined(TARGET_IS_MSP432P4XX) || \ 1747 defined(TARGET_IS_MSP432P4XX_NEXT) 1748 #define ROM_ResetCtl_clearSoftResetSource \ 1749 ((void (*)(uint32_t mask))ROM_RESETCTLTABLE[3]) 1750 #endif 1751 #if defined(TARGET_IS_MSP432P4XX) || \ 1752 defined(TARGET_IS_MSP432P4XX_NEXT) 1753 #define ROM_ResetCtl_initiateHardReset \ 1754 ((void (*)(void))ROM_RESETCTLTABLE[4]) 1755 #endif 1756 #if defined(TARGET_IS_MSP432P4XX) || \ 1757 defined(TARGET_IS_MSP432P4XX_NEXT) 1758 #define ROM_ResetCtl_initiateHardResetWithSource \ 1759 ((void (*)(uint32_t source))ROM_RESETCTLTABLE[5]) 1760 #endif 1761 #if defined(TARGET_IS_MSP432P4XX) || \ 1762 defined(TARGET_IS_MSP432P4XX_NEXT) 1763 #define ROM_ResetCtl_getHardResetSource \ 1764 ((uint32_t (*)(void))ROM_RESETCTLTABLE[6]) 1765 #endif 1766 #if defined(TARGET_IS_MSP432P4XX) || \ 1767 defined(TARGET_IS_MSP432P4XX_NEXT) 1768 #define ROM_ResetCtl_clearHardResetSource \ 1769 ((void (*)(uint32_t mask))ROM_RESETCTLTABLE[7]) 1770 #endif 1771 #if defined(TARGET_IS_MSP432P4XX) || \ 1772 defined(TARGET_IS_MSP432P4XX_NEXT) 1773 #define ROM_ResetCtl_getPSSSource \ 1774 ((uint32_t (*)(void))ROM_RESETCTLTABLE[8]) 1775 #endif 1776 #if defined(TARGET_IS_MSP432P4XX) || \ 1777 defined(TARGET_IS_MSP432P4XX_NEXT) 1778 #define ROM_ResetCtl_clearPSSFlags \ 1779 ((void (*)(void))ROM_RESETCTLTABLE[9]) 1780 #endif 1781 #if defined(TARGET_IS_MSP432P4XX) || \ 1782 defined(TARGET_IS_MSP432P4XX_NEXT) 1783 #define ROM_ResetCtl_getPCMSource \ 1784 ((uint32_t (*)(void))ROM_RESETCTLTABLE[10]) 1785 #endif 1786 #if defined(TARGET_IS_MSP432P4XX) || \ 1787 defined(TARGET_IS_MSP432P4XX_NEXT) 1788 #define ROM_ResetCtl_clearPCMFlags \ 1789 ((void (*)(void))ROM_RESETCTLTABLE[11]) 1790 #endif 1791 1792 //***************************************************************************** 1793 // 1794 // Macros for calling ROM functions in the RTC API. 1795 // 1796 //***************************************************************************** 1797 #if defined(TARGET_IS_MSP432P4XX) || \ 1798 defined(TARGET_IS_MSP432P4XX_NEXT) 1799 #define ROM_RTC_C_startClock \ 1800 ((void (*)(void))ROM_RTCTABLE[0]) 1801 #endif 1802 #if defined(TARGET_IS_MSP432P4XX) || \ 1803 defined(TARGET_IS_MSP432P4XX_NEXT) 1804 #define ROM_RTC_C_holdClock \ 1805 ((void (*)(void))ROM_RTCTABLE[1]) 1806 #endif 1807 #if defined(TARGET_IS_MSP432P4XX) || \ 1808 defined(TARGET_IS_MSP432P4XX_NEXT) 1809 #define ROM_RTC_C_setCalibrationFrequency \ 1810 ((void (*)(uint_fast16_t frequencySelect))ROM_RTCTABLE[2]) 1811 #endif 1812 #if defined(TARGET_IS_MSP432P4XX) || \ 1813 defined(TARGET_IS_MSP432P4XX_NEXT) 1814 #define ROM_RTC_C_setCalibrationData \ 1815 ((void (*)(uint_fast8_t offsetDirection, \ 1816 uint_fast8_t offsetValue))ROM_RTCTABLE[3]) 1817 #endif 1818 #if defined(TARGET_IS_MSP432P4XX) || \ 1819 defined(TARGET_IS_MSP432P4XX_NEXT) 1820 #define ROM_RTC_C_setTemperatureCompensation \ 1821 ((bool (*)(uint_fast16_t offsetDirection, \ 1822 uint_fast8_t offsetValue))ROM_RTCTABLE[4]) 1823 #endif 1824 #if defined(TARGET_IS_MSP432P4XX) || \ 1825 defined(TARGET_IS_MSP432P4XX_NEXT) 1826 #define ROM_RTC_C_initCalendar \ 1827 ((void (*)(const RTC_C_Calendar *calendarTime, \ 1828 uint_fast16_t formatSelect))ROM_RTCTABLE[5]) 1829 #endif 1830 #if defined(TARGET_IS_MSP432P4XX) || \ 1831 defined(TARGET_IS_MSP432P4XX_NEXT) 1832 #define ROM_RTC_C_setCalendarAlarm \ 1833 ((void (*)(uint_fast8_t minutesAlarm, \ 1834 uint_fast8_t hoursAlarm, \ 1835 uint_fast8_t dayOfWeekAlarm, \ 1836 uint_fast8_t dayOfmonthAlarm))ROM_RTCTABLE[7]) 1837 #endif 1838 #if defined(TARGET_IS_MSP432P4XX) || \ 1839 defined(TARGET_IS_MSP432P4XX_NEXT) 1840 #define ROM_RTC_C_setCalendarEvent \ 1841 ((void (*)(uint_fast16_t eventSelect))ROM_RTCTABLE[8]) 1842 #endif 1843 #if defined(TARGET_IS_MSP432P4XX) || \ 1844 defined(TARGET_IS_MSP432P4XX_NEXT) 1845 #define ROM_RTC_C_getPrescaleValue \ 1846 ((uint_fast8_t (*)(uint_fast8_t prescaleSelect))ROM_RTCTABLE[10]) 1847 #endif 1848 #if defined(TARGET_IS_MSP432P4XX) || \ 1849 defined(TARGET_IS_MSP432P4XX_NEXT) 1850 #define ROM_RTC_C_setPrescaleValue \ 1851 ((void (*)(uint_fast8_t prescaleSelect, \ 1852 uint_fast8_t prescaleCounterValue))ROM_RTCTABLE[11]) 1853 #endif 1854 #if defined(TARGET_IS_MSP432P4XX) || \ 1855 defined(TARGET_IS_MSP432P4XX_NEXT) 1856 #define ROM_RTC_C_convertBCDToBinary \ 1857 ((uint16_t (*)(uint16_t valueToConvert))ROM_RTCTABLE[12]) 1858 #endif 1859 #if defined(TARGET_IS_MSP432P4XX) || \ 1860 defined(TARGET_IS_MSP432P4XX_NEXT) 1861 #define ROM_RTC_C_convertBinaryToBCD \ 1862 ((uint16_t (*)(uint16_t valueToConvert))ROM_RTCTABLE[13]) 1863 #endif 1864 #if defined(TARGET_IS_MSP432P4XX) || \ 1865 defined(TARGET_IS_MSP432P4XX_NEXT) 1866 #define ROM_RTC_C_getInterruptStatus \ 1867 ((uint_fast8_t (*)(void))ROM_RTCTABLE[16]) 1868 #endif 1869 #if defined(TARGET_IS_MSP432P4XX) || \ 1870 defined(TARGET_IS_MSP432P4XX_NEXT) 1871 #define ROM_RTC_C_getEnabledInterruptStatus \ 1872 ((uint_fast8_t (*)(void))ROM_RTCTABLE[17]) 1873 #endif 1874 #if defined(TARGET_IS_MSP432P4XX) || \ 1875 defined(TARGET_IS_MSP432P4XX_NEXT) 1876 #define ROM_RTC_C_clearInterruptFlag \ 1877 ((void (*)(uint_fast8_t interruptFlagMask))ROM_RTCTABLE[18]) 1878 #endif 1879 1880 //***************************************************************************** 1881 // 1882 // Macros for calling ROM functions in the SPI API. 1883 // 1884 //***************************************************************************** 1885 #if defined(TARGET_IS_MSP432P4XX) || \ 1886 defined(TARGET_IS_MSP432P4XX_NEXT) 1887 #define ROM_SPI_selectFourPinFunctionality \ 1888 ((void (*)(uint32_t moduleInstance, \ 1889 uint_fast8_t select4PinFunctionality))ROM_SPITABLE[1]) 1890 #endif 1891 #if defined(TARGET_IS_MSP432P4XX) || \ 1892 defined(TARGET_IS_MSP432P4XX_NEXT) 1893 #define ROM_SPI_changeMasterClock \ 1894 ((void (*)(uint32_t moduleInstance, \ 1895 uint32_t clockSourceFrequency, \ 1896 uint32_t desiredSpiClock))ROM_SPITABLE[2]) 1897 #endif 1898 #if defined(TARGET_IS_MSP432P4XX) || \ 1899 defined(TARGET_IS_MSP432P4XX_NEXT) 1900 #define ROM_SPI_initSlave \ 1901 ((bool (*)(uint32_t moduleInstance, \ 1902 const eUSCI_SPI_SlaveConfig *config))ROM_SPITABLE[3]) 1903 #endif 1904 #if defined(TARGET_IS_MSP432P4XX) || \ 1905 defined(TARGET_IS_MSP432P4XX_NEXT) 1906 #define ROM_SPI_changeClockPhasePolarity \ 1907 ((void (*)(uint32_t moduleInstance, \ 1908 uint_fast16_t clockPhase, \ 1909 uint_fast16_t clockPolarity))ROM_SPITABLE[4]) 1910 #endif 1911 #if defined(TARGET_IS_MSP432P4XX) || \ 1912 defined(TARGET_IS_MSP432P4XX_NEXT) 1913 #define ROM_SPI_transmitData \ 1914 ((void (*)(uint32_t moduleInstance, \ 1915 uint_fast8_t transmitData))ROM_SPITABLE[5]) 1916 #endif 1917 #if defined(TARGET_IS_MSP432P4XX) || \ 1918 defined(TARGET_IS_MSP432P4XX_NEXT) 1919 #define ROM_SPI_receiveData \ 1920 ((uint8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[6]) 1921 #endif 1922 #if defined(TARGET_IS_MSP432P4XX) || \ 1923 defined(TARGET_IS_MSP432P4XX_NEXT) 1924 #define ROM_SPI_enableModule \ 1925 ((void (*)(uint32_t moduleInstance))ROM_SPITABLE[7]) 1926 #endif 1927 #if defined(TARGET_IS_MSP432P4XX) || \ 1928 defined(TARGET_IS_MSP432P4XX_NEXT) 1929 #define ROM_SPI_disableModule \ 1930 ((void (*)(uint32_t moduleInstance))ROM_SPITABLE[8]) 1931 #endif 1932 #if defined(TARGET_IS_MSP432P4XX) || \ 1933 defined(TARGET_IS_MSP432P4XX_NEXT) 1934 #define ROM_SPI_getReceiveBufferAddressForDMA \ 1935 ((uint32_t (*)(uint32_t moduleInstance))ROM_SPITABLE[9]) 1936 #endif 1937 #if defined(TARGET_IS_MSP432P4XX) || \ 1938 defined(TARGET_IS_MSP432P4XX_NEXT) 1939 #define ROM_SPI_getTransmitBufferAddressForDMA \ 1940 ((uint32_t (*)(uint32_t moduleInstance))ROM_SPITABLE[10]) 1941 #endif 1942 #if defined(TARGET_IS_MSP432P4XX) || \ 1943 defined(TARGET_IS_MSP432P4XX_NEXT) 1944 #define ROM_SPI_isBusy \ 1945 ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[11]) 1946 #endif 1947 #if defined(TARGET_IS_MSP432P4XX) || \ 1948 defined(TARGET_IS_MSP432P4XX_NEXT) 1949 #define ROM_SPI_enableInterrupt \ 1950 ((void (*)(uint32_t moduleInstance, \ 1951 uint_fast8_t mask))ROM_SPITABLE[12]) 1952 #endif 1953 #if defined(TARGET_IS_MSP432P4XX) || \ 1954 defined(TARGET_IS_MSP432P4XX_NEXT) 1955 #define ROM_SPI_disableInterrupt \ 1956 ((void (*)(uint32_t moduleInstance, \ 1957 uint_fast8_t mask))ROM_SPITABLE[13]) 1958 #endif 1959 #if defined(TARGET_IS_MSP432P4XX) || \ 1960 defined(TARGET_IS_MSP432P4XX_NEXT) 1961 #define ROM_SPI_getInterruptStatus \ 1962 ((uint_fast8_t (*)(uint32_t moduleInstance, \ 1963 uint16_t mask))ROM_SPITABLE[14]) 1964 #endif 1965 #if defined(TARGET_IS_MSP432P4XX) || \ 1966 defined(TARGET_IS_MSP432P4XX_NEXT) 1967 #define ROM_SPI_getEnabledInterruptStatus \ 1968 ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[15]) 1969 #endif 1970 #if defined(TARGET_IS_MSP432P4XX) || \ 1971 defined(TARGET_IS_MSP432P4XX_NEXT) 1972 #define ROM_SPI_clearInterruptFlag \ 1973 ((void (*)(uint32_t moduleInstance, \ 1974 uint_fast8_t mask))ROM_SPITABLE[16]) 1975 #endif 1976 1977 //***************************************************************************** 1978 // 1979 // Macros for calling ROM functions in the SysCtl API. 1980 // 1981 //***************************************************************************** 1982 #if defined(TARGET_IS_MSP432P4XX) 1983 #define ROM_SysCtl_getSRAMSize \ 1984 ((uint_least32_t (*)(void))ROM_SYSCTLTABLE[0]) 1985 #endif 1986 #if defined(TARGET_IS_MSP432P4XX) 1987 #define ROM_SysCtl_getFlashSize \ 1988 ((uint_least32_t (*)(void))ROM_SYSCTLTABLE[1]) 1989 #endif 1990 #if defined(TARGET_IS_MSP432P4XX) 1991 #define ROM_SysCtl_rebootDevice \ 1992 ((void (*)(void))ROM_SYSCTLTABLE[2]) 1993 #endif 1994 #if defined(TARGET_IS_MSP432P4XX) 1995 #define ROM_SysCtl_enableSRAMBank \ 1996 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[3]) 1997 #endif 1998 #if defined(TARGET_IS_MSP432P4XX) 1999 #define ROM_SysCtl_disableSRAMBank \ 2000 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[4]) 2001 #endif 2002 #if defined(TARGET_IS_MSP432P4XX) 2003 #define ROM_SysCtl_enableSRAMBankRetention \ 2004 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[5]) 2005 #endif 2006 #if defined(TARGET_IS_MSP432P4XX) 2007 #define ROM_SysCtl_disableSRAMBankRetention \ 2008 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[6]) 2009 #endif 2010 #if defined(TARGET_IS_MSP432P4XX) 2011 #define ROM_SysCtl_enablePeripheralAtCPUHalt \ 2012 ((void (*)(uint_fast16_t devices))ROM_SYSCTLTABLE[7]) 2013 #endif 2014 #if defined(TARGET_IS_MSP432P4XX) 2015 #define ROM_SysCtl_disablePeripheralAtCPUHalt \ 2016 ((void (*)(uint_fast16_t devices))ROM_SYSCTLTABLE[8]) 2017 #endif 2018 #if defined(TARGET_IS_MSP432P4XX) 2019 #define ROM_SysCtl_setWDTTimeoutResetType \ 2020 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLTABLE[9]) 2021 #endif 2022 #if defined(TARGET_IS_MSP432P4XX) 2023 #define ROM_SysCtl_setWDTPasswordViolationResetType \ 2024 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLTABLE[10]) 2025 #endif 2026 #if defined(TARGET_IS_MSP432P4XX) 2027 #define ROM_SysCtl_disableNMISource \ 2028 ((void (*)(uint_fast8_t flags))ROM_SYSCTLTABLE[11]) 2029 #endif 2030 #if defined(TARGET_IS_MSP432P4XX) 2031 #define ROM_SysCtl_enableNMISource \ 2032 ((void (*)(uint_fast8_t flags))ROM_SYSCTLTABLE[12]) 2033 #endif 2034 #if defined(TARGET_IS_MSP432P4XX) 2035 #define ROM_SysCtl_getTempCalibrationConstant \ 2036 ((uint_fast16_t (*)(uint32_t refVoltage, \ 2037 uint32_t temperature))ROM_SYSCTLTABLE[14]) 2038 #endif 2039 #if defined(TARGET_IS_MSP432P4XX) 2040 #define ROM_SysCtl_enableGlitchFilter \ 2041 ((void (*)(void))ROM_SYSCTLTABLE[15]) 2042 #endif 2043 #if defined(TARGET_IS_MSP432P4XX) 2044 #define ROM_SysCtl_disableGlitchFilter \ 2045 ((void (*)(void))ROM_SYSCTLTABLE[16]) 2046 #endif 2047 #if defined(TARGET_IS_MSP432P4XX) 2048 #define ROM_SysCtl_getTLVInfo \ 2049 ((void (*)(uint_fast8_t tag, \ 2050 uint_fast8_t instance, \ 2051 uint_fast8_t *length, \ 2052 uint32_t **data_address))ROM_SYSCTLTABLE[17]) 2053 #endif 2054 2055 //***************************************************************************** 2056 // 2057 // Macros for calling ROM functions in the SysTick API. 2058 // 2059 //***************************************************************************** 2060 #if defined(TARGET_IS_MSP432P4XX) || \ 2061 defined(TARGET_IS_MSP432P4XX_NEXT) 2062 #define ROM_SysTick_enableModule \ 2063 ((void (*)(void))ROM_SYSTICKTABLE[0]) 2064 #endif 2065 #if defined(TARGET_IS_MSP432P4XX) || \ 2066 defined(TARGET_IS_MSP432P4XX_NEXT) 2067 #define ROM_SysTick_disableModule \ 2068 ((void (*)(void))ROM_SYSTICKTABLE[1]) 2069 #endif 2070 #if defined(TARGET_IS_MSP432P4XX) || \ 2071 defined(TARGET_IS_MSP432P4XX_NEXT) 2072 #define ROM_SysTick_enableInterrupt \ 2073 ((void (*)(void))ROM_SYSTICKTABLE[2]) 2074 #endif 2075 #if defined(TARGET_IS_MSP432P4XX) || \ 2076 defined(TARGET_IS_MSP432P4XX_NEXT) 2077 #define ROM_SysTick_disableInterrupt \ 2078 ((void (*)(void))ROM_SYSTICKTABLE[3]) 2079 #endif 2080 #if defined(TARGET_IS_MSP432P4XX) || \ 2081 defined(TARGET_IS_MSP432P4XX_NEXT) 2082 #define ROM_SysTick_setPeriod \ 2083 ((void (*)(uint32_t period))ROM_SYSTICKTABLE[4]) 2084 #endif 2085 #if defined(TARGET_IS_MSP432P4XX) || \ 2086 defined(TARGET_IS_MSP432P4XX_NEXT) 2087 #define ROM_SysTick_getPeriod \ 2088 ((uint32_t (*)(void))ROM_SYSTICKTABLE[5]) 2089 #endif 2090 #if defined(TARGET_IS_MSP432P4XX) || \ 2091 defined(TARGET_IS_MSP432P4XX_NEXT) 2092 #define ROM_SysTick_getValue \ 2093 ((uint32_t (*)(void))ROM_SYSTICKTABLE[6]) 2094 #endif 2095 2096 //***************************************************************************** 2097 // 2098 // Macros for calling ROM functions in the Timer_A API. 2099 // 2100 //***************************************************************************** 2101 #if defined(TARGET_IS_MSP432P4XX) || \ 2102 defined(TARGET_IS_MSP432P4XX_NEXT) 2103 #define ROM_Timer_A_startCounter \ 2104 ((void (*)(uint32_t timer, \ 2105 uint_fast16_t timerMode))ROM_TIMER_ATABLE[0]) 2106 #endif 2107 #if defined(TARGET_IS_MSP432P4XX) || \ 2108 defined(TARGET_IS_MSP432P4XX_NEXT) 2109 #define ROM_Timer_A_configureContinuousMode \ 2110 ((void (*)(uint32_t timer, \ 2111 const Timer_A_ContinuousModeConfig *config))ROM_TIMER_ATABLE[1]) 2112 #endif 2113 #if defined(TARGET_IS_MSP432P4XX) || \ 2114 defined(TARGET_IS_MSP432P4XX_NEXT) 2115 #define ROM_Timer_A_configureUpMode \ 2116 ((void (*)(uint32_t timer, \ 2117 const Timer_A_UpModeConfig *config))ROM_TIMER_ATABLE[2]) 2118 #endif 2119 #if defined(TARGET_IS_MSP432P4XX) || \ 2120 defined(TARGET_IS_MSP432P4XX_NEXT) 2121 #define ROM_Timer_A_configureUpDownMode \ 2122 ((void (*)(uint32_t timer, \ 2123 const Timer_A_UpDownModeConfig *config))ROM_TIMER_ATABLE[3]) 2124 #endif 2125 #if defined(TARGET_IS_MSP432P4XX) || \ 2126 defined(TARGET_IS_MSP432P4XX_NEXT) 2127 #define ROM_Timer_A_initCapture \ 2128 ((void (*)(uint32_t timer, \ 2129 const Timer_A_CaptureModeConfig *config))ROM_TIMER_ATABLE[4]) 2130 #endif 2131 #if defined(TARGET_IS_MSP432P4XX) || \ 2132 defined(TARGET_IS_MSP432P4XX_NEXT) 2133 #define ROM_Timer_A_initCompare \ 2134 ((void (*)(uint32_t timer, \ 2135 const Timer_A_CompareModeConfig *config))ROM_TIMER_ATABLE[5]) 2136 #endif 2137 #if defined(TARGET_IS_MSP432P4XX) || \ 2138 defined(TARGET_IS_MSP432P4XX_NEXT) 2139 #define ROM_Timer_A_clearTimer \ 2140 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[6]) 2141 #endif 2142 #if defined(TARGET_IS_MSP432P4XX) || \ 2143 defined(TARGET_IS_MSP432P4XX_NEXT) 2144 #define ROM_Timer_A_getSynchronizedCaptureCompareInput \ 2145 ((uint_fast8_t (*)(uint32_t timer, \ 2146 uint_fast16_t captureCompareRegister, \ 2147 uint_fast16_t synchronizedSetting))ROM_TIMER_ATABLE[7]) 2148 #endif 2149 #if defined(TARGET_IS_MSP432P4XX) || \ 2150 defined(TARGET_IS_MSP432P4XX_NEXT) 2151 #define ROM_Timer_A_getOutputForOutputModeOutBitValue \ 2152 ((uint_fast8_t (*)(uint32_t timer, \ 2153 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[8]) 2154 #endif 2155 #if defined(TARGET_IS_MSP432P4XX) || \ 2156 defined(TARGET_IS_MSP432P4XX_NEXT) 2157 #define ROM_Timer_A_getCaptureCompareCount \ 2158 ((uint_fast16_t (*)(uint32_t timer, \ 2159 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[9]) 2160 #endif 2161 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2162 #define ROM_Timer_A_setOutputForOutputModeOutBitValue \ 2163 ((void (*)(uint32_t timer, \ 2164 uint_fast16_t captureCompareRegister, \ 2165 uint_fast8_t outputModeOutBitValue))ROM_TIMER_ATABLE[10]) 2166 #endif 2167 #if defined(TARGET_IS_MSP432P4XX) || \ 2168 defined(TARGET_IS_MSP432P4XX_NEXT) 2169 #define ROM_Timer_A_generatePWM \ 2170 ((void (*)(uint32_t timer, \ 2171 const Timer_A_PWMConfig *config))ROM_TIMER_ATABLE[11]) 2172 #endif 2173 #if defined(TARGET_IS_MSP432P4XX) || \ 2174 defined(TARGET_IS_MSP432P4XX_NEXT) 2175 #define ROM_Timer_A_stopTimer \ 2176 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[12]) 2177 #endif 2178 #if defined(TARGET_IS_MSP432P4XX) || \ 2179 defined(TARGET_IS_MSP432P4XX_NEXT) 2180 #define ROM_Timer_A_setCompareValue \ 2181 ((void (*)(uint32_t timer, \ 2182 uint_fast16_t compareRegister, \ 2183 uint_fast16_t compareValue))ROM_TIMER_ATABLE[13]) 2184 #endif 2185 #if defined(TARGET_IS_MSP432P4XX) || \ 2186 defined(TARGET_IS_MSP432P4XX_NEXT) 2187 #define ROM_Timer_A_clearInterruptFlag \ 2188 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[14]) 2189 #endif 2190 #if defined(TARGET_IS_MSP432P4XX) || \ 2191 defined(TARGET_IS_MSP432P4XX_NEXT) 2192 #define ROM_Timer_A_clearCaptureCompareInterrupt \ 2193 ((void (*)(uint32_t timer, \ 2194 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[15]) 2195 #endif 2196 #if defined(TARGET_IS_MSP432P4XX) || \ 2197 defined(TARGET_IS_MSP432P4XX_NEXT) 2198 #define ROM_Timer_A_enableInterrupt \ 2199 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[16]) 2200 #endif 2201 #if defined(TARGET_IS_MSP432P4XX) || \ 2202 defined(TARGET_IS_MSP432P4XX_NEXT) 2203 #define ROM_Timer_A_disableInterrupt \ 2204 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[17]) 2205 #endif 2206 #if defined(TARGET_IS_MSP432P4XX) || \ 2207 defined(TARGET_IS_MSP432P4XX_NEXT) 2208 #define ROM_Timer_A_getInterruptStatus \ 2209 ((uint32_t (*)(uint32_t timer))ROM_TIMER_ATABLE[18]) 2210 #endif 2211 #if defined(TARGET_IS_MSP432P4XX) || \ 2212 defined(TARGET_IS_MSP432P4XX_NEXT) 2213 #define ROM_Timer_A_getEnabledInterruptStatus \ 2214 ((uint32_t (*)(uint32_t timer))ROM_TIMER_ATABLE[19]) 2215 #endif 2216 #if defined(TARGET_IS_MSP432P4XX) || \ 2217 defined(TARGET_IS_MSP432P4XX_NEXT) 2218 #define ROM_Timer_A_enableCaptureCompareInterrupt \ 2219 ((void (*)(uint32_t timer, \ 2220 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[20]) 2221 #endif 2222 #if defined(TARGET_IS_MSP432P4XX) || \ 2223 defined(TARGET_IS_MSP432P4XX_NEXT) 2224 #define ROM_Timer_A_disableCaptureCompareInterrupt \ 2225 ((void (*)(uint32_t timer, \ 2226 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[21]) 2227 #endif 2228 #if defined(TARGET_IS_MSP432P4XX) || \ 2229 defined(TARGET_IS_MSP432P4XX_NEXT) 2230 #define ROM_Timer_A_getCaptureCompareInterruptStatus \ 2231 ((uint32_t (*)(uint32_t timer, \ 2232 uint_fast16_t captureCompareRegister, \ 2233 uint_fast16_t mask))ROM_TIMER_ATABLE[22]) 2234 #endif 2235 #if defined(TARGET_IS_MSP432P4XX) || \ 2236 defined(TARGET_IS_MSP432P4XX_NEXT) 2237 #define ROM_Timer_A_getCaptureCompareEnabledInterruptStatus \ 2238 ((uint32_t (*)(uint32_t timer, \ 2239 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[23]) 2240 #endif 2241 #if defined(TARGET_IS_MSP432P4XX) || \ 2242 defined(TARGET_IS_MSP432P4XX_NEXT) 2243 #define ROM_Timer_A_getCounterValue \ 2244 ((uint16_t (*)(uint32_t timer))ROM_TIMER_ATABLE[26]) 2245 #endif 2246 2247 //***************************************************************************** 2248 // 2249 // Macros for calling ROM functions in the Timer32 API. 2250 // 2251 //***************************************************************************** 2252 #if defined(TARGET_IS_MSP432P4XX) || \ 2253 defined(TARGET_IS_MSP432P4XX_NEXT) 2254 #define ROM_Timer32_initModule \ 2255 ((void (*)(uint32_t timer, \ 2256 uint32_t preScaler, \ 2257 uint32_t resolution, \ 2258 uint32_t mode))ROM_TIMER32TABLE[0]) 2259 #endif 2260 #if defined(TARGET_IS_MSP432P4XX) || \ 2261 defined(TARGET_IS_MSP432P4XX_NEXT) 2262 #define ROM_Timer32_setCount \ 2263 ((void (*)(uint32_t timer, \ 2264 uint32_t count))ROM_TIMER32TABLE[1]) 2265 #endif 2266 #if defined(TARGET_IS_MSP432P4XX) || \ 2267 defined(TARGET_IS_MSP432P4XX_NEXT) 2268 #define ROM_Timer32_setCountInBackground \ 2269 ((void (*)(uint32_t timer, \ 2270 uint32_t count))ROM_TIMER32TABLE[2]) 2271 #endif 2272 #if defined(TARGET_IS_MSP432P4XX) || \ 2273 defined(TARGET_IS_MSP432P4XX_NEXT) 2274 #define ROM_Timer32_getValue \ 2275 ((uint32_t (*)(uint32_t timer))ROM_TIMER32TABLE[3]) 2276 #endif 2277 #if defined(TARGET_IS_MSP432P4XX) || \ 2278 defined(TARGET_IS_MSP432P4XX_NEXT) 2279 #define ROM_Timer32_startTimer \ 2280 ((void (*)(uint32_t timer, \ 2281 bool oneShot))ROM_TIMER32TABLE[4]) 2282 #endif 2283 #if defined(TARGET_IS_MSP432P4XX) || \ 2284 defined(TARGET_IS_MSP432P4XX_NEXT) 2285 #define ROM_Timer32_haltTimer \ 2286 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[5]) 2287 #endif 2288 #if defined(TARGET_IS_MSP432P4XX) || \ 2289 defined(TARGET_IS_MSP432P4XX_NEXT) 2290 #define ROM_Timer32_enableInterrupt \ 2291 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[6]) 2292 #endif 2293 #if defined(TARGET_IS_MSP432P4XX) || \ 2294 defined(TARGET_IS_MSP432P4XX_NEXT) 2295 #define ROM_Timer32_disableInterrupt \ 2296 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[7]) 2297 #endif 2298 #if defined(TARGET_IS_MSP432P4XX) || \ 2299 defined(TARGET_IS_MSP432P4XX_NEXT) 2300 #define ROM_Timer32_clearInterruptFlag \ 2301 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[8]) 2302 #endif 2303 #if defined(TARGET_IS_MSP432P4XX) || \ 2304 defined(TARGET_IS_MSP432P4XX_NEXT) 2305 #define ROM_Timer32_getInterruptStatus \ 2306 ((uint32_t (*)(uint32_t timer))ROM_TIMER32TABLE[9]) 2307 #endif 2308 2309 //***************************************************************************** 2310 // 2311 // Macros for calling ROM functions in the UART API. 2312 // 2313 //***************************************************************************** 2314 #if defined(TARGET_IS_MSP432P4XX) || \ 2315 defined(TARGET_IS_MSP432P4XX_NEXT) 2316 #define ROM_UART_initModule \ 2317 ((bool (*)(uint32_t moduleInstance, \ 2318 const eUSCI_UART_Config *config))ROM_UARTTABLE[0]) 2319 #endif 2320 #if defined(TARGET_IS_MSP432P4XX) || \ 2321 defined(TARGET_IS_MSP432P4XX_NEXT) 2322 #define ROM_UART_transmitData \ 2323 ((void (*)(uint32_t moduleInstance, \ 2324 uint_fast8_t transmitData))ROM_UARTTABLE[1]) 2325 #endif 2326 #if defined(TARGET_IS_MSP432P4XX) || \ 2327 defined(TARGET_IS_MSP432P4XX_NEXT) 2328 #define ROM_UART_enableModule \ 2329 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[2]) 2330 #endif 2331 #if defined(TARGET_IS_MSP432P4XX) || \ 2332 defined(TARGET_IS_MSP432P4XX_NEXT) 2333 #define ROM_UART_disableModule \ 2334 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[3]) 2335 #endif 2336 #if defined(TARGET_IS_MSP432P4XX) || \ 2337 defined(TARGET_IS_MSP432P4XX_NEXT) 2338 #define ROM_UART_queryStatusFlags \ 2339 ((uint_fast8_t (*)(uint32_t moduleInstance, \ 2340 uint_fast8_t mask))ROM_UARTTABLE[4]) 2341 #endif 2342 #if defined(TARGET_IS_MSP432P4XX) || \ 2343 defined(TARGET_IS_MSP432P4XX_NEXT) 2344 #define ROM_UART_setDormant \ 2345 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[5]) 2346 #endif 2347 #if defined(TARGET_IS_MSP432P4XX) || \ 2348 defined(TARGET_IS_MSP432P4XX_NEXT) 2349 #define ROM_UART_resetDormant \ 2350 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[6]) 2351 #endif 2352 #if defined(TARGET_IS_MSP432P4XX) || \ 2353 defined(TARGET_IS_MSP432P4XX_NEXT) 2354 #define ROM_UART_transmitAddress \ 2355 ((void (*)(uint32_t moduleInstance, \ 2356 uint_fast8_t transmitAddress))ROM_UARTTABLE[7]) 2357 #endif 2358 #if defined(TARGET_IS_MSP432P4XX) || \ 2359 defined(TARGET_IS_MSP432P4XX_NEXT) 2360 #define ROM_UART_transmitBreak \ 2361 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[8]) 2362 #endif 2363 #if defined(TARGET_IS_MSP432P4XX) || \ 2364 defined(TARGET_IS_MSP432P4XX_NEXT) 2365 #define ROM_UART_getReceiveBufferAddressForDMA \ 2366 ((uint32_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[9]) 2367 #endif 2368 #if defined(TARGET_IS_MSP432P4XX) || \ 2369 defined(TARGET_IS_MSP432P4XX_NEXT) 2370 #define ROM_UART_getTransmitBufferAddressForDMA \ 2371 ((uint32_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[10]) 2372 #endif 2373 #if defined(TARGET_IS_MSP432P4XX) || \ 2374 defined(TARGET_IS_MSP432P4XX_NEXT) 2375 #define ROM_UART_selectDeglitchTime \ 2376 ((void (*)(uint32_t moduleInstance, \ 2377 uint32_t deglitchTime))ROM_UARTTABLE[11]) 2378 #endif 2379 #if defined(TARGET_IS_MSP432P4XX) || \ 2380 defined(TARGET_IS_MSP432P4XX_NEXT) 2381 #define ROM_UART_enableInterrupt \ 2382 ((void (*)(uint32_t moduleInstance, \ 2383 uint_fast8_t mask))ROM_UARTTABLE[12]) 2384 #endif 2385 #if defined(TARGET_IS_MSP432P4XX) || \ 2386 defined(TARGET_IS_MSP432P4XX_NEXT) 2387 #define ROM_UART_disableInterrupt \ 2388 ((void (*)(uint32_t moduleInstance, \ 2389 uint_fast8_t mask))ROM_UARTTABLE[13]) 2390 #endif 2391 #if defined(TARGET_IS_MSP432P4XX) || \ 2392 defined(TARGET_IS_MSP432P4XX_NEXT) 2393 #define ROM_UART_getInterruptStatus \ 2394 ((uint_fast8_t (*)(uint32_t moduleInstance, \ 2395 uint8_t mask))ROM_UARTTABLE[14]) 2396 #endif 2397 #if defined(TARGET_IS_MSP432P4XX) || \ 2398 defined(TARGET_IS_MSP432P4XX_NEXT) 2399 #define ROM_UART_clearInterruptFlag \ 2400 ((void (*)(uint32_t moduleInstance, \ 2401 uint_fast8_t mask))ROM_UARTTABLE[15]) 2402 #endif 2403 #if defined(TARGET_IS_MSP432P4XX) || \ 2404 defined(TARGET_IS_MSP432P4XX_NEXT) 2405 #define ROM_UART_receiveData \ 2406 ((uint8_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[16]) 2407 #endif 2408 #if defined(TARGET_IS_MSP432P4XX) || \ 2409 defined(TARGET_IS_MSP432P4XX_NEXT) 2410 #define ROM_UART_getEnabledInterruptStatus \ 2411 ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[17]) 2412 #endif 2413 2414 //***************************************************************************** 2415 // 2416 // Macros for calling ROM functions in the WDT API. 2417 // 2418 //***************************************************************************** 2419 #if defined(TARGET_IS_MSP432P4XX) || \ 2420 defined(TARGET_IS_MSP432P4XX_NEXT) 2421 #define ROM_WDT_A_holdTimer \ 2422 ((void (*)(void))ROM_WDTTABLE[0]) 2423 #endif 2424 #if defined(TARGET_IS_MSP432P4XX) || \ 2425 defined(TARGET_IS_MSP432P4XX_NEXT) 2426 #define ROM_WDT_A_startTimer \ 2427 ((void (*)(void))ROM_WDTTABLE[1]) 2428 #endif 2429 #if defined(TARGET_IS_MSP432P4XX) || \ 2430 defined(TARGET_IS_MSP432P4XX_NEXT) 2431 #define ROM_WDT_A_clearTimer \ 2432 ((void (*)(void))ROM_WDTTABLE[2]) 2433 #endif 2434 #if defined(TARGET_IS_MSP432P4XX) || \ 2435 defined(TARGET_IS_MSP432P4XX_NEXT) 2436 #define ROM_WDT_A_initWatchdogTimer \ 2437 ((void (*)(uint_fast8_t clockSelect, \ 2438 uint_fast8_t clockDivider))ROM_WDTTABLE[3]) 2439 #endif 2440 #if defined(TARGET_IS_MSP432P4XX) || \ 2441 defined(TARGET_IS_MSP432P4XX_NEXT) 2442 #define ROM_WDT_A_initIntervalTimer \ 2443 ((void (*)(uint_fast8_t clockSelect, \ 2444 uint_fast8_t clockDivider))ROM_WDTTABLE[4]) 2445 #endif 2446 #if defined(TARGET_IS_MSP432P4XX) || \ 2447 defined(TARGET_IS_MSP432P4XX_NEXT) 2448 #define ROM_WDT_A_setPasswordViolationReset \ 2449 ((void (*)(uint_fast8_t resetType))ROM_WDTTABLE[7]) 2450 #endif 2451 #if defined(TARGET_IS_MSP432P4XX) || \ 2452 defined(TARGET_IS_MSP432P4XX_NEXT) 2453 #define ROM_WDT_A_setTimeoutReset \ 2454 ((void (*)(uint_fast8_t resetType))ROM_WDTTABLE[8]) 2455 #endif 2456 2457 //***************************************************************************** 2458 // 2459 // Macros for calling ROM functions in the SysCtl_A API. 2460 // 2461 //***************************************************************************** 2462 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2463 #define ROM_SysCtl_A_getSRAMSize \ 2464 ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[0]) 2465 #endif 2466 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2467 #define ROM_SysCtl_A_getFlashSize \ 2468 ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[1]) 2469 #endif 2470 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2471 #define ROM_SysCtl_A_rebootDevice \ 2472 ((void (*)(void))ROM_SYSCTLATABLE[2]) 2473 #endif 2474 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2475 #define ROM_SysCtl_A_enableSRAM \ 2476 ((bool (*)(uint32_t addr))ROM_SYSCTLATABLE[3]) 2477 #endif 2478 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2479 #define ROM_SysCtl_A_disableSRAM \ 2480 ((bool (*)(uint32_t addr))ROM_SYSCTLATABLE[4]) 2481 #endif 2482 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2483 #define ROM_SysCtl_A_enableSRAMRetention \ 2484 ((bool (*)(uint32_t startAddr, \ 2485 uint32_t endAddr))ROM_SYSCTLATABLE[5]) 2486 #endif 2487 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2488 #define ROM_SysCtl_A_disableSRAMRetention \ 2489 ((bool (*)(uint32_t startAddr, \ 2490 uint32_t endAddr))ROM_SYSCTLATABLE[6]) 2491 #endif 2492 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2493 #define ROM_SysCtl_A_enablePeripheralAtCPUHalt \ 2494 ((void (*)(uint_fast16_t devices))ROM_SYSCTLATABLE[7]) 2495 #endif 2496 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2497 #define ROM_SysCtl_A_disablePeripheralAtCPUHalt \ 2498 ((void (*)(uint_fast16_t devices))ROM_SYSCTLATABLE[8]) 2499 #endif 2500 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2501 #define ROM_SysCtl_A_setWDTTimeoutResetType \ 2502 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLATABLE[9]) 2503 #endif 2504 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2505 #define ROM_SysCtl_A_setWDTPasswordViolationResetType \ 2506 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLATABLE[10]) 2507 #endif 2508 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2509 #define ROM_SysCtl_A_disableNMISource \ 2510 ((void (*)(uint_fast8_t flags))ROM_SYSCTLATABLE[11]) 2511 #endif 2512 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2513 #define ROM_SysCtl_A_enableNMISource \ 2514 ((void (*)(uint_fast8_t flags))ROM_SYSCTLATABLE[12]) 2515 #endif 2516 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2517 #define ROM_SysCtl_A_getTempCalibrationConstant \ 2518 ((uint_fast16_t (*)(uint32_t refVoltage, \ 2519 uint32_t temperature))ROM_SYSCTLATABLE[14]) 2520 #endif 2521 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2522 #define ROM_SysCtl_A_enableGlitchFilter \ 2523 ((void (*)(void))ROM_SYSCTLATABLE[15]) 2524 #endif 2525 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2526 #define ROM_SysCtl_A_disableGlitchFilter \ 2527 ((void (*)(void))ROM_SYSCTLATABLE[16]) 2528 #endif 2529 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2530 #define ROM_SysCtl_A_getTLVInfo \ 2531 ((void (*)(uint_fast8_t tag, \ 2532 uint_fast8_t instance, \ 2533 uint_fast8_t *length, \ 2534 uint32_t **data_address))ROM_SYSCTLATABLE[17]) 2535 #endif 2536 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2537 #define ROM_SysCtl_A_getInfoFlashSize \ 2538 ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[18]) 2539 #endif 2540 2541 //***************************************************************************** 2542 // 2543 // Macros for calling ROM functions in the Flash_A API. 2544 // 2545 //***************************************************************************** 2546 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2547 #define ROM_FlashCtl_A_enableReadBuffering \ 2548 ((void (*)(uint_fast8_t memoryBank, \ 2549 uint_fast8_t accessMethod))ROM_FLASHCTLATABLE[2]) 2550 #endif 2551 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2552 #define ROM_FlashCtl_A_disableReadBuffering \ 2553 ((void (*)(uint_fast8_t memoryBank, \ 2554 uint_fast8_t accessMethod))ROM_FLASHCTLATABLE[3]) 2555 #endif 2556 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2557 #define ROM_FlashCtl_A_unprotectMemory \ 2558 ((bool (*)(uint32_t startAddr, \ 2559 uint32_t endAddr))ROM_FLASHCTLATABLE[4]) 2560 #endif 2561 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2562 #define ROM_FlashCtl_A_protectMemory \ 2563 ((bool (*)(uint32_t startAddr, \ 2564 uint32_t endAddr))ROM_FLASHCTLATABLE[5]) 2565 #endif 2566 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2567 #define ROM_FlashCtl_A_isMemoryRangeProtected \ 2568 ((bool (*)(uint32_t startAddr, \ 2569 uint32_t endAddr))ROM_FLASHCTLATABLE[6]) 2570 #endif 2571 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2572 #define ROM_FlashCtl_A_verifyMemory \ 2573 ((bool (*)(void* verifyAddr, \ 2574 uint32_t length, \ 2575 uint_fast8_t pattern))ROM_FLASHCTLATABLE[7]) 2576 #endif 2577 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2578 #define ROM_FlashCtl_A_performMassErase \ 2579 ((bool (*)(void))ROM_FLASHCTLATABLE[8]) 2580 #endif 2581 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2582 #define ROM_FlashCtl_A_eraseSector \ 2583 ((bool (*)(uint32_t addr))ROM_FLASHCTLATABLE[9]) 2584 #endif 2585 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2586 #define ROM_FlashCtl_A_programMemory \ 2587 ((bool (*)(void* src, \ 2588 void* dest, \ 2589 uint32_t length))ROM_FLASHCTLATABLE[10]) 2590 #endif 2591 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2592 #define ROM_FlashCtl_A_setProgramVerification \ 2593 ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLATABLE[11]) 2594 #endif 2595 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2596 #define ROM_FlashCtl_A_clearProgramVerification \ 2597 ((void (*)( uint32_t verificationSetting))ROM_FLASHCTLATABLE[12]) 2598 #endif 2599 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2600 #define ROM_FlashCtl_A_enableWordProgramming \ 2601 ((void (*)(uint32_t mode))ROM_FLASHCTLATABLE[13]) 2602 #endif 2603 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2604 #define ROM_FlashCtl_A_disableWordProgramming \ 2605 ((void (*)(void))ROM_FLASHCTLATABLE[14]) 2606 #endif 2607 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2608 #define ROM_FlashCtl_A_isWordProgrammingEnabled \ 2609 ((uint32_t (*)(void))ROM_FLASHCTLATABLE[15]) 2610 #endif 2611 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2612 #define ROM_FlashCtl_A_enableInterrupt \ 2613 ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[16]) 2614 #endif 2615 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2616 #define ROM_FlashCtl_A_disableInterrupt \ 2617 ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[17]) 2618 #endif 2619 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2620 #define ROM_FlashCtl_A_getEnabledInterruptStatus \ 2621 ((uint32_t (*)(void))ROM_FLASHCTLATABLE[18]) 2622 #endif 2623 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2624 #define ROM_FlashCtl_A_getInterruptStatus \ 2625 ((uint32_t (*)(void))ROM_FLASHCTLATABLE[19]) 2626 #endif 2627 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2628 #define ROM_FlashCtl_A_clearInterruptFlag \ 2629 ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[20]) 2630 #endif 2631 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2632 #define ROM_FlashCtl_A_setWaitState \ 2633 ((void (*)(uint32_t bank, \ 2634 uint32_t waitState))ROM_FLASHCTLATABLE[21]) 2635 #endif 2636 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2637 #define ROM_FlashCtl_A_getWaitState \ 2638 ((uint32_t (*)(uint32_t bank))ROM_FLASHCTLATABLE[22]) 2639 #endif 2640 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2641 #define ROM_FlashCtl_A_setReadMode \ 2642 ((bool (*)(uint32_t flashBank, \ 2643 uint32_t readMode))ROM_FLASHCTLATABLE[23]) 2644 #endif 2645 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2646 #define ROM_FlashCtl_A_getReadMode \ 2647 ((uint32_t (*)(uint32_t flashBank))ROM_FLASHCTLATABLE[24]) 2648 #endif 2649 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2650 #define ROM___FlashCtl_A_remaskData8Post \ 2651 ((uint8_t (*)(uint8_t data, \ 2652 uint32_t addr))ROM_FLASHCTLATABLE[27]) 2653 #endif 2654 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2655 #define ROM___FlashCtl_A_remaskData8Pre \ 2656 ((uint8_t (*)(uint8_t data, \ 2657 uint32_t addr))ROM_FLASHCTLATABLE[28]) 2658 #endif 2659 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2660 #define ROM___FlashCtl_A_remaskData32Pre \ 2661 ((uint32_t (*)(uint32_t data, \ 2662 uint32_t addr))ROM_FLASHCTLATABLE[29]) 2663 #endif 2664 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2665 #define ROM___FlashCtl_A_remaskData32Post \ 2666 ((uint32_t (*)(uint32_t data, \ 2667 uint32_t addr))ROM_FLASHCTLATABLE[30]) 2668 #endif 2669 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2670 #define ROM___FlashCtl_A_remaskBurstDataPre \ 2671 ((void (*)(uint32_t addr, \ 2672 uint32_t size))ROM_FLASHCTLATABLE[31]) 2673 #endif 2674 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2675 #define ROM___FlashCtl_A_remaskBurstDataPost \ 2676 ((void (*)(uint32_t addr, \ 2677 uint32_t size))ROM_FLASHCTLATABLE[32]) 2678 #endif 2679 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2680 #define ROM_FlashCtl_A_initiateSectorErase \ 2681 ((void (*)(uint32_t addr))ROM_FLASHCTLATABLE[33]) 2682 #endif 2683 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2684 #define ROM_FlashCtl_A_initiateMassErase \ 2685 ((void (*)(void))ROM_FLASHCTLATABLE[34]) 2686 #endif 2687 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2688 #define ROM_FlashCtl_A_isMemoryProtected \ 2689 ((bool (*)(uint32_t addr))ROM_FLASHCTLATABLE[35]) 2690 #endif 2691 2692 //***************************************************************************** 2693 // 2694 // Macros for calling ROM functions in the LCD_F API. 2695 // 2696 //***************************************************************************** 2697 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2698 #define ROM_LCD_F_turnOff \ 2699 ((void (*)(void))ROM_LCDFTABLE[2]) 2700 #endif 2701 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2702 #define ROM_LCD_F_clearAllMemory \ 2703 ((void (*)(void))ROM_LCDFTABLE[3]) 2704 #endif 2705 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2706 #define ROM_LCD_F_clearAllBlinkingMemory \ 2707 ((void (*)(void))ROM_LCDFTABLE[4]) 2708 #endif 2709 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2710 #define ROM_LCD_F_selectDisplayMemory \ 2711 ((void (*)(uint_fast16_t displayMemory))ROM_LCDFTABLE[5]) 2712 #endif 2713 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2714 #define ROM_LCD_F_setBlinkingControl \ 2715 ((void (*)(uint_fast16_t clockPrescalar, \ 2716 uint_fast16_t divider, \ 2717 uint_fast16_t mode))ROM_LCDFTABLE[6]) 2718 #endif 2719 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2720 #define ROM_LCD_F_setAnimationControl \ 2721 ((void (*)(uint_fast16_t clockPrescalar, \ 2722 uint_fast16_t divider, \ 2723 uint_fast16_t frames))ROM_LCDFTABLE[7]) 2724 #endif 2725 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2726 #define ROM_LCD_F_clearAllAnimationMemory \ 2727 ((void (*)(void))ROM_LCDFTABLE[8]) 2728 #endif 2729 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2730 #define ROM_LCD_F_setPinAsLCDFunction \ 2731 ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[9]) 2732 #endif 2733 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2734 #define ROM_LCD_F_setPinAsPortFunction \ 2735 ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[10]) 2736 #endif 2737 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2738 #define ROM_LCD_F_setPinAsSEG \ 2739 ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[13]) 2740 #endif 2741 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2742 #define ROM_LCD_F_selectBias \ 2743 ((void (*)(uint_fast16_t bias))ROM_LCDFTABLE[14]) 2744 #endif 2745 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2746 #define ROM_LCD_F_setVLCDSource \ 2747 ((void (*)(uint_fast16_t v2v3v4Source, \ 2748 uint_fast16_t v5Source))ROM_LCDFTABLE[15]) 2749 #endif 2750 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2751 #define ROM_LCD_F_clearInterrupt \ 2752 ((void (*)(uint32_t mask))ROM_LCDFTABLE[16]) 2753 #endif 2754 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2755 #define ROM_LCD_F_getInterruptStatus \ 2756 ((uint32_t (*)(void))ROM_LCDFTABLE[17]) 2757 #endif 2758 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2759 #define ROM_LCD_F_getEnabledInterruptStatus \ 2760 ((uint32_t (*)(void))ROM_LCDFTABLE[18]) 2761 #endif 2762 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2763 #define ROM_LCD_F_enableInterrupt \ 2764 ((void (*)(uint32_t mask))ROM_LCDFTABLE[19]) 2765 #endif 2766 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2767 #define ROM_LCD_F_disableInterrupt \ 2768 ((void (*)(uint32_t mask))ROM_LCDFTABLE[20]) 2769 #endif 2770 2771 #endif // __ROM_H__ 2772