cpuinfo.pas 86 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916
  1. {
  2. Copyright (c) 2008 by the Free Pascal development team
  3. Basic Processor information for the AVR
  4. See the file COPYING.FPC, included in this distribution,
  5. for details about the copyright.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. **********************************************************************}
  10. Unit CPUInfo;
  11. {$i fpcdefs.inc}
  12. Interface
  13. uses
  14. globtype;
  15. Type
  16. bestreal = double;
  17. bestrealrec = TDoubleRec;
  18. ts32real = single;
  19. ts64real = double;
  20. ts80real = type extended;
  21. ts128real = type extended;
  22. ts64comp = comp;
  23. pbestreal=^bestreal;
  24. { possible supported processors for this target }
  25. tcputype =
  26. (cpu_none,
  27. cpu_avrtiny,
  28. cpu_avr1,
  29. cpu_avr2,
  30. cpu_avr25,
  31. cpu_avr3,
  32. cpu_avr31,
  33. cpu_avr35,
  34. cpu_avr4,
  35. cpu_avr5,
  36. cpu_avr51,
  37. cpu_avr6,
  38. cpu_avrxmega2,
  39. cpu_avrxmega3,
  40. cpu_avrxmega4,
  41. cpu_avrxmega5,
  42. cpu_avrxmega6,
  43. cpu_avrxmega7
  44. );
  45. tfputype =
  46. (fpu_none,
  47. fpu_soft,
  48. fpu_libgcc
  49. );
  50. tcontrollertype =
  51. (ct_none,
  52. ct_avrsim,
  53. ct_avrsim6,
  54. ct_at90can32,
  55. ct_at90can64,
  56. ct_at90can128,
  57. ct_at90pwm1,
  58. ct_at90pwm2b,
  59. ct_at90pwm3,
  60. ct_at90pwm3b,
  61. ct_at90pwm81,
  62. ct_at90pwm161,
  63. ct_at90pwm216,
  64. ct_at90pwm316,
  65. ct_at90usb82,
  66. ct_at90usb162,
  67. ct_at90usb646,
  68. ct_at90usb647,
  69. ct_at90usb1286,
  70. ct_at90usb1287,
  71. ct_ata6285,
  72. ct_ata6286,
  73. ct_atmega8,
  74. ct_atmega8a,
  75. ct_atmega8hva,
  76. ct_atmega8u2,
  77. ct_atmega16,
  78. ct_atmega16a,
  79. ct_atmega16hva,
  80. ct_atmega16hvb,
  81. ct_atmega16hvbrevb,
  82. ct_atmega16m1,
  83. ct_atmega16u2,
  84. ct_atmega16u4,
  85. ct_atmega32,
  86. ct_atmega32a,
  87. ct_atmega32c1,
  88. ct_atmega32hvb,
  89. ct_atmega32hvbrevb,
  90. ct_atmega32m1,
  91. ct_atmega32u2,
  92. ct_atmega32u4,
  93. ct_atmega48,
  94. ct_atmega48a,
  95. ct_atmega48p,
  96. ct_atmega48pa,
  97. ct_atmega48pb,
  98. ct_atmega64,
  99. ct_atmega64a,
  100. ct_atmega64c1,
  101. ct_atmega64hve2,
  102. ct_atmega64m1,
  103. ct_atmega64rfr2,
  104. ct_atmega88,
  105. ct_atmega88a,
  106. ct_atmega88p,
  107. ct_atmega88pa,
  108. ct_atmega88pb,
  109. ct_atmega128,
  110. ct_atmega128a,
  111. ct_atmega128rfa1,
  112. ct_atmega128rfr2,
  113. ct_atmega162,
  114. ct_atmega164a,
  115. ct_atmega164p,
  116. ct_atmega164pa,
  117. ct_atmega165a,
  118. ct_atmega165p,
  119. ct_atmega165pa,
  120. ct_atmega168,
  121. ct_atmega168a,
  122. ct_atmega168p,
  123. ct_atmega168pa,
  124. ct_atmega168pb,
  125. ct_atmega169a,
  126. ct_atmega169p,
  127. ct_atmega169pa,
  128. ct_atmega256rfr2,
  129. ct_atmega324a,
  130. ct_atmega324p,
  131. ct_atmega324pa,
  132. ct_atmega324pb,
  133. ct_atmega325,
  134. ct_atmega325a,
  135. ct_atmega325p,
  136. ct_atmega325pa,
  137. ct_atmega328,
  138. ct_atmega328p,
  139. ct_atmega328pb,
  140. ct_atmega329,
  141. ct_atmega329a,
  142. ct_atmega329p,
  143. ct_atmega329pa,
  144. ct_atmega406,
  145. ct_atmega640,
  146. ct_atmega644,
  147. ct_atmega644a,
  148. ct_atmega644p,
  149. ct_atmega644pa,
  150. ct_atmega644rfr2,
  151. ct_atmega645,
  152. ct_atmega645a,
  153. ct_atmega645p,
  154. ct_atmega649,
  155. ct_atmega649a,
  156. ct_atmega649p,
  157. ct_atmega808,
  158. ct_atmega809,
  159. ct_atmega1280,
  160. ct_atmega1281,
  161. ct_atmega1284,
  162. ct_atmega1284p,
  163. ct_atmega1284rfr2,
  164. ct_atmega1608,
  165. ct_atmega1609,
  166. ct_atmega2560,
  167. ct_atmega2561,
  168. ct_atmega2564rfr2,
  169. ct_atmega3208,
  170. ct_atmega3209,
  171. ct_atmega3250,
  172. ct_atmega3250a,
  173. ct_atmega3250p,
  174. ct_atmega3250pa,
  175. ct_atmega3290,
  176. ct_atmega3290a,
  177. ct_atmega3290p,
  178. ct_atmega3290pa,
  179. ct_atmega4808,
  180. ct_atmega4809,
  181. ct_atmega6450,
  182. ct_atmega6450a,
  183. ct_atmega6450p,
  184. ct_atmega6490,
  185. ct_atmega6490a,
  186. ct_atmega6490p,
  187. ct_atmega8515,
  188. ct_atmega8535,
  189. ct_attiny4,
  190. ct_attiny5,
  191. ct_attiny9,
  192. ct_attiny10,
  193. ct_attiny11,
  194. ct_attiny12,
  195. ct_attiny13,
  196. ct_attiny13a,
  197. ct_attiny15,
  198. ct_attiny20,
  199. ct_attiny24,
  200. ct_attiny24a,
  201. ct_attiny25,
  202. ct_attiny26,
  203. ct_attiny28,
  204. ct_attiny40,
  205. ct_attiny43u,
  206. ct_attiny44,
  207. ct_attiny44a,
  208. ct_attiny45,
  209. ct_attiny48,
  210. ct_attiny84,
  211. ct_attiny84a,
  212. ct_attiny85,
  213. ct_attiny87,
  214. ct_attiny88,
  215. ct_attiny102,
  216. ct_attiny104,
  217. ct_attiny167,
  218. ct_attiny202,
  219. ct_attiny204,
  220. ct_attiny212,
  221. ct_attiny214,
  222. ct_attiny261,
  223. ct_attiny261a,
  224. ct_attiny402,
  225. ct_attiny404,
  226. ct_attiny406,
  227. ct_attiny412,
  228. ct_attiny414,
  229. ct_attiny416,
  230. ct_attiny416auto,
  231. ct_attiny417,
  232. ct_attiny424,
  233. ct_attiny426,
  234. ct_attiny427,
  235. ct_attiny441,
  236. ct_attiny461,
  237. ct_attiny461a,
  238. ct_attiny804,
  239. ct_attiny806,
  240. ct_attiny807,
  241. ct_attiny814,
  242. ct_attiny816,
  243. ct_attiny817,
  244. ct_attiny824,
  245. ct_attiny826,
  246. ct_attiny827,
  247. ct_attiny828,
  248. ct_attiny841,
  249. ct_attiny861,
  250. ct_attiny861a,
  251. ct_attiny1604,
  252. ct_attiny1606,
  253. ct_attiny1607,
  254. ct_attiny1614,
  255. ct_attiny1616,
  256. ct_attiny1617,
  257. ct_attiny1624,
  258. ct_attiny1626,
  259. ct_attiny1627,
  260. ct_attiny1634,
  261. ct_attiny2313,
  262. ct_attiny2313a,
  263. ct_attiny3216,
  264. ct_attiny3217,
  265. ct_attiny3224,
  266. ct_attiny3226,
  267. ct_attiny3227,
  268. ct_attiny4313,
  269. ct_atxmega8e5,
  270. ct_atxmega16a4,
  271. ct_atxmega16a4u,
  272. ct_atxmega16c4,
  273. ct_atxmega16d4,
  274. ct_atxmega16e5,
  275. ct_atxmega32a4,
  276. ct_atxmega32a4u,
  277. ct_atxmega32c3,
  278. ct_atxmega32c4,
  279. ct_atxmega32d3,
  280. ct_atxmega32d4,
  281. ct_atxmega32e5,
  282. ct_atxmega64a1,
  283. ct_atxmega64a1u,
  284. ct_atxmega64a3,
  285. ct_atxmega64a3u,
  286. ct_atxmega64a4u,
  287. ct_atxmega64b1,
  288. ct_atxmega64b3,
  289. ct_atxmega64c3,
  290. ct_atxmega64d3,
  291. ct_atxmega64d4,
  292. ct_atxmega128a1,
  293. ct_atxmega128a1u,
  294. ct_atxmega128a3,
  295. ct_atxmega128a3u,
  296. ct_atxmega128a4u,
  297. ct_atxmega128b1,
  298. ct_atxmega128b3,
  299. ct_atxmega128c3,
  300. ct_atxmega128d3,
  301. ct_atxmega128d4,
  302. ct_atxmega192a3,
  303. ct_atxmega192a3u,
  304. ct_atxmega192c3,
  305. ct_atxmega192d3,
  306. ct_atxmega256a3,
  307. ct_atxmega256a3b,
  308. ct_atxmega256a3bu,
  309. ct_atxmega256a3u,
  310. ct_atxmega256c3,
  311. ct_atxmega256d3,
  312. ct_atxmega384c3,
  313. ct_atxmega384d3,
  314. ct_avr16dd14,
  315. ct_avr16dd20,
  316. ct_avr16dd28,
  317. ct_avr16dd32,
  318. ct_avr16du14,
  319. ct_avr16du20,
  320. ct_avr16du28,
  321. ct_avr16du32,
  322. ct_avr16ea28,
  323. ct_avr16ea32,
  324. ct_avr16ea48,
  325. ct_avr16eb14,
  326. ct_avr16eb20,
  327. ct_avr16eb28,
  328. ct_avr16eb32,
  329. ct_avr32da28,
  330. ct_avr32da28s,
  331. ct_avr32da32,
  332. ct_avr32da32s,
  333. ct_avr32da48,
  334. ct_avr32da48s,
  335. ct_avr32db28,
  336. ct_avr32db32,
  337. ct_avr32db48,
  338. ct_avr32dd14,
  339. ct_avr32dd20,
  340. ct_avr32dd28,
  341. ct_avr32dd32,
  342. ct_avr32du14,
  343. ct_avr32du20,
  344. ct_avr32du28,
  345. ct_avr32du32,
  346. ct_avr32ea28,
  347. ct_avr32ea32,
  348. ct_avr32ea48,
  349. ct_avr32eb14,
  350. ct_avr32eb20,
  351. ct_avr32eb28,
  352. ct_avr32eb32,
  353. ct_avr64da28,
  354. ct_avr64da28s,
  355. ct_avr64da32,
  356. ct_avr64da32s,
  357. ct_avr64da48,
  358. ct_avr64da48s,
  359. ct_avr64da64,
  360. ct_avr64da64s,
  361. ct_avr64db28,
  362. ct_avr64db32,
  363. ct_avr64db48,
  364. ct_avr64db64,
  365. ct_avr64dd14,
  366. ct_avr64dd20,
  367. ct_avr64dd28,
  368. ct_avr64dd32,
  369. ct_avr64du28,
  370. ct_avr64du32,
  371. ct_avr64ea28,
  372. ct_avr64ea32,
  373. ct_avr64ea48,
  374. ct_avr128da28,
  375. ct_avr128da28s,
  376. ct_avr128da32,
  377. ct_avr128da32s,
  378. ct_avr128da48,
  379. ct_avr128da48s,
  380. ct_avr128da64,
  381. ct_avr128da64s,
  382. ct_avr128db28,
  383. ct_avr128db32,
  384. ct_avr128db48,
  385. ct_avr128db64,
  386. // Controller board aliases
  387. ct_arduinoleonardo,
  388. ct_arduinomega,
  389. ct_arduinomicro,
  390. ct_arduinonano,
  391. ct_arduinonanoevery,
  392. ct_arduinouno,
  393. ct_atmega256rfr2xpro,
  394. ct_atmega324pbxpro,
  395. ct_atmega1284pxplained,
  396. ct_atmega4809xpro,
  397. ct_attiny817xpro,
  398. ct_attiny3217xpro
  399. );
  400. tcontrollerdatatype = record
  401. controllertypestr, controllerunitstr: string[20];
  402. cputype: tcputype; fputype: tfputype;
  403. flashbase, flashsize, srambase, sramsize, eeprombase, eepromsize, bootbase, bootsize: dword;
  404. end;
  405. Const
  406. { Is there support for dealing with multiple microcontrollers available }
  407. { for this platform? }
  408. ControllerSupport = true;
  409. {# Size of native extended floating point type }
  410. extended_size = 12;
  411. { target cpu string (used by compiler options) }
  412. target_cpu_string = 'avr';
  413. { calling conventions supported by the code generator }
  414. supported_calling_conventions : tproccalloptions = [
  415. pocall_internproc,
  416. pocall_safecall,
  417. pocall_stdcall,
  418. { same as stdcall only different name mangling }
  419. pocall_cdecl,
  420. { same as stdcall only different name mangling }
  421. pocall_cppdecl,
  422. { same as stdcall but floating point numbers are handled like equal sized integers }
  423. pocall_softfloat
  424. ];
  425. cputypestr : array[tcputype] of string[9] = ('',
  426. 'AVRTINY',
  427. 'AVR1',
  428. 'AVR2',
  429. 'AVR25',
  430. 'AVR3',
  431. 'AVR31',
  432. 'AVR35',
  433. 'AVR4',
  434. 'AVR5',
  435. 'AVR51',
  436. 'AVR6',
  437. 'AVRXMEGA2',
  438. 'AVRXMEGA3',
  439. 'AVRXMEGA4',
  440. 'AVRXMEGA5',
  441. 'AVRXMEGA6',
  442. 'AVRXMEGA7'
  443. );
  444. fputypestr : array[tfputype] of string[6] = (
  445. 'NONE',
  446. 'SOFT',
  447. 'LIBGCC'
  448. );
  449. { We know that there are fields after sramsize
  450. but we don't care about this warning }
  451. {$WARN 3177 OFF}
  452. embedded_controllers : array [tcontrollertype] of tcontrollerdatatype =
  453. ((
  454. controllertypestr:'';
  455. controllerunitstr:'';
  456. cputype: cpu_none;
  457. fputype: fpu_soft;
  458. flashbase:0;
  459. flashsize:0;
  460. srambase:0;
  461. sramsize:0;
  462. eeprombase:0;
  463. eepromsize:0
  464. ),
  465. (
  466. controllertypestr:'AVRSIM';
  467. controllerunitstr:'AVRSIM';
  468. cputype: cpu_avr5;
  469. fputype: fpu_soft;
  470. flashbase:0;
  471. flashsize:$20000;
  472. srambase:256;
  473. sramsize:32*1024;
  474. eeprombase:0;
  475. eepromsize:4096;
  476. ),
  477. (
  478. controllertypestr:'AVRSIM6';
  479. controllerunitstr:'AVRSIM';
  480. cputype: cpu_avr6;
  481. fputype: fpu_soft;
  482. flashbase:0;
  483. flashsize:$400000;
  484. srambase:256;
  485. sramsize:60*1024;
  486. eeprombase:0;
  487. eepromsize:4096;
  488. )
  489. ,(controllertypestr:'AT90CAN32';controllerunitstr:'AT90CAN32';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:24576;bootsize:8192)
  490. ,(controllertypestr:'AT90CAN64';controllerunitstr:'AT90CAN64';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  491. ,(controllertypestr:'AT90CAN128';controllerunitstr:'AT90CAN128';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:4096;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  492. ,(controllertypestr:'AT90PWM1';controllerunitstr:'AT90PWM1';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  493. ,(controllertypestr:'AT90PWM2B';controllerunitstr:'AT90PWM2B';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  494. ,(controllertypestr:'AT90PWM3';controllerunitstr:'AT90PWM3';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  495. ,(controllertypestr:'AT90PWM3B';controllerunitstr:'AT90PWM3B';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  496. ,(controllertypestr:'AT90PWM81';controllerunitstr:'AT90PWM81';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:256;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  497. ,(controllertypestr:'AT90PWM161';controllerunitstr:'AT90PWM161';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  498. ,(controllertypestr:'AT90PWM216';controllerunitstr:'AT90PWM216';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  499. ,(controllertypestr:'AT90PWM316';controllerunitstr:'AT90PWM316';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  500. ,(controllertypestr:'AT90USB82';controllerunitstr:'AT90USB82';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:4096;bootsize:4096)// Subarch modified to better match memory map
  501. ,(controllertypestr:'AT90USB162';controllerunitstr:'AT90USB162';cputype:cpu_avr35;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  502. ,(controllertypestr:'AT90USB646';controllerunitstr:'AT90USB646';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  503. ,(controllertypestr:'AT90USB647';controllerunitstr:'AT90USB647';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  504. ,(controllertypestr:'AT90USB1286';controllerunitstr:'AT90USB1286';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  505. ,(controllertypestr:'AT90USB1287';controllerunitstr:'AT90USB1287';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  506. ,(controllertypestr:'ATA6285';controllerunitstr:'ATA6285';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:320;bootbase:6144;bootsize:2048)
  507. ,(controllertypestr:'ATA6286';controllerunitstr:'ATA6286';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:320;bootbase:6144;bootsize:2048)
  508. ,(controllertypestr:'ATMEGA8';controllerunitstr:'ATMEGA8';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  509. ,(controllertypestr:'ATMEGA8A';controllerunitstr:'ATMEGA8A';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  510. ,(controllertypestr:'ATMEGA8HVA';controllerunitstr:'ATMEGA8HVA';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  511. ,(controllertypestr:'ATMEGA8U2';controllerunitstr:'ATMEGA8U2';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:4096;bootsize:4096)// Subarch modified to better match memory map
  512. ,(controllertypestr:'ATMEGA16';controllerunitstr:'ATMEGA16';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:96;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  513. ,(controllertypestr:'ATMEGA16A';controllerunitstr:'ATMEGA16A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:96;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  514. ,(controllertypestr:'ATMEGA16HVA';controllerunitstr:'ATMEGA16HVA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  515. ,(controllertypestr:'ATMEGA16HVB';controllerunitstr:'ATMEGA16HVB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  516. ,(controllertypestr:'ATMEGA16HVBREVB';controllerunitstr:'ATMEGA16HVBREVB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  517. ,(controllertypestr:'ATMEGA16M1';controllerunitstr:'ATMEGA16M1';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  518. ,(controllertypestr:'ATMEGA16U2';controllerunitstr:'ATMEGA16U2';cputype:cpu_avr35;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:512;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  519. ,(controllertypestr:'ATMEGA16U4';controllerunitstr:'ATMEGA16U4';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1280;eeprombase:0;eepromsize:512;bootbase:12288;bootsize:4096)
  520. ,(controllertypestr:'ATMEGA32';controllerunitstr:'ATMEGA32';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:96;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  521. ,(controllertypestr:'ATMEGA32A';controllerunitstr:'ATMEGA32A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:96;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  522. ,(controllertypestr:'ATMEGA32C1';controllerunitstr:'ATMEGA32C1';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  523. ,(controllertypestr:'ATMEGA32HVB';controllerunitstr:'ATMEGA32HVB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  524. ,(controllertypestr:'ATMEGA32HVBREVB';controllerunitstr:'ATMEGA32HVBREVB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  525. ,(controllertypestr:'ATMEGA32M1';controllerunitstr:'ATMEGA32M1';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  526. ,(controllertypestr:'ATMEGA32U2';controllerunitstr:'ATMEGA32U2';cputype:cpu_avr35;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:1024;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  527. ,(controllertypestr:'ATMEGA32U4';controllerunitstr:'ATMEGA32U4';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2560;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  528. ,(controllertypestr:'ATMEGA48';controllerunitstr:'ATMEGA48';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  529. ,(controllertypestr:'ATMEGA48A';controllerunitstr:'ATMEGA48A';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  530. ,(controllertypestr:'ATMEGA48P';controllerunitstr:'ATMEGA48P';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  531. ,(controllertypestr:'ATMEGA48PA';controllerunitstr:'ATMEGA48PA';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  532. ,(controllertypestr:'ATMEGA48PB';controllerunitstr:'ATMEGA48PB';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:512;eeprombase:0;eepromsize:256)
  533. ,(controllertypestr:'ATMEGA64';controllerunitstr:'ATMEGA64';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  534. ,(controllertypestr:'ATMEGA64A';controllerunitstr:'ATMEGA64A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  535. ,(controllertypestr:'ATMEGA64C1';controllerunitstr:'ATMEGA64C1';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  536. ,(controllertypestr:'ATMEGA64HVE2';controllerunitstr:'ATMEGA64HVE2';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:57344;bootsize:8192)
  537. ,(controllertypestr:'ATMEGA64M1';controllerunitstr:'ATMEGA64M1';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  538. ,(controllertypestr:'ATMEGA64RFR2';controllerunitstr:'ATMEGA64RFR2';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:512;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  539. ,(controllertypestr:'ATMEGA88';controllerunitstr:'ATMEGA88';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  540. ,(controllertypestr:'ATMEGA88A';controllerunitstr:'ATMEGA88A';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  541. ,(controllertypestr:'ATMEGA88P';controllerunitstr:'ATMEGA88P';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  542. ,(controllertypestr:'ATMEGA88PA';controllerunitstr:'ATMEGA88PA';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  543. ,(controllertypestr:'ATMEGA88PB';controllerunitstr:'ATMEGA88PB';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  544. ,(controllertypestr:'ATMEGA128';controllerunitstr:'ATMEGA128';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:4096;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  545. ,(controllertypestr:'ATMEGA128A';controllerunitstr:'ATMEGA128A';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:4096;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  546. ,(controllertypestr:'ATMEGA128RFA1';controllerunitstr:'ATMEGA128RFA1';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:512;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  547. ,(controllertypestr:'ATMEGA128RFR2';controllerunitstr:'ATMEGA128RFR2';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:512;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  548. ,(controllertypestr:'ATMEGA162';controllerunitstr:'ATMEGA162';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  549. ,(controllertypestr:'ATMEGA164A';controllerunitstr:'ATMEGA164A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  550. ,(controllertypestr:'ATMEGA164P';controllerunitstr:'ATMEGA164P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  551. ,(controllertypestr:'ATMEGA164PA';controllerunitstr:'ATMEGA164PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  552. ,(controllertypestr:'ATMEGA165A';controllerunitstr:'ATMEGA165A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  553. ,(controllertypestr:'ATMEGA165P';controllerunitstr:'ATMEGA165P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  554. ,(controllertypestr:'ATMEGA165PA';controllerunitstr:'ATMEGA165PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  555. ,(controllertypestr:'ATMEGA168';controllerunitstr:'ATMEGA168';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  556. ,(controllertypestr:'ATMEGA168A';controllerunitstr:'ATMEGA168A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  557. ,(controllertypestr:'ATMEGA168P';controllerunitstr:'ATMEGA168P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  558. ,(controllertypestr:'ATMEGA168PA';controllerunitstr:'ATMEGA168PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  559. ,(controllertypestr:'ATMEGA168PB';controllerunitstr:'ATMEGA168PB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  560. ,(controllertypestr:'ATMEGA169A';controllerunitstr:'ATMEGA169A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  561. ,(controllertypestr:'ATMEGA169P';controllerunitstr:'ATMEGA169P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  562. ,(controllertypestr:'ATMEGA169PA';controllerunitstr:'ATMEGA169PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:14336;bootsize:2048)
  563. ,(controllertypestr:'ATMEGA256RFR2';controllerunitstr:'ATMEGA256RFR2';cputype:cpu_avr6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:512;sramsize:32768;eeprombase:0;eepromsize:8192;bootbase:253952;bootsize:8192)
  564. ,(controllertypestr:'ATMEGA324A';controllerunitstr:'ATMEGA324A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  565. ,(controllertypestr:'ATMEGA324P';controllerunitstr:'ATMEGA324P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  566. ,(controllertypestr:'ATMEGA324PA';controllerunitstr:'ATMEGA324PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  567. ,(controllertypestr:'ATMEGA324PB';controllerunitstr:'ATMEGA324PB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  568. ,(controllertypestr:'ATMEGA325';controllerunitstr:'ATMEGA325';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  569. ,(controllertypestr:'ATMEGA325A';controllerunitstr:'ATMEGA325A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  570. ,(controllertypestr:'ATMEGA325P';controllerunitstr:'ATMEGA325P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  571. ,(controllertypestr:'ATMEGA325PA';controllerunitstr:'ATMEGA325PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  572. ,(controllertypestr:'ATMEGA328';controllerunitstr:'ATMEGA328';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  573. ,(controllertypestr:'ATMEGA328P';controllerunitstr:'ATMEGA328P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  574. ,(controllertypestr:'ATMEGA328PB';controllerunitstr:'ATMEGA328PB';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  575. ,(controllertypestr:'ATMEGA329';controllerunitstr:'ATMEGA329';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  576. ,(controllertypestr:'ATMEGA329A';controllerunitstr:'ATMEGA329A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  577. ,(controllertypestr:'ATMEGA329P';controllerunitstr:'ATMEGA329P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  578. ,(controllertypestr:'ATMEGA329PA';controllerunitstr:'ATMEGA329PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  579. ,(controllertypestr:'ATMEGA406';controllerunitstr:'ATMEGA406';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:40960;srambase:256;sramsize:2048;eeprombase:0;eepromsize:512;bootbase:36864;bootsize:4096)
  580. ,(controllertypestr:'ATMEGA640';controllerunitstr:'ATMEGA640';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:512;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:57344;bootsize:8192)
  581. ,(controllertypestr:'ATMEGA644';controllerunitstr:'ATMEGA644';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  582. ,(controllertypestr:'ATMEGA644A';controllerunitstr:'ATMEGA644A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  583. ,(controllertypestr:'ATMEGA644P';controllerunitstr:'ATMEGA644P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  584. ,(controllertypestr:'ATMEGA644PA';controllerunitstr:'ATMEGA644PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  585. ,(controllertypestr:'ATMEGA644RFR2';controllerunitstr:'ATMEGA644RFR2';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:512;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  586. ,(controllertypestr:'ATMEGA645';controllerunitstr:'ATMEGA645';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  587. ,(controllertypestr:'ATMEGA645A';controllerunitstr:'ATMEGA645A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  588. ,(controllertypestr:'ATMEGA645P';controllerunitstr:'ATMEGA645P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  589. ,(controllertypestr:'ATMEGA649';controllerunitstr:'ATMEGA649';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  590. ,(controllertypestr:'ATMEGA649A';controllerunitstr:'ATMEGA649A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  591. ,(controllertypestr:'ATMEGA649P';controllerunitstr:'ATMEGA649P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  592. ,(controllertypestr:'ATMEGA808';controllerunitstr:'ATMEGA808';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:256)
  593. ,(controllertypestr:'ATMEGA809';controllerunitstr:'ATMEGA809';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:256)
  594. ,(controllertypestr:'ATMEGA1280';controllerunitstr:'ATMEGA1280';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:512;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  595. ,(controllertypestr:'ATMEGA1281';controllerunitstr:'ATMEGA1281';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:512;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  596. ,(controllertypestr:'ATMEGA1284';controllerunitstr:'ATMEGA1284';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  597. ,(controllertypestr:'ATMEGA1284P';controllerunitstr:'ATMEGA1284P';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:256;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  598. ,(controllertypestr:'ATMEGA1284RFR2';controllerunitstr:'ATMEGA1284RFR2';cputype:cpu_avr51;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:512;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:122880;bootsize:8192)
  599. ,(controllertypestr:'ATMEGA1608';controllerunitstr:'ATMEGA1608';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  600. ,(controllertypestr:'ATMEGA1609';controllerunitstr:'ATMEGA1609';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  601. ,(controllertypestr:'ATMEGA2560';controllerunitstr:'ATMEGA2560';cputype:cpu_avr6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:512;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:253952;bootsize:8192)
  602. ,(controllertypestr:'ATMEGA2561';controllerunitstr:'ATMEGA2561';cputype:cpu_avr6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:512;sramsize:8192;eeprombase:0;eepromsize:4096;bootbase:253952;bootsize:8192)
  603. ,(controllertypestr:'ATMEGA2564RFR2';controllerunitstr:'ATMEGA2564RFR2';cputype:cpu_avr6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:512;sramsize:32768;eeprombase:0;eepromsize:8192;bootbase:253952;bootsize:8192)
  604. ,(controllertypestr:'ATMEGA3208';controllerunitstr:'ATMEGA3208';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:12288;sramsize:4096;eeprombase:5120;eepromsize:256)
  605. ,(controllertypestr:'ATMEGA3209';controllerunitstr:'ATMEGA3209';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:12288;sramsize:4096;eeprombase:5120;eepromsize:256)
  606. ,(controllertypestr:'ATMEGA3250';controllerunitstr:'ATMEGA3250';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  607. ,(controllertypestr:'ATMEGA3250A';controllerunitstr:'ATMEGA3250A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  608. ,(controllertypestr:'ATMEGA3250P';controllerunitstr:'ATMEGA3250P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  609. ,(controllertypestr:'ATMEGA3250PA';controllerunitstr:'ATMEGA3250PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  610. ,(controllertypestr:'ATMEGA3290';controllerunitstr:'ATMEGA3290';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  611. ,(controllertypestr:'ATMEGA3290A';controllerunitstr:'ATMEGA3290A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  612. ,(controllertypestr:'ATMEGA3290P';controllerunitstr:'ATMEGA3290P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  613. ,(controllertypestr:'ATMEGA3290PA';controllerunitstr:'ATMEGA3290PA';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:256;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:28672;bootsize:4096)
  614. ,(controllertypestr:'ATMEGA4808';controllerunitstr:'ATMEGA4808';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:49152;srambase:10240;sramsize:6144;eeprombase:5120;eepromsize:256)
  615. ,(controllertypestr:'ATMEGA4809';controllerunitstr:'ATMEGA4809';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:49152;srambase:10240;sramsize:6144;eeprombase:5120;eepromsize:256)
  616. ,(controllertypestr:'ATMEGA6450';controllerunitstr:'ATMEGA6450';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  617. ,(controllertypestr:'ATMEGA6450A';controllerunitstr:'ATMEGA6450A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  618. ,(controllertypestr:'ATMEGA6450P';controllerunitstr:'ATMEGA6450P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  619. ,(controllertypestr:'ATMEGA6490';controllerunitstr:'ATMEGA6490';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  620. ,(controllertypestr:'ATMEGA6490A';controllerunitstr:'ATMEGA6490A';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  621. ,(controllertypestr:'ATMEGA6490P';controllerunitstr:'ATMEGA6490P';cputype:cpu_avr5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:256;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:57344;bootsize:8192)
  622. ,(controllertypestr:'ATMEGA8515';controllerunitstr:'ATMEGA8515';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  623. ,(controllertypestr:'ATMEGA8535';controllerunitstr:'ATMEGA8535';cputype:cpu_avr4;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512;bootbase:6144;bootsize:2048)
  624. ,(controllertypestr:'ATTINY4';controllerunitstr:'ATTINY4';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:512;srambase:64;sramsize:32;eeprombase:0;eepromsize:0)
  625. ,(controllertypestr:'ATTINY5';controllerunitstr:'ATTINY5';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:512;srambase:64;sramsize:32;eeprombase:0;eepromsize:0)
  626. ,(controllertypestr:'ATTINY9';controllerunitstr:'ATTINY9';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:64;sramsize:32;eeprombase:0;eepromsize:0)
  627. ,(controllertypestr:'ATTINY10';controllerunitstr:'ATTINY10';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:64;sramsize:32;eeprombase:0;eepromsize:0)
  628. ,(controllertypestr:'ATTINY11';controllerunitstr:'ATTINY11';cputype:cpu_avr1;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:0;sramsize:0;eeprombase:0;eepromsize:0)
  629. ,(controllertypestr:'ATTINY12';controllerunitstr:'ATTINY12';cputype:cpu_avr1;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:0;sramsize:0;eeprombase:0;eepromsize:64)
  630. ,(controllertypestr:'ATTINY13';controllerunitstr:'ATTINY13';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:96;sramsize:64;eeprombase:0;eepromsize:64)
  631. ,(controllertypestr:'ATTINY13A';controllerunitstr:'ATTINY13A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:96;sramsize:64;eeprombase:0;eepromsize:64)
  632. ,(controllertypestr:'ATTINY15';controllerunitstr:'ATTINY15';cputype:cpu_avr1;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:0;sramsize:0;eeprombase:0;eepromsize:64)
  633. ,(controllertypestr:'ATTINY20';controllerunitstr:'ATTINY20';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:64;sramsize:128;eeprombase:0;eepromsize:0)
  634. ,(controllertypestr:'ATTINY24';controllerunitstr:'ATTINY24';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  635. ,(controllertypestr:'ATTINY24A';controllerunitstr:'ATTINY24A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  636. ,(controllertypestr:'ATTINY25';controllerunitstr:'ATTINY25';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  637. ,(controllertypestr:'ATTINY26';controllerunitstr:'ATTINY26';cputype:cpu_avr2;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  638. ,(controllertypestr:'ATTINY28';controllerunitstr:'ATTINY28';cputype:cpu_avr1;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:0;sramsize:0;eeprombase:0;eepromsize:0)
  639. ,(controllertypestr:'ATTINY40';controllerunitstr:'ATTINY40';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:64;sramsize:256;eeprombase:0;eepromsize:0)
  640. ,(controllertypestr:'ATTINY43U';controllerunitstr:'ATTINY43U';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:64)
  641. ,(controllertypestr:'ATTINY44';controllerunitstr:'ATTINY44';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:256)
  642. ,(controllertypestr:'ATTINY44A';controllerunitstr:'ATTINY44A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:256)
  643. ,(controllertypestr:'ATTINY45';controllerunitstr:'ATTINY45';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:256)
  644. ,(controllertypestr:'ATTINY48';controllerunitstr:'ATTINY48';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:256;eeprombase:0;eepromsize:64)
  645. ,(controllertypestr:'ATTINY84';controllerunitstr:'ATTINY84';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512)
  646. ,(controllertypestr:'ATTINY84A';controllerunitstr:'ATTINY84A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512)
  647. ,(controllertypestr:'ATTINY85';controllerunitstr:'ATTINY85';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512)
  648. ,(controllertypestr:'ATTINY87';controllerunitstr:'ATTINY87';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512)
  649. ,(controllertypestr:'ATTINY88';controllerunitstr:'ATTINY88';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:64)
  650. ,(controllertypestr:'ATTINY102';controllerunitstr:'ATTINY102';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:64;sramsize:32;eeprombase:0;eepromsize:0)
  651. ,(controllertypestr:'ATTINY104';controllerunitstr:'ATTINY104';cputype:cpu_avrtiny;fputype:fpu_soft;flashbase:0;flashsize:1024;srambase:64;sramsize:32;eeprombase:0;eepromsize:0)
  652. ,(controllertypestr:'ATTINY167';controllerunitstr:'ATTINY167';cputype:cpu_avr35;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:512;eeprombase:0;eepromsize:512)
  653. ,(controllertypestr:'ATTINY202';controllerunitstr:'ATTINY202';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:16256;sramsize:128;eeprombase:5120;eepromsize:64)
  654. ,(controllertypestr:'ATTINY204';controllerunitstr:'ATTINY204';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:16256;sramsize:128;eeprombase:5120;eepromsize:64)
  655. ,(controllertypestr:'ATTINY212';controllerunitstr:'ATTINY212';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:16256;sramsize:128;eeprombase:5120;eepromsize:64)
  656. ,(controllertypestr:'ATTINY214';controllerunitstr:'ATTINY214';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:16256;sramsize:128;eeprombase:5120;eepromsize:64)
  657. ,(controllertypestr:'ATTINY261';controllerunitstr:'ATTINY261';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  658. ,(controllertypestr:'ATTINY261A';controllerunitstr:'ATTINY261A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  659. ,(controllertypestr:'ATTINY402';controllerunitstr:'ATTINY402';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  660. ,(controllertypestr:'ATTINY404';controllerunitstr:'ATTINY404';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  661. ,(controllertypestr:'ATTINY406';controllerunitstr:'ATTINY406';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  662. ,(controllertypestr:'ATTINY412';controllerunitstr:'ATTINY412';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  663. ,(controllertypestr:'ATTINY414';controllerunitstr:'ATTINY414';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  664. ,(controllertypestr:'ATTINY416';controllerunitstr:'ATTINY416';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  665. ,(controllertypestr:'ATTINY416AUTO';controllerunitstr:'ATTINY416AUTO';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  666. ,(controllertypestr:'ATTINY417';controllerunitstr:'ATTINY417';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:16128;sramsize:256;eeprombase:5120;eepromsize:128)
  667. ,(controllertypestr:'ATTINY424';controllerunitstr:'ATTINY424';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  668. ,(controllertypestr:'ATTINY426';controllerunitstr:'ATTINY426';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  669. ,(controllertypestr:'ATTINY427';controllerunitstr:'ATTINY427';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  670. ,(controllertypestr:'ATTINY441';controllerunitstr:'ATTINY441';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:256;sramsize:256;eeprombase:0;eepromsize:256)
  671. ,(controllertypestr:'ATTINY461';controllerunitstr:'ATTINY461';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:256)
  672. ,(controllertypestr:'ATTINY461A';controllerunitstr:'ATTINY461A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:256)
  673. ,(controllertypestr:'ATTINY804';controllerunitstr:'ATTINY804';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  674. ,(controllertypestr:'ATTINY806';controllerunitstr:'ATTINY806';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  675. ,(controllertypestr:'ATTINY807';controllerunitstr:'ATTINY807';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  676. ,(controllertypestr:'ATTINY814';controllerunitstr:'ATTINY814';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  677. ,(controllertypestr:'ATTINY816';controllerunitstr:'ATTINY816';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  678. ,(controllertypestr:'ATTINY817';controllerunitstr:'ATTINY817';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15872;sramsize:512;eeprombase:5120;eepromsize:128)
  679. ,(controllertypestr:'ATTINY824';controllerunitstr:'ATTINY824';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:128)
  680. ,(controllertypestr:'ATTINY826';controllerunitstr:'ATTINY826';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:128)
  681. ,(controllertypestr:'ATTINY827';controllerunitstr:'ATTINY827';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:128)
  682. ,(controllertypestr:'ATTINY828';controllerunitstr:'ATTINY828';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:256;bootbase:6144;bootsize:2048)
  683. ,(controllertypestr:'ATTINY841';controllerunitstr:'ATTINY841';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:256;sramsize:512;eeprombase:0;eepromsize:512)
  684. ,(controllertypestr:'ATTINY861';controllerunitstr:'ATTINY861';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512)
  685. ,(controllertypestr:'ATTINY861A';controllerunitstr:'ATTINY861A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:96;sramsize:512;eeprombase:0;eepromsize:512)
  686. ,(controllertypestr:'ATTINY1604';controllerunitstr:'ATTINY1604';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:256)
  687. ,(controllertypestr:'ATTINY1606';controllerunitstr:'ATTINY1606';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:256)
  688. ,(controllertypestr:'ATTINY1607';controllerunitstr:'ATTINY1607';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:15360;sramsize:1024;eeprombase:5120;eepromsize:256)
  689. ,(controllertypestr:'ATTINY1614';controllerunitstr:'ATTINY1614';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  690. ,(controllertypestr:'ATTINY1616';controllerunitstr:'ATTINY1616';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  691. ,(controllertypestr:'ATTINY1617';controllerunitstr:'ATTINY1617';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  692. ,(controllertypestr:'ATTINY1624';controllerunitstr:'ATTINY1624';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  693. ,(controllertypestr:'ATTINY1626';controllerunitstr:'ATTINY1626';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  694. ,(controllertypestr:'ATTINY1627';controllerunitstr:'ATTINY1627';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  695. ,(controllertypestr:'ATTINY1634';controllerunitstr:'ATTINY1634';cputype:cpu_avr35;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:256;sramsize:1024;eeprombase:0;eepromsize:256)
  696. ,(controllertypestr:'ATTINY2313';controllerunitstr:'ATTINY2313';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  697. ,(controllertypestr:'ATTINY2313A';controllerunitstr:'ATTINY2313A';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:2048;srambase:96;sramsize:128;eeprombase:0;eepromsize:128)
  698. ,(controllertypestr:'ATTINY3216';controllerunitstr:'ATTINY3216';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  699. ,(controllertypestr:'ATTINY3217';controllerunitstr:'ATTINY3217';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:14336;sramsize:2048;eeprombase:5120;eepromsize:256)
  700. ,(controllertypestr:'ATTINY3224';controllerunitstr:'ATTINY3224';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:13312;sramsize:3072;eeprombase:5120;eepromsize:256)
  701. ,(controllertypestr:'ATTINY3226';controllerunitstr:'ATTINY3226';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:13312;sramsize:3072;eeprombase:5120;eepromsize:256)
  702. ,(controllertypestr:'ATTINY3227';controllerunitstr:'ATTINY3227';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:13312;sramsize:3072;eeprombase:5120;eepromsize:256)
  703. ,(controllertypestr:'ATTINY4313';controllerunitstr:'ATTINY4313';cputype:cpu_avr25;fputype:fpu_soft;flashbase:0;flashsize:4096;srambase:96;sramsize:256;eeprombase:0;eepromsize:256)
  704. ,(controllertypestr:'ATXMEGA8E5';controllerunitstr:'ATXMEGA8E5';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:8192;srambase:8192;sramsize:1024;eeprombase:0;eepromsize:512;bootbase:8192;bootsize:2048)
  705. ,(controllertypestr:'ATXMEGA16A4';controllerunitstr:'ATXMEGA16A4';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:8192;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:16384;bootsize:4096)
  706. ,(controllertypestr:'ATXMEGA16A4U';controllerunitstr:'ATXMEGA16A4U';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:8192;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:16384;bootsize:4096)
  707. ,(controllertypestr:'ATXMEGA16C4';controllerunitstr:'ATXMEGA16C4';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:8192;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:16384;bootsize:4096)
  708. ,(controllertypestr:'ATXMEGA16D4';controllerunitstr:'ATXMEGA16D4';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:8192;sramsize:2048;eeprombase:0;eepromsize:1024;bootbase:16384;bootsize:4096)
  709. ,(controllertypestr:'ATXMEGA16E5';controllerunitstr:'ATXMEGA16E5';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:8192;sramsize:2048;eeprombase:0;eepromsize:512;bootbase:16384;bootsize:4096)
  710. ,(controllertypestr:'ATXMEGA32A4';controllerunitstr:'ATXMEGA32A4';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  711. ,(controllertypestr:'ATXMEGA32A4U';controllerunitstr:'ATXMEGA32A4U';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  712. ,(controllertypestr:'ATXMEGA32C3';controllerunitstr:'ATXMEGA32C3';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  713. ,(controllertypestr:'ATXMEGA32C4';controllerunitstr:'ATXMEGA32C4';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  714. ,(controllertypestr:'ATXMEGA32D3';controllerunitstr:'ATXMEGA32D3';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  715. ,(controllertypestr:'ATXMEGA32D4';controllerunitstr:'ATXMEGA32D4';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  716. ,(controllertypestr:'ATXMEGA32E5';controllerunitstr:'ATXMEGA32E5';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:1024;bootbase:32768;bootsize:4096)
  717. ,(controllertypestr:'ATXMEGA64A1';controllerunitstr:'ATXMEGA64A1';cputype:cpu_avrxmega5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  718. ,(controllertypestr:'ATXMEGA64A1U';controllerunitstr:'ATXMEGA64A1U';cputype:cpu_avrxmega5;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  719. ,(controllertypestr:'ATXMEGA64A3';controllerunitstr:'ATXMEGA64A3';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  720. ,(controllertypestr:'ATXMEGA64A3U';controllerunitstr:'ATXMEGA64A3U';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  721. ,(controllertypestr:'ATXMEGA64A4U';controllerunitstr:'ATXMEGA64A4U';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  722. ,(controllertypestr:'ATXMEGA64B1';controllerunitstr:'ATXMEGA64B1';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  723. ,(controllertypestr:'ATXMEGA64B3';controllerunitstr:'ATXMEGA64B3';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  724. ,(controllertypestr:'ATXMEGA64C3';controllerunitstr:'ATXMEGA64C3';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  725. ,(controllertypestr:'ATXMEGA64D3';controllerunitstr:'ATXMEGA64D3';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  726. ,(controllertypestr:'ATXMEGA64D4';controllerunitstr:'ATXMEGA64D4';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:8192;sramsize:4096;eeprombase:0;eepromsize:2048;bootbase:65536;bootsize:4096)
  727. ,(controllertypestr:'ATXMEGA128A1';controllerunitstr:'ATXMEGA128A1';cputype:cpu_avrxmega7;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  728. ,(controllertypestr:'ATXMEGA128A1U';controllerunitstr:'ATXMEGA128A1U';cputype:cpu_avrxmega7;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  729. ,(controllertypestr:'ATXMEGA128A3';controllerunitstr:'ATXMEGA128A3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  730. ,(controllertypestr:'ATXMEGA128A3U';controllerunitstr:'ATXMEGA128A3U';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  731. ,(controllertypestr:'ATXMEGA128A4U';controllerunitstr:'ATXMEGA128A4U';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)// Subarch modified to better match memory map
  732. ,(controllertypestr:'ATXMEGA128B1';controllerunitstr:'ATXMEGA128B1';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  733. ,(controllertypestr:'ATXMEGA128B3';controllerunitstr:'ATXMEGA128B3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  734. ,(controllertypestr:'ATXMEGA128C3';controllerunitstr:'ATXMEGA128C3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  735. ,(controllertypestr:'ATXMEGA128D3';controllerunitstr:'ATXMEGA128D3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  736. ,(controllertypestr:'ATXMEGA128D4';controllerunitstr:'ATXMEGA128D4';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:8192;sramsize:8192;eeprombase:0;eepromsize:2048;bootbase:131072;bootsize:8192)
  737. ,(controllertypestr:'ATXMEGA192A3';controllerunitstr:'ATXMEGA192A3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:196608;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:2048;bootbase:196608;bootsize:8192)
  738. ,(controllertypestr:'ATXMEGA192A3U';controllerunitstr:'ATXMEGA192A3U';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:196608;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:2048;bootbase:196608;bootsize:8192)
  739. ,(controllertypestr:'ATXMEGA192C3';controllerunitstr:'ATXMEGA192C3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:196608;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:2048;bootbase:196608;bootsize:8192)
  740. ,(controllertypestr:'ATXMEGA192D3';controllerunitstr:'ATXMEGA192D3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:196608;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:2048;bootbase:196608;bootsize:8192)
  741. ,(controllertypestr:'ATXMEGA256A3';controllerunitstr:'ATXMEGA256A3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:262144;bootsize:8192)
  742. ,(controllertypestr:'ATXMEGA256A3B';controllerunitstr:'ATXMEGA256A3B';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:262144;bootsize:8192)
  743. ,(controllertypestr:'ATXMEGA256A3BU';controllerunitstr:'ATXMEGA256A3BU';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:262144;bootsize:8192)
  744. ,(controllertypestr:'ATXMEGA256A3U';controllerunitstr:'ATXMEGA256A3U';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:262144;bootsize:8192)
  745. ,(controllertypestr:'ATXMEGA256C3';controllerunitstr:'ATXMEGA256C3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:262144;bootsize:8192)
  746. ,(controllertypestr:'ATXMEGA256D3';controllerunitstr:'ATXMEGA256D3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:8192;sramsize:16384;eeprombase:0;eepromsize:4096;bootbase:262144;bootsize:8192)
  747. ,(controllertypestr:'ATXMEGA384C3';controllerunitstr:'ATXMEGA384C3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:393216;srambase:8192;sramsize:32768;eeprombase:0;eepromsize:4096;bootbase:393216;bootsize:8192)
  748. ,(controllertypestr:'ATXMEGA384D3';controllerunitstr:'ATXMEGA384D3';cputype:cpu_avrxmega6;fputype:fpu_soft;flashbase:0;flashsize:393216;srambase:8192;sramsize:32768;eeprombase:0;eepromsize:4096;bootbase:393216;bootsize:8192)
  749. ,(controllertypestr:'AVR16DD14';controllerunitstr:'AVR16DD14';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  750. ,(controllertypestr:'AVR16DD20';controllerunitstr:'AVR16DD20';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  751. ,(controllertypestr:'AVR16DD28';controllerunitstr:'AVR16DD28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  752. ,(controllertypestr:'AVR16DD32';controllerunitstr:'AVR16DD32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  753. ,(controllertypestr:'AVR16DU14';controllerunitstr:'AVR16DU14';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  754. ,(controllertypestr:'AVR16DU20';controllerunitstr:'AVR16DU20';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  755. ,(controllertypestr:'AVR16DU28';controllerunitstr:'AVR16DU28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  756. ,(controllertypestr:'AVR16DU32';controllerunitstr:'AVR16DU32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:256)
  757. ,(controllertypestr:'AVR16EA28';controllerunitstr:'AVR16EA28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  758. ,(controllertypestr:'AVR16EA32';controllerunitstr:'AVR16EA32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  759. ,(controllertypestr:'AVR16EA48';controllerunitstr:'AVR16EA48';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  760. ,(controllertypestr:'AVR16EB14';controllerunitstr:'AVR16EB14';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  761. ,(controllertypestr:'AVR16EB20';controllerunitstr:'AVR16EB20';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  762. ,(controllertypestr:'AVR16EB28';controllerunitstr:'AVR16EB28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  763. ,(controllertypestr:'AVR16EB32';controllerunitstr:'AVR16EB32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:16384;srambase:30720;sramsize:2048;eeprombase:5120;eepromsize:512)
  764. ,(controllertypestr:'AVR32DA28';controllerunitstr:'AVR32DA28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  765. ,(controllertypestr:'AVR32DA28S';controllerunitstr:'AVR32DA28S';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  766. ,(controllertypestr:'AVR32DA32';controllerunitstr:'AVR32DA32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  767. ,(controllertypestr:'AVR32DA32S';controllerunitstr:'AVR32DA32S';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  768. ,(controllertypestr:'AVR32DA48';controllerunitstr:'AVR32DA48';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  769. ,(controllertypestr:'AVR32DA48S';controllerunitstr:'AVR32DA48S';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  770. ,(controllertypestr:'AVR32DB28';controllerunitstr:'AVR32DB28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  771. ,(controllertypestr:'AVR32DB32';controllerunitstr:'AVR32DB32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  772. ,(controllertypestr:'AVR32DB48';controllerunitstr:'AVR32DB48';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  773. ,(controllertypestr:'AVR32DD14';controllerunitstr:'AVR32DD14';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  774. ,(controllertypestr:'AVR32DD20';controllerunitstr:'AVR32DD20';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  775. ,(controllertypestr:'AVR32DD28';controllerunitstr:'AVR32DD28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  776. ,(controllertypestr:'AVR32DD32';controllerunitstr:'AVR32DD32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  777. ,(controllertypestr:'AVR32DU14';controllerunitstr:'AVR32DU14';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  778. ,(controllertypestr:'AVR32DU20';controllerunitstr:'AVR32DU20';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  779. ,(controllertypestr:'AVR32DU28';controllerunitstr:'AVR32DU28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  780. ,(controllertypestr:'AVR32DU32';controllerunitstr:'AVR32DU32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:256)
  781. ,(controllertypestr:'AVR32EA28';controllerunitstr:'AVR32EA28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  782. ,(controllertypestr:'AVR32EA32';controllerunitstr:'AVR32EA32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  783. ,(controllertypestr:'AVR32EA48';controllerunitstr:'AVR32EA48';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:28672;sramsize:4096;eeprombase:5120;eepromsize:512)
  784. ,(controllertypestr:'AVR32EB14';controllerunitstr:'AVR32EB14';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:29696;sramsize:3072;eeprombase:5120;eepromsize:512)
  785. ,(controllertypestr:'AVR32EB20';controllerunitstr:'AVR32EB20';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:29696;sramsize:3072;eeprombase:5120;eepromsize:512)
  786. ,(controllertypestr:'AVR32EB28';controllerunitstr:'AVR32EB28';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:29696;sramsize:3072;eeprombase:5120;eepromsize:512)
  787. ,(controllertypestr:'AVR32EB32';controllerunitstr:'AVR32EB32';cputype:cpu_avrxmega3;fputype:fpu_soft;flashbase:0;flashsize:32768;srambase:29696;sramsize:3072;eeprombase:5120;eepromsize:512)
  788. ,(controllertypestr:'AVR64DA28';controllerunitstr:'AVR64DA28';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  789. ,(controllertypestr:'AVR64DA28S';controllerunitstr:'AVR64DA28S';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  790. ,(controllertypestr:'AVR64DA32';controllerunitstr:'AVR64DA32';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  791. ,(controllertypestr:'AVR64DA32S';controllerunitstr:'AVR64DA32S';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  792. ,(controllertypestr:'AVR64DA48';controllerunitstr:'AVR64DA48';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  793. ,(controllertypestr:'AVR64DA48S';controllerunitstr:'AVR64DA48S';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  794. ,(controllertypestr:'AVR64DA64';controllerunitstr:'AVR64DA64';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  795. ,(controllertypestr:'AVR64DA64S';controllerunitstr:'AVR64DA64S';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  796. ,(controllertypestr:'AVR64DB28';controllerunitstr:'AVR64DB28';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  797. ,(controllertypestr:'AVR64DB32';controllerunitstr:'AVR64DB32';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  798. ,(controllertypestr:'AVR64DB48';controllerunitstr:'AVR64DB48';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  799. ,(controllertypestr:'AVR64DB64';controllerunitstr:'AVR64DB64';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:512)
  800. ,(controllertypestr:'AVR64DD14';controllerunitstr:'AVR64DD14';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:256)
  801. ,(controllertypestr:'AVR64DD20';controllerunitstr:'AVR64DD20';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:256)
  802. ,(controllertypestr:'AVR64DD28';controllerunitstr:'AVR64DD28';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:256)
  803. ,(controllertypestr:'AVR64DD32';controllerunitstr:'AVR64DD32';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:256)
  804. ,(controllertypestr:'AVR64DU28';controllerunitstr:'AVR64DU28';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:256)
  805. ,(controllertypestr:'AVR64DU32';controllerunitstr:'AVR64DU32';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:24576;sramsize:8192;eeprombase:5120;eepromsize:256)
  806. ,(controllertypestr:'AVR64EA28';controllerunitstr:'AVR64EA28';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:26624;sramsize:6144;eeprombase:5120;eepromsize:512)
  807. ,(controllertypestr:'AVR64EA32';controllerunitstr:'AVR64EA32';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:26624;sramsize:6144;eeprombase:5120;eepromsize:512)
  808. ,(controllertypestr:'AVR64EA48';controllerunitstr:'AVR64EA48';cputype:cpu_avrxmega2;fputype:fpu_soft;flashbase:0;flashsize:65536;srambase:26624;sramsize:6144;eeprombase:5120;eepromsize:512)
  809. ,(controllertypestr:'AVR128DA28';controllerunitstr:'AVR128DA28';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  810. ,(controllertypestr:'AVR128DA28S';controllerunitstr:'AVR128DA28S';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  811. ,(controllertypestr:'AVR128DA32';controllerunitstr:'AVR128DA32';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  812. ,(controllertypestr:'AVR128DA32S';controllerunitstr:'AVR128DA32S';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  813. ,(controllertypestr:'AVR128DA48';controllerunitstr:'AVR128DA48';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  814. ,(controllertypestr:'AVR128DA48S';controllerunitstr:'AVR128DA48S';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  815. ,(controllertypestr:'AVR128DA64';controllerunitstr:'AVR128DA64';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  816. ,(controllertypestr:'AVR128DA64S';controllerunitstr:'AVR128DA64S';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  817. ,(controllertypestr:'AVR128DB28';controllerunitstr:'AVR128DB28';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  818. ,(controllertypestr:'AVR128DB32';controllerunitstr:'AVR128DB32';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  819. ,(controllertypestr:'AVR128DB48';controllerunitstr:'AVR128DB48';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  820. ,(controllertypestr:'AVR128DB64';controllerunitstr:'AVR128DB64';cputype:cpu_avrxmega4;fputype:fpu_soft;flashbase:0;flashsize:131072;srambase:16384;sramsize:16384;eeprombase:5120;eepromsize:512)
  821. // Controller board aliases
  822. ,(controllertypestr:'ARDUINOLEONARDO'; controllerunitstr:'ATMEGA32U4'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2560; eeprombase:0; eepromsize:1024;bootbase:28672;bootsize:4096)
  823. ,(controllertypestr:'ARDUINOMEGA'; controllerunitstr:'ATMEGA2560'; cputype: cpu_avr6; fputype:fpu_soft; flashbase:0; flashsize:262144; srambase:512; sramsize:8192; eeprombase:0; eepromsize:4096;bootbase:253952;bootsize:8192)
  824. ,(controllertypestr:'ARDUINOMICRO'; controllerunitstr:'ATMEGA32U4'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2560; eeprombase:0; eepromsize:1024;bootbase:28672;bootsize:4096)
  825. ,(controllertypestr:'ARDUINONANO'; controllerunitstr:'ATMEGA328P'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2048; eeprombase:0; eepromsize:1024;bootbase:28672;bootsize:4096)
  826. ,(controllertypestr:'ARDUINONANOEVERY'; controllerunitstr:'ATMEGA4809'; cputype: cpu_avrxmega3; fputype:fpu_soft; flashbase:0; flashsize:49152; srambase:10240; sramsize:6144; eeprombase:5120; eepromsize:256)
  827. ,(controllertypestr:'ARDUINOUNO'; controllerunitstr:'ATMEGA328P'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2048; eeprombase:0; eepromsize:1024;bootbase:28672;bootsize:4096)
  828. ,(controllertypestr:'ATMEGA256RFR2XPRO';controllerunitstr:'ATMEGA256RFR2';cputype:cpu_avr6;fputype:fpu_soft;flashbase:0;flashsize:262144;srambase:512;sramsize:32768;eeprombase:0;eepromsize:8192;bootbase:253952;bootsize:8192)
  829. ,(controllertypestr:'ATMEGA324PBXPRO'; controllerunitstr:'ATMEGA324PB'; cputype: cpu_avr5; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:256; sramsize:2048; eeprombase:0; eepromsize:1024;bootbase:28672;bootsize:4096)
  830. ,(controllertypestr:'ATMEGA1284PXPLAINED'; controllerunitstr:'ATMEGA1284P'; cputype: cpu_avr51; fputype:fpu_soft; flashbase:0; flashsize:131072; srambase:256; sramsize:16384; eeprombase:0; eepromsize:4096;bootbase:122880;bootsize:8192)
  831. ,(controllertypestr:'ATMEGA4809XPRO'; controllerunitstr:'ATMEGA4809'; cputype: cpu_avrxmega3; fputype:fpu_soft; flashbase:0; flashsize:49152; srambase:10240; sramsize:6144; eeprombase:5120; eepromsize:256)
  832. ,(controllertypestr:'ATTINY817XPRO'; controllerunitstr:'ATTINY817'; cputype: cpu_avrxmega3; fputype:fpu_soft; flashbase:0; flashsize:8192; srambase:15872; sramsize:512; eeprombase:5120; eepromsize:128)
  833. ,(controllertypestr:'ATTINY3217XPRO'; controllerunitstr:'ATTINY3217'; cputype: cpu_avrxmega3; fputype:fpu_soft; flashbase:0; flashsize:32768; srambase:14336; sramsize:2048; eeprombase:5120; eepromsize:256)
  834. );
  835. { Supported optimizations, only used for information }
  836. supported_optimizerswitches = genericlevel1optimizerswitches+
  837. genericlevel2optimizerswitches+
  838. genericlevel3optimizerswitches-
  839. { no need to write info about those }
  840. [cs_opt_level1,cs_opt_level2,cs_opt_level3]+
  841. [{$ifndef llvm}cs_opt_regvar,{$endif}cs_opt_loopunroll,cs_opt_tailrecursion,
  842. cs_opt_stackframe,cs_opt_nodecse,cs_opt_reorder_fields,cs_opt_fastmath];
  843. level1optimizerswitches = genericlevel1optimizerswitches;
  844. level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches +
  845. [{$ifndef llvm}cs_opt_regvar,{$endif}cs_opt_stackframe,cs_opt_tailrecursion];
  846. level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches;
  847. level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];
  848. type
  849. tcpuflags =
  850. (CPUAVR_HAS_JMP_CALL, // Jump and call instructions are available
  851. CPUAVR_HAS_ADIW, // Add immediate word instruction is available
  852. CPUAVR_HAS_MOVW, // Move word instruction is available
  853. CPUAVR_HAS_LPMX, // lpm Rn, Z+ instruction is available
  854. CPUAVR_HAS_MUL, // Multiply instruction is available
  855. CPUAVR_HAS_RAMPZ, // Special registers RAMPD/X/Y/Z are available
  856. CPUAVR_HAS_ELPM, // elpm Rn, Z instruction is available
  857. CPUAVR_HAS_ELPMX, // elpm Rn, Z+ instruction is available
  858. CPUAVR_2_BYTE_PC, // 2 byte PC is used (for devices with <= 128 kB flash)
  859. CPUAVR_3_BYTE_PC, // 3 byte PC is used (for devices with > 128 kB flash), implies EIND register
  860. CPUAVR_16_REGS, // avrtiny device with only 16 core registers
  861. CPUAVR_NOMEMMAPPED_REGS // Core registers not accesible in data space
  862. );
  863. const
  864. cpu_capabilities : array[tcputype] of set of tcpuflags =
  865. ( { cpu_none } [],
  866. { cpu_avrtiny } [CPUAVR_16_REGS,CPUAVR_2_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS],
  867. { cpu_avr1 } [CPUAVR_2_BYTE_PC],
  868. { cpu_avr2 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_LPMX,CPUAVR_2_BYTE_PC],
  869. { cpu_avr25 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_2_BYTE_PC],
  870. { cpu_avr3 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_2_BYTE_PC],
  871. { cpu_avr31 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_2_BYTE_PC],
  872. { cpu_avr35 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_2_BYTE_PC],
  873. { cpu_avr4 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_2_BYTE_PC],
  874. { cpu_avr5 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_2_BYTE_PC],
  875. { cpu_avr51 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_HAS_ELPMX,CPUAVR_2_BYTE_PC],
  876. { cpu_avr6 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_HAS_ELPMX,CPUAVR_3_BYTE_PC],
  877. { cpu_avrxmega2 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_2_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS],
  878. { cpu_avrxmega3 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_2_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS],
  879. { cpu_avrxmega4 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_2_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_HAS_ELPMX],
  880. { cpu_avrxmega5 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_2_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_HAS_ELPMX],
  881. { cpu_avrxmega6 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_3_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_HAS_ELPMX],
  882. { cpu_avrxmega7 } [CPUAVR_HAS_ADIW,CPUAVR_HAS_JMP_CALL,CPUAVR_HAS_MOVW,CPUAVR_HAS_LPMX,CPUAVR_HAS_MUL,CPUAVR_3_BYTE_PC,CPUAVR_NOMEMMAPPED_REGS,CPUAVR_HAS_RAMPZ,CPUAVR_HAS_ELPM,CPUAVR_HAS_ELPMX]
  883. );
  884. Implementation
  885. end.