1 { 2 Copyright (c) 1998-2002 by the Free Pascal development team 3 4 Basic Processor information for the ARM 5 6 See the file COPYING.FPC, included in this distribution, 7 for details about the copyright. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 13 **********************************************************************} 14 15 Unit CPUInfo; 16 17 {$i fpcdefs.inc} 18 19 Interface 20 21 uses 22 globtype; 23 24 Type 25 bestreal = double; 26 {$if FPC_FULLVERSION>20700} 27 bestrealrec = TDoubleRec; 28 {$endif FPC_FULLVERSION>20700} 29 ts32real = single; 30 ts64real = double; 31 ts80real = type extended; 32 ts128real = type extended; 33 ts64comp = comp; 34 35 pbestreal=^bestreal; 36 37 { possible supported processors for this target } 38 tcputype = 39 (cpu_none, 40 cpu_armv3, 41 cpu_armv4, 42 cpu_armv4t, 43 cpu_armv5, 44 cpu_armv5t, 45 cpu_armv5te, 46 cpu_armv5tej, 47 cpu_armv6, 48 cpu_armv6k, 49 cpu_armv6t2, 50 cpu_armv6z, 51 cpu_armv6m, 52 cpu_armv7, 53 cpu_armv7a, 54 cpu_armv7r, 55 cpu_armv7m, 56 cpu_armv7em 57 ); 58 59 tinstructionset = (is_thumb,is_arm); 60 61 Type 62 tfputype = 63 (fpu_none, 64 fpu_soft, 65 fpu_libgcc, 66 fpu_fpa, 67 fpu_fpa10, 68 fpu_fpa11, 69 fpu_vfpv2, 70 fpu_vfpv3, 71 fpu_vfpv3_d16, 72 fpu_fpv4_s16, 73 fpu_vfpv4 74 ); 75 76 Const 77 fputypestrllvm : array[tfputype] of string[13] = ('', 78 '', 79 '', 80 '', 81 '', 82 '', 83 'fpu=vfpv2', 84 'fpu=vfpv3', 85 'fpu=vfpv3-d16', 86 'fpu=vfpv4-s16', 87 'fpu=vfpv4' 88 ); 89 90 Type 91 92 93 tcontrollertype = 94 (ct_none, 95 96 { Phillips } 97 ct_lpc810m021fn8, 98 ct_lpc811m001fdh16, 99 ct_lpc812m101fdh16, 100 ct_lpc812m101fd20, 101 ct_lpc812m101fdh20, 102 ct_lpc1110fd20, 103 ct_lpc1111fdh20_002, 104 ct_lpc1111fhn33_101, 105 ct_lpc1111fhn33_102, 106 ct_lpc1111fhn33_103, 107 ct_lpc1111fhn33_201, 108 ct_lpc1111fhn33_202, 109 ct_lpc1111fhn33_203, 110 ct_lpc1112fd20_102, 111 ct_lpc1112fdh20_102, 112 ct_lpc1112fdh28_102, 113 ct_lpc1112fhn33_101, 114 ct_lpc1112fhn33_102, 115 ct_lpc1112fhn33_103, 116 ct_lpc1112fhn33_201, 117 ct_lpc1112fhn24_202, 118 ct_lpc1112fhn33_202, 119 ct_lpc1112fhn33_203, 120 ct_lpc1112fhi33_202, 121 ct_lpc1112fhi33_203, 122 ct_lpc1113fhn33_201, 123 ct_lpc1113fhn33_202, 124 ct_lpc1113fhn33_203, 125 ct_lpc1113fhn33_301, 126 ct_lpc1113fhn33_302, 127 ct_lpc1113fhn33_303, 128 ct_lpc1113bfd48_301, 129 ct_lpc1113bfd48_302, 130 ct_lpc1113bfd48_303, 131 ct_lpc1114fdh28_102, 132 ct_lpc1114fn28_102, 133 ct_lpc1114fhn33_201, 134 ct_lpc1114fhn33_202, 135 ct_lpc1114fhn33_203, 136 ct_lpc1114fhn33_301, 137 ct_lpc1114fhn33_302, 138 ct_lpc1114fhn33_303, 139 ct_lpc1114fhn33_333, 140 ct_lpc1114fhi33_302, 141 ct_lpc1114fhi33_303, 142 ct_lpc1114bfd48_301, 143 ct_lpc1114bfd48_302, 144 ct_lpc1114bfd48_303, 145 ct_lpc1114bfd48_323, 146 ct_lpc1114bfd48_333, 147 ct_lpc1115bfd48_303, 148 ct_lpc11c12fd48_301, 149 ct_lpc11c14fd48_301, 150 ct_lpc11c22fd48_301, 151 ct_lpc11c24fd48_301, 152 ct_lpc11d24fd48_301, 153 ct_lpc1224fbd48_101, 154 ct_lpc1224fbd48_121, 155 ct_lpc1224fbd64_101, 156 ct_lpc1224fbd64_121, 157 ct_lpc1225fbd48_301, 158 ct_lpc1225fbd48_321, 159 ct_lpc1225fbd64_301, 160 ct_lpc1225fbd64_321, 161 ct_lpc1226fbd48_301, 162 ct_lpc1226fbd64_301, 163 ct_lpc1227fbd48_301, 164 ct_lpc1227fbd64_301, 165 ct_lpc12d27fbd100_301, 166 ct_lpc1311fhn33, 167 ct_lpc1311fhn33_01, 168 ct_lpc1313fhn33, 169 ct_lpc1313fhn33_01, 170 ct_lpc1313fbd48, 171 ct_lpc1313fbd48_01, 172 ct_lpc1315fhn33, 173 ct_lpc1315fbd48, 174 ct_lpc1316fhn33, 175 ct_lpc1316fbd48, 176 ct_lpc1317fhn33, 177 ct_lpc1317fbd48, 178 ct_lpc1317fbd64, 179 ct_lpc1342fhn33, 180 ct_lpc1342fbd48, 181 ct_lpc1343fhn33, 182 ct_lpc1343fbd48, 183 ct_lpc1345fhn33, 184 ct_lpc1345fbd48, 185 ct_lpc1346fhn33, 186 ct_lpc1346fbd48, 187 ct_lpc1347fhn33, 188 ct_lpc1347fbd48, 189 ct_lpc1347fbd64, 190 191 ct_lpc2114, 192 ct_lpc2124, 193 ct_lpc2194, 194 ct_lpc1754, 195 ct_lpc1756, 196 ct_lpc1758, 197 ct_lpc1764, 198 ct_lpc1766, 199 ct_lpc1768, 200 201 { ATMEL } 202 ct_at91sam7s256, 203 ct_at91sam7se256, 204 ct_at91sam7x256, 205 ct_at91sam7xc256, 206 207 { STMicroelectronics } 208 ct_stm32f030c6, 209 ct_stm32f030c8, 210 ct_stm32f030f4, 211 ct_stm32f030k6, 212 ct_stm32f030r8, 213 ct_stm32f050c4, 214 ct_stm32f050c6, 215 ct_stm32f050f4, 216 ct_stm32f050f6, 217 ct_stm32f050g4, 218 ct_stm32f050g6, 219 ct_stm32f050k4, 220 ct_stm32f050k6, 221 ct_stm32f051c4, 222 ct_stm32f051c6, 223 ct_stm32f051c8, 224 ct_stm32f051k4, 225 ct_stm32f051k6, 226 ct_stm32f051k8, 227 ct_stm32f051r4, 228 ct_stm32f051r6, 229 ct_stm32f051r8, 230 ct_stm32f091cc, 231 ct_stm32f091cb, 232 ct_stm32f091rc, 233 ct_stm32f091rb, 234 ct_stm32f091vc, 235 ct_stm32f091vb, 236 ct_stm32f100x4, // LD&MD value line, 4=16,6=32,8=64,b=128 237 ct_stm32f100x6, 238 ct_stm32f100x8, 239 ct_stm32f100xB, 240 ct_stm32f100xC, // HD value line, r=512,d=384,c=256 241 ct_stm32f100xD, 242 ct_stm32f100xE, 243 ct_stm32f101x4, // LD Access line, 4=16,6=32 244 ct_stm32f101x6, 245 ct_stm32f101x8, // MD Access line, 8=64,B=128 246 ct_stm32f101xB, 247 ct_stm32f101xC, // HD Access line, C=256,D=384,E=512 248 ct_stm32f101xD, 249 ct_stm32f101xE, 250 ct_stm32f101xF, // XL Access line, F=768,G=1M 251 ct_stm32f101xG, 252 ct_stm32f102x4, // LD usb access line, 4=16,6=32 253 ct_stm32f102x6, 254 ct_stm32f102x8, // MD usb access line, 8=64,B=128 255 ct_stm32f102xB, 256 ct_stm32f103x4, // LD performance line, 4=16,6=32 257 ct_stm32f103x6, 258 ct_stm32f103x8, // MD performance line, 8=64,B=128 259 ct_stm32f103xB, 260 ct_stm32f103xC, // HD performance line, C=256,D=384,E=512 261 ct_stm32f103xD, 262 ct_stm32f103xE, 263 ct_stm32f103xF, // XL performance line, F=768,G=1M 264 ct_stm32f103xG, 265 ct_stm32f107x8, // MD and HD connectivity line, 8=64,B=128,C=256 266 ct_stm32f107xB, 267 ct_stm32f107xC, 268 ct_stm32f105r8, 269 ct_stm32f105rb, 270 ct_stm32f105rc, 271 ct_stm32f105v8, 272 ct_stm32f105vb, 273 ct_stm32f105vc, 274 ct_stm32f107rb, 275 ct_stm32f107rc, 276 ct_stm32f107vb, 277 ct_stm32f107vc, 278 279 ct_stm32f401cb, 280 ct_stm32f401rb, 281 ct_stm32f401vb, 282 ct_stm32f401cc, 283 ct_stm32f401rc, 284 ct_stm32f401vc, 285 ct_discoveryf401vc, 286 ct_stm32f401cd, 287 ct_stm32f401rd, 288 ct_stm32f401vd, 289 ct_stm32f401ce, 290 ct_stm32f401re, 291 ct_nucleof401re, 292 ct_stm32f401ve, 293 ct_stm32f407vg, 294 ct_discoveryf407vg, 295 ct_stm32f407ig, 296 ct_stm32f407zg, 297 ct_stm32f407ve, 298 ct_stm32f407ze, 299 ct_stm32f407ie, 300 ct_stm32f411cc, 301 ct_stm32f411rc, 302 ct_stm32f411vc, 303 ct_stm32f411ce, 304 ct_stm32f411re, 305 ct_nucleof411re, 306 ct_stm32f411ve, 307 ct_discoveryf411ve, 308 ct_stm32f429vg, 309 ct_stm32f429zg, 310 ct_stm32f429ig, 311 ct_stm32f429vi, 312 ct_stm32f429zi, 313 ct_discoveryf429zi, 314 ct_stm32f429ii, 315 ct_stm32f429ve, 316 ct_stm32f429ze, 317 ct_stm32f429ie, 318 ct_stm32f429bg, 319 ct_stm32f429bi, 320 ct_stm32f429be, 321 ct_stm32f429ng, 322 ct_stm32f429ni, 323 ct_stm32f429ne, 324 ct_stm32f446mc, 325 ct_stm32f446rc, 326 ct_stm32f446vc, 327 ct_stm32f446zc, 328 ct_stm32f446me, 329 ct_stm32f446re, 330 ct_nucleof446re, 331 ct_stm32f446ve, 332 ct_stm32f446ze, 333 334 ct_stm32f745xe, 335 ct_stm32f745xg, 336 ct_stm32f746xe, 337 ct_stm32f746xg, 338 ct_stm32f756xe, 339 ct_stm32f756xg, 340 341 { TI - Fury Class - 64 K Flash, 16 K SRAM Devices } 342 ct_lm3s1110, 343 ct_lm3s1133, 344 ct_lm3s1138, 345 ct_lm3s1150, 346 ct_lm3s1162, 347 ct_lm3s1165, 348 ct_lm3s1166, 349 ct_lm3s2110, 350 ct_lm3s2139, 351 ct_lm3s6100, 352 ct_lm3s6110, 353 354 { TI - Fury Class - 128K Flash, 32K SRAM devices } 355 ct_lm3s1601, 356 ct_lm3s1608, 357 ct_lm3s1620, 358 ct_lm3s1635, 359 ct_lm3s1636, 360 ct_lm3s1637, 361 ct_lm3s1651, 362 ct_lm3s2601, 363 ct_lm3s2608, 364 ct_lm3s2620, 365 ct_lm3s2637, 366 ct_lm3s2651, 367 ct_lm3s6610, 368 ct_lm3s6611, 369 ct_lm3s6618, 370 ct_lm3s6633, 371 ct_lm3s6637, 372 ct_lm3s8630, 373 374 { TI - Fury Class - 256K Flash, 64K SRAM devices } 375 ct_lm3s1911, 376 ct_lm3s1918, 377 ct_lm3s1937, 378 ct_lm3s1958, 379 ct_lm3s1960, 380 ct_lm3s1968, 381 ct_lm3s1969, 382 ct_lm3s2911, 383 ct_lm3s2918, 384 ct_lm3s2919, 385 ct_lm3s2939, 386 ct_lm3s2948, 387 ct_lm3s2950, 388 ct_lm3s2965, 389 ct_lm3s6911, 390 ct_lm3s6918, 391 ct_lm3s6938, 392 ct_lm3s6950, 393 ct_lm3s6952, 394 ct_lm3s6965, 395 ct_lm3s8930, 396 ct_lm3s8933, 397 ct_lm3s8938, 398 ct_lm3s8962, 399 ct_lm3s8970, 400 ct_lm3s8971, 401 402 { TI - Tempest Tempest - 256 K Flash, 64 K SRAM } 403 ct_lm3s5951, 404 ct_lm3s5956, 405 ct_lm3s1b21, 406 ct_lm3s2b93, 407 ct_lm3s5b91, 408 ct_lm3s9b81, 409 ct_lm3s9b90, 410 ct_lm3s9b92, 411 ct_lm3s9b95, 412 ct_lm3s9b96, 413 414 ct_lm3s5d51, 415 416 { TI Stellaris } 417 ct_lm4f120h5, 418 419 { SAMSUNG } 420 ct_sc32442b, 421 422 { Infineon } 423 ct_xmc4500x1024, 424 ct_xmc4500x768, 425 ct_xmc4502x768, 426 ct_xmc4504x512, 427 428 { Allwinner } 429 ct_allwinner_a20, 430 431 { Freescale } 432 ct_mk20dx128vfm5, 433 ct_mk20dx128vft5, 434 ct_mk20dx128vlf5, 435 ct_mk20dx128vlh5, 436 ct_teensy30, 437 ct_mk20dx128vmp5, 438 439 ct_mk20dx32vfm5, 440 ct_mk20dx32vft5, 441 ct_mk20dx32vlf5, 442 ct_mk20dx32vlh5, 443 ct_mk20dx32vmp5, 444 445 ct_mk20dx64vfm5, 446 ct_mk20dx64vft5, 447 ct_mk20dx64vlf5, 448 ct_mk20dx64vlh5, 449 ct_mk20dx64vmp5, 450 451 ct_mk20dx128vlh7, 452 ct_mk20dx128vlk7, 453 ct_mk20dx128vll7, 454 ct_mk20dx128vmc7, 455 456 ct_mk20dx256vlh7, 457 ct_mk20dx256vlk7, 458 ct_mk20dx256vll7, 459 ct_mk20dx256vmc7, 460 ct_teensy31, 461 ct_teensy32, 462 463 ct_mk20dx64vlh7, 464 ct_mk20dx64vlk7, 465 ct_mk20dx64vmc7, 466 467 ct_mk22fn512cap12, 468 ct_mk22fn512cbp12, 469 ct_mk22fn512vdc12, 470 ct_mk22fn512vlh12, 471 ct_mk22fn512vll12, 472 ct_mk22fn512vmp12, 473 ct_freedom_k22f, 474 475 ct_mk64fn1m0vdc12, 476 ct_mk64fn1m0vll12, 477 ct_freedom_k64f, 478 ct_mk64fn1m0vlq12, 479 ct_mk64fn1m0vmd12, 480 481 ct_mk64fx512vdc12, 482 ct_mk64fx512vll12, 483 ct_mk64fx512vlq12, 484 ct_mk64fx512vmd12, 485 486 { Atmel } 487 ct_sam3x8e, 488 ct_arduino_due, 489 ct_flip_n_click, 490 491 { Nordic Semiconductor } 492 ct_nrf51422_xxaa, 493 ct_nrf51422_xxab, 494 ct_nrf51422_xxac, 495 ct_nrf51822_xxaa, 496 ct_nrf51822_xxab, 497 ct_nrf51822_xxac, 498 ct_nrf52832_xxaa, 499 ct_nrf52840_xxaa, 500 501 // generic Thumb2 target 502 ct_thumb2bare 503 ); 504 505 tcontrollerdatatype = record 506 controllertypestr, controllerunitstr: string[20]; 507 cputype: tcputype; fputype: tfputype; 508 flashbase, flashsize, srambase, sramsize, eeprombase, eepromsize, bootbase, bootsize: dword; 509 end; 510 511 Const 512 { Is there support for dealing with multiple microcontrollers available } 513 { for this platform? } 514 ControllerSupport = true; 515 {# Size of native extended floating point type } 516 extended_size = 12; 517 { target cpu string (used by compiler options) } 518 target_cpu_string = 'arm'; 519 520 { calling conventions supported by the code generator } 521 supported_calling_conventions : tproccalloptions = [ 522 pocall_internproc, 523 pocall_safecall, 524 pocall_stdcall, 525 { same as stdcall only different name mangling } 526 pocall_cdecl, 527 { same as stdcall only different name mangling } 528 pocall_cppdecl, 529 { same as stdcall but floating point numbers are handled like equal sized integers } 530 pocall_softfloat, 531 { same as stdcall (requires that all const records are passed by 532 reference, but that's already done for stdcall) } 533 pocall_mwpascal, 534 { used for interrupt handling } 535 pocall_interrupt, 536 { needed sometimes on android } 537 pocall_hardfloat 538 ]; 539 540 cputypestr : array[tcputype] of string[8] = ('', 541 'ARMV3', 542 'ARMV4', 543 'ARMV4T', 544 'ARMV5', 545 'ARMV5T', 546 'ARMV5TE', 547 'ARMV5TEJ', 548 'ARMV6', 549 'ARMV6K', 550 'ARMV6T2', 551 'ARMV6Z', 552 'ARMV6M', 553 'ARMV7', 554 'ARMV7A', 555 'ARMV7R', 556 'ARMV7M', 557 'ARMV7EM' 558 ); 559 560 fputypestr : array[tfputype] of string[9] = ('', 561 'SOFT', 562 'LIBGCC', 563 'FPA', 564 'FPA10', 565 'FPA11', 566 'VFPV2', 567 'VFPV3', 568 'VFPV3_D16', 569 'FPV4_S16', 570 'VFPV4' 571 ); 572 573 574 { We know that there are fields after sramsize 575 but we don't care about this warning } 576 {$WARN 3177 OFF} 577 578 embedded_controllers : array [tcontrollertype] of tcontrollerdatatype = 579 ( 580 (controllertypestr:''; controllerunitstr:''; cputype:cpu_none; fputype:fpu_none; flashbase:0; flashsize:0; srambase:0; sramsize:0), 581 582 { LPC 8xx Series} 583 (controllertypestr:'LPC810M021FN8'; controllerunitstr:'LPC8xx'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00001000; srambase:$10000000; sramsize:$00000400), 584 (controllertypestr:'LPC811M001FDH16'; controllerunitstr:'LPC8xx'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00000800), 585 (controllertypestr:'LPC812M101FDH16'; controllerunitstr:'LPC8xx'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 586 (controllertypestr:'LPC812M101FD20'; controllerunitstr:'LPC8xx'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 587 (controllertypestr:'LPC812M101FDH20'; controllerunitstr:'LPC8xx'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 588 589 { LPC 11xx Series} 590 (controllertypestr:'LPC1110FD20'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00001000; srambase:$10000000; sramsize:$00000400), 591 (controllertypestr:'LPC1111FDH20_002'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00000800), 592 (controllertypestr:'LPC1111FHN33_101'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00000800), 593 (controllertypestr:'LPC1111FHN33_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00000800), 594 (controllertypestr:'LPC1111FHN33_103'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00000800), 595 (controllertypestr:'LPC1111FHN33_201'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00001000), 596 (controllertypestr:'LPC1111FHN33_202'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00001000), 597 (controllertypestr:'LPC1111FHN33_203'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00001000), 598 599 (controllertypestr:'LPC1112FD20_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 600 (controllertypestr:'LPC1112FDH20_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 601 (controllertypestr:'LPC1112FDH28_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 602 (controllertypestr:'LPC1112FHN33_101'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00000800), 603 (controllertypestr:'LPC1112FHN33_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00000800), 604 (controllertypestr:'LPC1112FHN33_103'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00000800), 605 (controllertypestr:'LPC1112FHN33_201'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 606 (controllertypestr:'LPC1112FHN24_202'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 607 (controllertypestr:'LPC1112FHN33_202'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 608 (controllertypestr:'LPC1112FHN33_203'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 609 (controllertypestr:'LPC1112FHI33_202'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 610 (controllertypestr:'LPC1112FHI33_203'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 611 612 (controllertypestr:'LPC1113FHN33_201'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00001000), 613 (controllertypestr:'LPC1113FHN33_202'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00001000), 614 (controllertypestr:'LPC1113FHN33_203'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00001000), 615 (controllertypestr:'LPC1113FHN33_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00002000), 616 (controllertypestr:'LPC1113FHN33_302'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00002000), 617 (controllertypestr:'LPC1113FHN33_303'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00002000), 618 (controllertypestr:'LPC1113FBD48_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00002000), 619 (controllertypestr:'LPC1113FBD48_302'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00002000), 620 (controllertypestr:'LPC1113FBD48_303'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00006000; srambase:$10000000; sramsize:$00002000), 621 622 (controllertypestr:'LPC1114FDH28_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 623 (controllertypestr:'LPC1114FN28_102'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 624 (controllertypestr:'LPC1114FHN33_201'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 625 (controllertypestr:'LPC1114FHN33_202'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 626 (controllertypestr:'LPC1114FHN33_203'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 627 (controllertypestr:'LPC1114FHN33_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 628 (controllertypestr:'LPC1114FHN33_302'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 629 (controllertypestr:'LPC1114FHN33_303'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 630 (controllertypestr:'LPC1114FHN33_333'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000E000; srambase:$10000000; sramsize:$00002000), 631 (controllertypestr:'LPC1114FHI33_302'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 632 (controllertypestr:'LPC1114FHI33_303'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 633 (controllertypestr:'LPC1114FBD48_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 634 (controllertypestr:'LPC1114FBD48_302'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 635 (controllertypestr:'LPC1114FBD48_303'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 636 (controllertypestr:'LPC1114FBD48_323'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00002000), 637 (controllertypestr:'LPC1114FBD48_333'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000E000; srambase:$10000000; sramsize:$00002000), 638 639 (controllertypestr:'LPC1115FBD48_303'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 640 641 (controllertypestr:'LPC11C12FBD48_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00002000), 642 (controllertypestr:'LPC11C14FBD48_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 643 644 (controllertypestr:'LPC11C22FBD48_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00002000), 645 (controllertypestr:'LPC11C24FBD48_301'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 646 647 (controllertypestr:'LPC11D14FBD100_302'; controllerunitstr:'LPC11XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 648 649 {LPC 122x Series} 650 (controllertypestr:'LPC1224FBD48_101'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 651 (controllertypestr:'LPC1224FBD48_121'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00001000), 652 (controllertypestr:'LPC1224FBD64_101'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00001000), 653 (controllertypestr:'LPC1224FBD64_121'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00001000), 654 655 (controllertypestr:'LPC1225FBD48_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 656 (controllertypestr:'LPC1225FBD48_321'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00014000; srambase:$10000000; sramsize:$00002000), 657 (controllertypestr:'LPC1225FBD64_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 658 (controllertypestr:'LPC1225FBD64_321'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00014000; srambase:$10000000; sramsize:$00002000), 659 660 (controllertypestr:'LPC1226FBD48_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00018000; srambase:$10000000; sramsize:$00002000), 661 (controllertypestr:'LPC1226FBD64_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00018000; srambase:$10000000; sramsize:$00002000), 662 663 (controllertypestr:'LPC1227FBD48_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$10000000; sramsize:$00002000), 664 (controllertypestr:'LPC1227FBD64_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$10000000; sramsize:$00002000), 665 666 (controllertypestr:'LPC12D27FBD100_301'; controllerunitstr:'LPC122X'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$10000000; sramsize:$00002000), 667 668 669 (controllertypestr:'LPC1311FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00001000), 670 (controllertypestr:'LPC1311FHN33_01'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$10000000; sramsize:$00001000), 671 672 (controllertypestr:'LPC1313FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 673 (controllertypestr:'LPC1313FHN33_01'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 674 (controllertypestr:'LPC1313FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 675 (controllertypestr:'LPC1313FBD48_01'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 676 677 (controllertypestr:'LPC1315FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 678 (controllertypestr:'LPC1315FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 679 680 (controllertypestr:'LPC1316FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00002000), 681 (controllertypestr:'LPC1316FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00002000), 682 683 (controllertypestr:'LPC1317FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 684 (controllertypestr:'LPC1317FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 685 (controllertypestr:'LPC1317FBD64'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 686 687 (controllertypestr:'LPC1342FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 688 (controllertypestr:'LPC1342FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00004000; srambase:$10000000; sramsize:$00001000), 689 690 (controllertypestr:'LPC1343FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 691 (controllertypestr:'LPC1343FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 692 693 (controllertypestr:'LPC1345FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 694 (controllertypestr:'LPC1345FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$10000000; sramsize:$00002000), 695 696 (controllertypestr:'LPC1346FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00002000), 697 (controllertypestr:'LPC1346FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$0000C000; srambase:$10000000; sramsize:$00002000), 698 699 (controllertypestr:'LPC1347FHN33'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 700 (controllertypestr:'LPC1347FBD48'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 701 (controllertypestr:'LPC1347FBD64'; controllerunitstr:'LPC13XX'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$10000000; sramsize:$00002000), 702 703 (controllertypestr:'LPC2114'; controllerunitstr:'LPC21x4'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$40000000; sramsize:$00004000), 704 (controllertypestr:'LPC2124'; controllerunitstr:'LPC21x4'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$40000000; sramsize:$00004000), 705 (controllertypestr:'LPC2194'; controllerunitstr:'LPC21x4'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$40000000; sramsize:$00004000), 706 707 (controllertypestr:'LPC1754'; controllerunitstr:'LPC1754'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$10000000; sramsize:$00004000), 708 (controllertypestr:'LPC1756'; controllerunitstr:'LPC1756'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$10000000; sramsize:$00004000), 709 (controllertypestr:'LPC1758'; controllerunitstr:'LPC1758'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$10000000; sramsize:$00008000), 710 (controllertypestr:'LPC1764'; controllerunitstr:'LPC1764'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$10000000; sramsize:$00004000), 711 (controllertypestr:'LPC1766'; controllerunitstr:'LPC1766'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$10000000; sramsize:$00008000), 712 (controllertypestr:'LPC1768'; controllerunitstr:'LPC1768'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$10000000; sramsize:$00008000), 713 714 { AT91 } 715 (controllertypestr:'AT91SAM7S256'; controllerunitstr:'AT91SAM7x256'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$00200000; sramsize:$00010000), 716 (controllertypestr:'AT91SAM7SE256'; controllerunitstr:'AT91SAM7x256'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$00200000; sramsize:$00010000), 717 (controllertypestr:'AT91SAM7X256'; controllerunitstr:'AT91SAM7x256'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$00200000; sramsize:$00010000), 718 (controllertypestr:'AT91SAM7XC256'; controllerunitstr:'AT91SAM7x256'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$00200000; sramsize:$00010000), 719 720 { STM32F0 series } 721 (controllertypestr:'STM32F030C6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 722 (controllertypestr:'STM32F030C8'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 723 (controllertypestr:'STM32F030F4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 724 (controllertypestr:'STM32F030K6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 725 (controllertypestr:'STM32F030R8'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 726 (controllertypestr:'STM32F050C4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 727 (controllertypestr:'STM32F050C6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 728 (controllertypestr:'STM32F050F4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 729 (controllertypestr:'STM32F050F6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 730 (controllertypestr:'STM32F050G4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 731 (controllertypestr:'STM32F050G6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 732 (controllertypestr:'STM32F050K4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 733 (controllertypestr:'STM32F050K6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 734 (controllertypestr:'STM32F051C4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 735 (controllertypestr:'STM32F051C6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 736 (controllertypestr:'STM32F051C8'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 737 (controllertypestr:'STM32F051K4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 738 (controllertypestr:'STM32F051K6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 739 (controllertypestr:'STM32F051K8'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 740 (controllertypestr:'STM32F051R4'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 741 (controllertypestr:'STM32F051R6'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 742 (controllertypestr:'STM32F051R8'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 743 (controllertypestr:'STM32F091CC'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 744 (controllertypestr:'STM32F091CB'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 745 (controllertypestr:'STM32F091RC'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 746 (controllertypestr:'STM32F091RB'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 747 (controllertypestr:'STM32F091VC'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 748 (controllertypestr:'STM32F091VB'; controllerunitstr:'STM32F0XX'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 749 750 { STM32F1 series } 751 (controllertypestr:'STM32F100X4'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 752 (controllertypestr:'STM32F100X6'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 753 (controllertypestr:'STM32F100X8'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 754 (controllertypestr:'STM32F100XB'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 755 (controllertypestr:'STM32F100XC'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00006000), 756 (controllertypestr:'STM32F100XD'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00008000), 757 (controllertypestr:'STM32F100XE'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00008000), 758 (controllertypestr:'STM32F101X4'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 759 (controllertypestr:'STM32F101X6'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001800), 760 (controllertypestr:'STM32F101X8'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002800), 761 (controllertypestr:'STM32F101XB'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 762 (controllertypestr:'STM32F101XC'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 763 (controllertypestr:'STM32F101XD'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$0000C000), 764 (controllertypestr:'STM32F101XE'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$0000C000), 765 (controllertypestr:'STM32F101XF'; controllerunitstr:'STM32F10X_XL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$000C0000; srambase:$20000000; sramsize:$00014000), 766 (controllertypestr:'STM32F101XG'; controllerunitstr:'STM32F10X_XL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00014000), 767 (controllertypestr:'STM32F102X4'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 768 (controllertypestr:'STM32F102X6'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001800), 769 (controllertypestr:'STM32F102X8'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002800), 770 (controllertypestr:'STM32F102XB'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 771 (controllertypestr:'STM32F103X4'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00004000; srambase:$20000000; sramsize:$00001000), 772 (controllertypestr:'STM32F103X6'; controllerunitstr:'STM32F10X_LD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00008000; srambase:$20000000; sramsize:$00002800), 773 (controllertypestr:'STM32F103X8'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00005000), 774 (controllertypestr:'STM32F103XB'; controllerunitstr:'STM32F10X_MD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00005000), 775 (controllertypestr:'STM32F103XC'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$0000C000), 776 (controllertypestr:'STM32F103XD'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00010000), 777 (controllertypestr:'STM32F103XE'; controllerunitstr:'STM32F10X_HD'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 778 (controllertypestr:'STM32F103XF'; controllerunitstr:'STM32F10X_XL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$000C0000; srambase:$20000000; sramsize:$00018000), 779 (controllertypestr:'STM32F103XG'; controllerunitstr:'STM32F10X_XL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00018000), 780 (controllertypestr:'STM32F107X8'; controllerunitstr:'STM32F10X_CONN'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00010000), 781 (controllertypestr:'STM32F107XB'; controllerunitstr:'STM32F10X_CONN'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 782 (controllertypestr:'STM32F107XC'; controllerunitstr:'STM32F10X_CONN'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 783 784 (controllertypestr:'STM32F105R8'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00010000), 785 (controllertypestr:'STM32F105RB'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 786 (controllertypestr:'STM32F105RC'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 787 (controllertypestr:'STM32F105V8'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00010000; srambase:$20000000; sramsize:$00010000), 788 (controllertypestr:'STM32F105VB'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 789 (controllertypestr:'STM32F105VC'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 790 (controllertypestr:'STM32F107RB'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 791 (controllertypestr:'STM32F107RC'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 792 (controllertypestr:'STM32F107VB'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 793 (controllertypestr:'STM32F107VC'; controllerunitstr:'STM32F10X_CL'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 794 795 (controllertypestr:'STM32F401CB'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 796 (controllertypestr:'STM32F401RB'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 797 (controllertypestr:'STM32F401VB'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00010000), 798 (controllertypestr:'STM32F401CC'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 799 (controllertypestr:'STM32F401RC'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 800 (controllertypestr:'STM32F401VC'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 801 (controllertypestr:'DISCOVERYF401VC'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 802 (controllertypestr:'STM32F401CD'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00018000), 803 (controllertypestr:'STM32F401RD'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00018000), 804 (controllertypestr:'STM32F401VD'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00018000), 805 (controllertypestr:'STM32F401CE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000), 806 (controllertypestr:'STM32F401RE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000), 807 (controllertypestr:'NUCLEOF401RE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000), 808 (controllertypestr:'STM32F401VE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000), 809 (controllertypestr:'STM32F407VG'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00020000), 810 (controllertypestr:'DISCOVERYF407VG'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00020000), 811 (controllertypestr:'STM32F407IG'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00020000), 812 (controllertypestr:'STM32F407ZG'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00020000), 813 (controllertypestr:'STM32F407VE'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 814 (controllertypestr:'STM32F407ZE'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 815 (controllertypestr:'STM32F407IE'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 816 (controllertypestr:'STM32F411CC'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 817 (controllertypestr:'STM32F411RC'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 818 (controllertypestr:'STM32F411VC'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 819 (controllertypestr:'STM32F411CE'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 820 (controllertypestr:'STM32F411RE'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 821 (controllertypestr:'NUCLEOF411RE'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 822 (controllertypestr:'STM32F411VE'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 823 (controllertypestr:'DISCOVERYF411VE'; controllerunitstr:'STM32F411XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 824 (controllertypestr:'STM32F429VG'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 825 (controllertypestr:'STM32F429ZG'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 826 (controllertypestr:'STM32F429IG'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 827 (controllertypestr:'STM32F429VI'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00200000; srambase:$20000000; sramsize:$00030000), 828 (controllertypestr:'STM32F429ZI'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00200000; srambase:$20000000; sramsize:$00030000), 829 (controllertypestr:'DISCOVERYF429ZI'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00200000; srambase:$20000000; sramsize:$00030000), 830 (controllertypestr:'STM32F429II'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00200000; srambase:$20000000; sramsize:$00030000), 831 (controllertypestr:'STM32F429VE'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00030000), 832 (controllertypestr:'STM32F429ZE'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00030000), 833 (controllertypestr:'STM32F429IE'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00030000), 834 (controllertypestr:'STM32F429BG'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 835 (controllertypestr:'STM32F429BI'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00200000; srambase:$20000000; sramsize:$00030000), 836 (controllertypestr:'STM32F429BE'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00030000), 837 (controllertypestr:'STM32F429NG'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 838 (controllertypestr:'STM32F429NI'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00200000; srambase:$20000000; sramsize:$00030000), 839 (controllertypestr:'STM32F429NE'; controllerunitstr:'STM32F429XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00030000), 840 (controllertypestr:'STM32F446MC'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 841 (controllertypestr:'STM32F446RC'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 842 (controllertypestr:'STM32F446VC'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 843 (controllertypestr:'STM32F446ZC'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00040000; srambase:$20000000; sramsize:$00020000), 844 (controllertypestr:'STM32F446ME'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 845 (controllertypestr:'STM32F446RE'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 846 (controllertypestr:'NUCLEOF446RE'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 847 (controllertypestr:'STM32F446VE'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 848 (controllertypestr:'STM32F446ZE'; controllerunitstr:'STM32F446XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 849 850 (controllertypestr:'STM32F745XE'; controllerunitstr:'STM32F745'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20010000; sramsize:$00040000), 851 (controllertypestr:'STM32F745XG'; controllerunitstr:'STM32F745'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20010000; sramsize:$00040000), 852 (controllertypestr:'STM32F746XE'; controllerunitstr:'STM32F746'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20010000; sramsize:$00040000), 853 (controllertypestr:'STM32F746XG'; controllerunitstr:'STM32F746'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20010000; sramsize:$00040000), 854 (controllertypestr:'STM32F756XE'; controllerunitstr:'STM32F756'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20010000; sramsize:$00040000), 855 (controllertypestr:'STM32F756XG'; controllerunitstr:'STM32F756'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20010000; sramsize:$00040000), 856 857 (controllertypestr:'LM3S1110'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 858 (controllertypestr:'LM3S1133'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 859 (controllertypestr:'LM3S1138'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 860 (controllertypestr:'LM3S1150'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 861 (controllertypestr:'LM3S1162'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 862 (controllertypestr:'LM3S1165'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 863 (controllertypestr:'LM3S1166'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 864 (controllertypestr:'LM3S2110'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 865 (controllertypestr:'LM3S2139'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 866 (controllertypestr:'LM3S6100'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 867 (controllertypestr:'LM3S6110'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000), 868 869 { TI - 128K Flash, 32K SRAM devices } 870 (controllertypestr:'LM3S1601'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 871 (controllertypestr:'LM3S1608'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 872 (controllertypestr:'LM3S1620'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 873 (controllertypestr:'LM3S1635'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 874 (controllertypestr:'LM3S1636'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 875 (controllertypestr:'LM3S1637'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 876 (controllertypestr:'LM3S1651'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 877 (controllertypestr:'LM3S2601'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 878 (controllertypestr:'LM3S2608'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 879 (controllertypestr:'LM3S2620'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 880 (controllertypestr:'LM3S2637'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 881 (controllertypestr:'LM3S2651'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 882 (controllertypestr:'LM3S6610'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 883 (controllertypestr:'LM3S6611'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 884 (controllertypestr:'LM3S6618'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 885 (controllertypestr:'LM3S6633'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 886 (controllertypestr:'LM3S6637'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 887 (controllertypestr:'LM3S8630'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00008000), 888 889 { TI - 256K Flash, 64K SRAM devices } 890 (controllertypestr:'LM3S1911'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 891 (controllertypestr:'LM3S1918'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 892 (controllertypestr:'LM3S1937'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 893 (controllertypestr:'LM3S1958'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 894 (controllertypestr:'LM3S1960'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 895 (controllertypestr:'LM3S1968'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 896 (controllertypestr:'LM3S1969'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 897 (controllertypestr:'LM3S2911'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 898 (controllertypestr:'LM3S2918'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 899 (controllertypestr:'LM3S2919'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 900 (controllertypestr:'LM3S2939'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 901 (controllertypestr:'LM3S2948'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 902 (controllertypestr:'LM3S2950'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 903 (controllertypestr:'LM3S2965'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 904 (controllertypestr:'LM3S6911'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 905 (controllertypestr:'LM3S6918'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 906 (controllertypestr:'LM3S6938'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 907 (controllertypestr:'LM3S6950'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 908 (controllertypestr:'LM3S6952'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 909 (controllertypestr:'LM3S6965'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 910 (controllertypestr:'LM3S8930'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 911 (controllertypestr:'LM3S8933'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 912 (controllertypestr:'LM3S8938'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 913 (controllertypestr:'LM3S8962'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 914 (controllertypestr:'LM3S8970'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 915 (controllertypestr:'LM3S8971'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 916 917 { TI - Tempest parts - up to 512 K Flash, 96 K SRAM } 918 (controllertypestr:'LM3S5951'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 919 (controllertypestr:'LM3S5956'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 920 (controllertypestr:'LM3S1B21'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 921 (controllertypestr:'LM3S2B93'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 922 (controllertypestr:'LM3S5B91'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 923 (controllertypestr:'LM3S9B81'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 924 (controllertypestr:'LM3S9B90'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 925 (controllertypestr:'LM3S9B92'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 926 (controllertypestr:'LM3S9B95'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 927 (controllertypestr:'LM3S9B96'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00018000), 928 (controllertypestr:'LM3S5D51'; controllerunitstr:'LM3TEMPEST'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000), 929 930 { TI } 931 (controllertypestr:'LM4F120H5'; controllerunitstr:'LM4F120'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 932 933 { Samsung } 934 (controllertypestr:'SC32442B'; controllerunitstr:'SC32442b'; cputype:cpu_armv4t; fputype:fpu_soft; flashbase:$00000000; flashsize:$00000000; srambase:$00000000; sramsize:$08000000), 935 936 { Infinion } 937 (controllertypestr:'XMC4500X1024'; controllerunitstr:'XMC4500'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00010000), 938 (controllertypestr:'XMC4500X768'; controllerunitstr:'XMC4500'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$000C0000; srambase:$20000000; sramsize:$00010000), 939 (controllertypestr:'XMC4502X768'; controllerunitstr:'XMC4502'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$000C0000; srambase:$20000000; sramsize:$00010000), 940 (controllertypestr:'XMC4504X512'; controllerunitstr:'XMC4504'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 941 942 { Allwinner } 943 (controllertypestr:'ALLWINNER_A20'; controllerunitstr:'ALLWINNER_A20'; cputype:cpu_armv7a; fputype:fpu_vfpv4; flashbase:$00000000; flashsize:$00000000; srambase:$40000000; sramsize:$80000000), 944 945 { Freescale } 946 (controllertypestr:'MK20DX128VFM5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 947 (controllertypestr:'MK20DX128VFT5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 948 (controllertypestr:'MK20DX128VLF5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 949 (controllertypestr:'MK20DX128VLH5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 950 (controllertypestr:'TEENSY30' ; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 951 (controllertypestr:'MK20DX128VMP5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00002000), 952 953 (controllertypestr:'MK20DX32VFM5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 954 (controllertypestr:'MK20DX32VFT5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 955 (controllertypestr:'MK20DX32VLF5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 956 (controllertypestr:'MK20DX32VLH5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 957 (controllertypestr:'MK20DX32VMP5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00008000; srambase:$20000000; sramsize:$00001000), 958 959 (controllertypestr:'MK20DX64VFM5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 960 (controllertypestr:'MK20DX64VFT5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 961 (controllertypestr:'MK20DX64VLF5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 962 (controllertypestr:'MK20DX64VLH5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 963 (controllertypestr:'MK20DX64VMP5'; controllerunitstr:'MK20D5'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 964 965 (controllertypestr:'MK20DX128VLH7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 966 (controllertypestr:'MK20DX128VLK7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 967 (controllertypestr:'MK20DX128VLL7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 968 (controllertypestr:'MK20DX128VMC7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 969 970 (controllertypestr:'MK20DX256VLH7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 971 (controllertypestr:'MK20DX256VLK7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 972 (controllertypestr:'MK20DX256VLL7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 973 (controllertypestr:'MK20DX256VMC7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 974 (controllertypestr:'TEENSY31'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 975 (controllertypestr:'TEENSY32'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 976 977 (controllertypestr:'MK20DX64VLH7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 978 (controllertypestr:'MK20DX64VLK7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 979 (controllertypestr:'MK20DX64VMC7'; controllerunitstr:'MK20D7'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00002000), 980 981 (controllertypestr:'MK22FN512CAP12';controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 982 (controllertypestr:'MK22FN512CBP12';controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 983 (controllertypestr:'MK22FN512VDC12';controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 984 (controllertypestr:'MK22FN512VLH12';controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 985 (controllertypestr:'MK22FN512VLL12';controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 986 (controllertypestr:'MK22FN512VMP12';controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 987 (controllertypestr:'FREEDOM_K22F'; controllerunitstr:'MK22F51212'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 988 989 (controllertypestr:'MK64FN1M0VDC12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 990 (controllertypestr:'MK64FN1M0VLL12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 991 (controllertypestr:'FREEDOM_K64F'; controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 992 (controllertypestr:'MK64FN1M0VLQ12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 993 (controllertypestr:'MK64FN1M0VMD12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00100000; srambase:$20000000; sramsize:$00030000), 994 995 (controllertypestr:'MK64FX512VDC12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 996 (controllertypestr:'MK64FX512VLL12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 997 (controllertypestr:'MK64FX512VLQ12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 998 (controllertypestr:'MK64FX512VMD12';controllerunitstr:'MK64F12'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00020000), 999 1000 { Atmel } 1001 (controllertypestr:'ATSAM3X8E'; controllerunitstr:'SAM3X8E'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00080000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 1002 (controllertypestr:'ARDUINO_DUE'; controllerunitstr:'SAM3X8E'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00080000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 1003 (controllertypestr:'FLIP_N_CLICK'; controllerunitstr:'SAM3X8E'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00080000; flashsize:$00040000; srambase:$20000000; sramsize:$00010000), 1004 1005 { Nordic Semiconductor } 1006 (controllertypestr:'NRF51422_XXAA'; controllerunitstr:'NRF51'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00004000), 1007 (controllertypestr:'NRF51422_XXAB'; controllerunitstr:'NRF51'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 1008 (controllertypestr:'NRF51422_XXAC'; controllerunitstr:'NRF51'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 1009 (controllertypestr:'NRF51822_XXAA'; controllerunitstr:'NRF51'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00004000), 1010 (controllertypestr:'NRF51822_XXAB'; controllerunitstr:'NRF51'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00020000; srambase:$20000000; sramsize:$00004000), 1011 (controllertypestr:'NRF51822_XXAC'; controllerunitstr:'NRF51'; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00040000; srambase:$20000000; sramsize:$00008000), 1012 (controllertypestr:'NRF52832_XXAA'; controllerunitstr:'NRF52'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 1013 (controllertypestr:'NRF52840_XXAA'; controllerunitstr:'NRF52'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$00000000; flashsize:$00080000; srambase:$20000000; sramsize:$00010000), 1014 1015 { Bare bones } 1016 (controllertypestr:'THUMB2_BARE'; controllerunitstr:'THUMB2_BARE'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00002000; srambase:$20000000; sramsize:$00000400) 1017 ); 1018 1019 vfp_scalar = [fpu_vfpv2,fpu_vfpv3,fpu_vfpv4,fpu_vfpv3_d16,fpu_fpv4_s16]; 1020 1021 { Supported optimizations, only used for information } 1022 supported_optimizerswitches = genericlevel1optimizerswitches+ 1023 genericlevel2optimizerswitches+ 1024 genericlevel3optimizerswitches- 1025 { no need to write info about those } 1026 [cs_opt_level1,cs_opt_level2,cs_opt_level3]+ 1027 [cs_opt_regvar,cs_opt_loopunroll,cs_opt_tailrecursion, 1028 cs_opt_stackframe,cs_opt_nodecse,cs_opt_reorder_fields,cs_opt_fastmath,cs_opt_forcenostackframe]; 1029 1030 level1optimizerswitches = genericlevel1optimizerswitches; 1031 level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + 1032 [cs_opt_regvar,cs_opt_stackframe,cs_opt_tailrecursion,cs_opt_nodecse]; 1033 level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [cs_opt_scheduler{,cs_opt_loopunroll}]; 1034 level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + []; 1035 1036 type 1037 tcpuflags = 1038 (CPUARM_HAS_ALL_MEM, { CPU supports LDRSB/LDRSH/LDRH/STRH instructions } 1039 CPUARM_HAS_BX, { CPU supports the BX instruction } 1040 CPUARM_HAS_BLX, { CPU supports the BLX rX instruction } 1041 CPUARM_HAS_BLX_LABEL, { CPU supports the BLX <label> instruction } 1042 CPUARM_HAS_CLZ, { CPU supports the CLZ instruction } 1043 CPUARM_HAS_EDSP, { CPU supports the PLD,STRD,LDRD,MCRR and MRRC instructions } 1044 CPUARM_HAS_REV, { CPU supports the REV instruction } 1045 CPUARM_HAS_RBIT, { CPU supports the RBIT instruction } 1046 CPUARM_HAS_DMB, { CPU has memory barrier instructions (DMB, DSB, ISB) } 1047 CPUARM_HAS_LDREX, 1048 CPUARM_HAS_IDIV, 1049 CPUARM_HAS_THUMB_IDIV, 1050 CPUARM_HAS_THUMB2, 1051 CPUARM_HAS_UMULL 1052 ); 1053 1054 const 1055 cpu_capabilities : array[tcputype] of set of tcpuflags = 1056 ( { cpu_none } [], 1057 { cpu_armv3 } [], 1058 { cpu_armv4 } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_UMULL], 1059 { cpu_armv4t } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_UMULL], 1060 { cpu_armv5 } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_CLZ,CPUARM_HAS_UMULL], 1061 { cpu_armv5t } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_UMULL], 1062 { cpu_armv5te } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_UMULL], 1063 { cpu_armv5tej } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_UMULL], 1064 { cpu_armv6 } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX,CPUARM_HAS_UMULL], 1065 { cpu_armv6k } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX,CPUARM_HAS_UMULL], 1066 { cpu_armv6t2 } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_RBIT,CPUARM_HAS_LDREX,CPUARM_HAS_THUMB2,CPUARM_HAS_UMULL], 1067 { cpu_armv6z } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX,CPUARM_HAS_UMULL], 1068 { cpu_armv6m } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_REV], 1069 { the identifier armv7 is should not be used, it is considered being equal to armv7a } 1070 { cpu_armv7 } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_RBIT,CPUARM_HAS_LDREX,CPUARM_HAS_DMB,CPUARM_HAS_THUMB2,CPUARM_HAS_UMULL], 1071 { cpu_armv7a } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_RBIT,CPUARM_HAS_LDREX,CPUARM_HAS_DMB,CPUARM_HAS_THUMB2,CPUARM_HAS_UMULL], 1072 { cpu_armv7r } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_RBIT,CPUARM_HAS_LDREX,CPUARM_HAS_THUMB_IDIV,CPUARM_HAS_DMB,CPUARM_HAS_THUMB2,CPUARM_HAS_UMULL], 1073 { cpu_armv7m } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_RBIT,CPUARM_HAS_LDREX,CPUARM_HAS_THUMB_IDIV,CPUARM_HAS_DMB,CPUARM_HAS_THUMB2,CPUARM_HAS_UMULL], 1074 { cpu_armv7em } [CPUARM_HAS_ALL_MEM,CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_RBIT,CPUARM_HAS_LDREX,CPUARM_HAS_THUMB_IDIV,CPUARM_HAS_DMB,CPUARM_HAS_THUMB2,CPUARM_HAS_UMULL] 1075 ); 1076 1077 { contains all CPU supporting any kind of thumb instruction set } 1078 cpu_has_thumb = [cpu_armv4t,cpu_armv5t,cpu_armv5te,cpu_armv5tej,cpu_armv6t2,cpu_armv6z,cpu_armv6m,cpu_armv7a,cpu_armv7r,cpu_armv7m,cpu_armv7em]; 1079 1080 Implementation 1081 1082 end. 1083 1084