1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880
|
#!/usr/bin/perl -w
=back
This script generates a C header file that maps the target device (as
indicated via the sdcc generated -Dpic16cxxx or -Dpic12fxxx or -Dpic16fxxx
macro) to its device family and the device families to their respective
style of ADC, USART and SSP programming for use in the SDCC PIC14 I/O library.
Copyright 2010 Raphael Neider <rneider AT web.de>
PIC14 port:
Copyright 2012-2014 Molnar Karoly <molnarkaroly@users.sf.net>
This file is part of SDCC.
SDCC is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 2 of the License, or (at your
option) any later version.
SDCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with SDCC. If not, see <http://www.gnu.org/licenses/>.
Usage: perl pic16fam-h-gen.pl [-i|-p|-h]
This will create pic16fam.h.gen in your current directory.
Check sanity of the file and move it to .../include/pic14/pic16fam.h.
If you assigned new I/O styles, implement them in
.../include/pic14/{adc,i2c,pwm,spi,usart}.h and
.../lib/pic14/libio/*/*.c
$Id: pic16fam-h-gen.pl 9072 2014-09-17 14:00:11Z molnarkaroly $
=cut
use strict;
use warnings;
no if $] >= 5.018, warnings => "experimental::smartmatch"; # perl 5.16
use 5.10.1;
use feature 'switch'; # Starting from 5.10.1.
use constant FALSE => 0;
use constant TRUE => 1;
use constant SECT_NONE => 0;
use constant SECT_REG => 1;
use constant SECT_ENH => 2;
use constant SECT_PER => 3;
my $head = '__SDCC_PIC';
my $gen_ignore_lists = FALSE;
my $gen_mcu_lists = FALSE;
my @regular_mcu = ();
my @enhanced_mcu = ();
my %peripherals_by_names = ();
my $actual_peripheral;
my $section;
my $line;
my $tail = '.gen';
my $update = 'Please update your pic14/pic16fam.h manually and/or inform the maintainer.';
my $fname;
#-------------------------------------------------------------------------------
sub align($$)
{
my $Text = $_[0];
my $al = $_[1] - length($Text);
# One space will surely becomes behind it.
$al = 1 if ($al < 1);
return ($Text . (' ' x $al));
}
#-------------------------------------------------------------------------------
sub find_in_supported($$)
{
my ($Hash, $Name) = @_;
for (keys %{$Hash})
{
return TRUE if ($_ > 0 && $Name ~~ @{${$Hash}{$_}});
}
return FALSE;
}
#-------------------------------------------------------------------------------
=back
This procedure give a list (id=0) to the peripherals, in which are
included the not supported devices.
=cut
sub create_ignore_lists()
{
my @full_mcu_list = (@regular_mcu, @enhanced_mcu);
foreach (keys %peripherals_by_names)
{
my $peri = $peripherals_by_names{$_};
my @ignore_list = ();
foreach (@full_mcu_list)
{
push(@ignore_list, $_) if (! find_in_supported($peri, $_) && ! ($_ ~~ @ignore_list));
}
@{${$peri}{0}} = @ignore_list;
}
}
#-------------------------------------------------------------------------------
sub smartCompare($$)
{
my ($Str1, $Str2) = @_;
if (${$Str1} =~ /^\d/o && ${$Str2} =~ /^\d/o)
{
# $Str1 number and $Str2 number
return (int(${$Str1}) <=> int(${$Str2}));
}
return (${$Str1} cmp ${$Str2});
}
#-------------------------------------------------------------------------------
sub smartSort
{
my @a_s = ($a =~ /(\d+|\D+)/go);
my @b_s = ($b =~ /(\d+|\D+)/go);
my ($i, $k, $end, $ret);
$i = scalar(@a_s);
$k = scalar(@b_s);
if ($i < $k)
{
$end = $i;
$ret = -1;
}
elsif ($i == $k)
{
$end = $i;
$ret = 0;
}
else
{
$end = $k;
$ret = 1;
}
for ($i = 0; $i < $end; ++$i)
{
$k = smartCompare(\$a_s[$i], \$b_s[$i]);
return $k if ($k != 0);
}
return $ret;
}
#-------------------------------------------------------------------------------
sub collector($)
{
my $id;
my @fields = split(':', $line);
die "Invalid record: >$line<" if (@fields != 2);
$id = int($fields[0]);
push(@{${$_[0]}{$id}}, map { uc($_); } split(',', $fields[1])) if ($id > 0);
}
#-------------------------------------------------------------------------------
=back
Creates the ignore files of peripherals from the ignore lists.
=cut
sub generate_ignore_files()
{
foreach (keys %peripherals_by_names)
{
$fname = "$_.ignore$tail";
open(FH, '>', $fname) or die "Could not open: \"$fname\"";
print FH join("\n", map { lc($_); } sort smartSort @{${$peripherals_by_names{$_}}{0}}) . "\n";
close(FH);
}
}
#-------------------------------------------------------------------------------
=back
Creates the lists of MCUs.
=cut
sub generate_mcu_files()
{
$fname = "mcu.regular$tail";
open(FH, '>', $fname) or die "Could not open: \"$fname\"";
print FH join("\n", map { lc($_); } sort smartSort @regular_mcu) . "\n";
close(FH);
$fname = "mcu.enhanced$tail";
open(FH, '>', $fname) or die "Could not open: \"$fname\"";
print FH join("\n", map { lc($_); } sort smartSort @enhanced_mcu) . "\n";
close(FH);
}
#-------------------------------------------------------------------------------
sub print_peripheral($)
{
my $Name = $_[0];
my $array = $peripherals_by_names{$_};
my $def = align("#define __SDCC_${Name}_STYLE", 30);
my $cpp;
print FH <<EOT
/*
* Define $Name style per device family.
*/
#undef __SDCC_${Name}_STYLE
EOT
;
$cpp = '#if ';
foreach (sort keys %{$array})
{
my $fams = "defined($head" . join(") || \\\n defined($head", sort smartSort @{$array->{$_}}) . ')';
print FH "$cpp$fams\n$def$_\n\n";
$cpp = '#elif ';
}
print FH <<EOT
#else
#warning No $Name style associated with the target device.
#warning $update
#endif
EOT
;
}
#-------------------------------------------------------------------------------
for (my $i = 0; $i < @ARGV; )
{
my $opt = $ARGV[$i++];
given ($opt)
{
when (/^-(i|-gen-ignore)$/o)
{
# This command creates the PERIPHERAL.ignore.gen files.
$gen_ignore_lists = TRUE;
}
when (/^-(p|-gen-processor-lists)$/o)
{
# This command creates the mcu.{enhanced,regular}.gen files.
$gen_mcu_lists = TRUE;
}
when (/^-(ip|pi)$/o)
{
# This command creates the PERIPHERAL.ignore.gen and
# the mcu.{enhanced,regular}.gen files.
$gen_ignore_lists = TRUE;
$gen_mcu_lists = TRUE;
}
when (/^-(h|-help)$/o)
{
print <<EOT
Usage: $0 [options]
Options are:
-i or --gen-ignore
This command creates the PERIPHERAL.ignore$tail files.
-p or --gen-processor-lists
This command creates the mcu.{enhanced,regular}$tail files.
-h or --help
This text.
EOT
;
exit(0);
}
} # given ($opt)
}
$section = SECT_NONE;
# While reading skips the blank or comment lines.
foreach (grep(! /^\s*$|^\s*#/o, <DATA>))
{
chomp;
s/\s*//go; # strip whitespace
$line = $_;
if ($line =~ /^SECTION=(\S+)$/o)
{
given ($1)
{
when ('REGULAR') { $section = SECT_REG; }
when ('ENHANCED') { $section = SECT_ENH; }
default
{
my $name = uc($1);
die "The $name peripheral already exist!" if (defined($peripherals_by_names{$name}));
$actual_peripheral = {};
$peripherals_by_names{$name} = $actual_peripheral;
$section = SECT_PER;
}
}
next;
}
given ($section)
{
when (SECT_REG)
{
push(@regular_mcu, map { uc($_); } split(',', $line));
}
when (SECT_ENH)
{
push(@enhanced_mcu, map { uc($_); } split(',', $line));
}
when (SECT_PER)
{
collector($actual_peripheral);
}
}
} # foreach (grep(! /^\s*$|^\s*#/o, <DATA>))
create_ignore_lists();
generate_ignore_files() if ($gen_ignore_lists);
generate_mcu_files() if ($gen_mcu_lists);
$fname = "pic16fam.h$tail";
open(FH, '>', $fname) or die "Could not open: \"$fname\"";
print FH <<EOT
/*
* pic16fam.h - PIC14 families
*
* This file is has been generated using $0 .
*/
#ifndef __SDCC_PIC16FAM_H__
#define __SDCC_PIC16FAM_H__ 1
/*
* Define device class.
*/
#undef __SDCC_PIC14_ENHANCED
EOT
;
my $memb = "defined($head" . join(") || \\\n defined($head", sort smartSort @enhanced_mcu) . ')';
print FH <<EOT
#if $memb
#define __SDCC_PIC14_ENHANCED 1
#endif
EOT
;
foreach (sort smartSort keys %peripherals_by_names)
{
print_peripheral($_);
}
print FH "#endif /* !__SDCC_PIC16FAM_H__ */\n";
close(FH);
__END__
################################################################################
#
# This list contains the names of the regular devices.
# (Of course only them which are the sdcc also know.)
#
SECTION=REGULAR
10f320,10f322,12f609,12f615,12f617,12f629,12f635,12f675,12f683,12f752
16c62,16c63a,16c65b,16c71,16c72,16c73b,16c74b,16c432,16c433,16c554
16c557,16c558,16c620,16c620a,16c621,16c621a,16c622,16c622a,16c710,16c711
16c715,16c717,16c745,16c765,16c770,16c771,16c773,16c774,16c781,16c782
16c925,16c926,16f72,16f73,16f74,16f76,16f77,16f84,16f84a,16f87
16f88,16f610,16f616,16f627,16f627a,16f628,16f628a,16f630,16f631,16f636
16f639,16f648a,16f676,16f677,16f684,16f685,16f687,16f688,16f689,16f690
16f707,16f716,16f720,16f721,16f722,16f722a,16f723,16f723a,16f724,16f726
16f727,16f737,16f747,16f753,16f767,16f777,16f785,16f818,16f819,16f870
16f871,16f872,16f873,16f873a,16f874,16f874a,16f876,16f876a,16f877,16f877a
16f882,16f883,16f884,16f886,16f887,16f913,16f914,16f916,16f917,16f946
16hv616,16hv753
################################################################################
#
# This list in turn exclusively contains the names of the enhanced devices.
# (Only them which are the sdcc also know.)
#
SECTION=ENHANCED
12f1501,12f1571,12f1572,12f1612,12f1822,12f1840,12lf1552,16f1454,16f1455,16f1458
16f1459,16f1503,16f1507,16f1508,16f1509,16f1512,16f1513,16f1516,16f1517,16f1518
16f1519,16f1526,16f1527,16f1613,16f1703,16f1704,16f1705,16f1707,16f1708,16f1709
16f1713,16f1716,16f1717,16f1718,16f1719,16f1782,16f1783,16f1784,16f1786,16f1787
16f1788,16f1789,16f1823,16f1824,16f1825,16f1826,16f1827,16f1828,16f1829,16f1847
16f1933,16f1934,16f1936,16f1937,16f1938,16f1939,16f1946,16f1947,16lf1554,16lf1559
16lf1704,16lf1708,16lf1902,16lf1903,16lf1904,16lf1906,16lf1907
################################################################################
#
# <id>:<head>{,<member>}
#
# Each line provides a colon separated list of
#
# * a numeric family name, derived from the first family member as follows:
#
# ADC : <num1>(c|f|hv|lf)<num2>.? -> printf("%u%04u1", <num1>, <num2>)
# CCP : <num1>(c|f|hv|lf)<num2>.? -> printf("%u%04u2", <num1>, <num2>)
# PWM : <num1>(c|f|hv|lf)<num2>.? -> printf("%u%04u3", <num1>, <num2>)
# I2C : <num1>(c|f|hv|lf)<num2>.? -> printf("%u%04u4", <num1>, <num2>)
# SPI : <num1>(c|f|hv|lf)<num2>.? -> printf("%u%04u5", <num1>, <num2>)
# USART : <num1>(c|f|hv|lf)<num2>.? -> printf("%u%04u6", <num1>, <num2>)
#
# * a comma-separated list of members of a device family.
#
# The rules basis of which members of a family belong together:
#
# a.) The connectors of peripheral are located on the same pin.
#
# b.) In the periphery - in context with other peripherals - should be
# used in the same way. (Pin relocation. Other peripheral to use
# the same pin? Peripheral initialization. ...)
#
# This data has been gathered manually from data sheets published by
# Microchip Technology Inc.
#
SECTION=ADC
10032001:10f320,10f322
12061501:12f615
12061701:12f617
12067501:12f675
12068301:12f683
12075201:12f752
12150101:12f1501
12157101:12f1571
12157201:12f1572
12161201:12f1612
12182201:12f1822
12155201:12lf1552
16007100:16c71,16c710,16c711
16007200:16c72,16f72
16007300:16c73b,16c74b,16c745,16c765,16f73,16f76
16043300:16c433
16071500:16c715
16071700:16c717,16c770,16c771
16077300:16c773
16077400:16c774
16078100:16c781,16c782
16092500:16c925,16c926,16f872
16007401:16f74,16f77
16008801:16f88
16061601:16f616,16hv616
16067601:16f676,16f684
16067701:16f677,16f685
16068701:16f687,16f689,16f690
16068801:16f688
16070701:16f707
16071601:16f716
16072001:16f720,16f721
16072201:16f722,16f722a,16f723,16f723a,16f726
16072401:16f724,16f727
16073701:16f737,16f767
16074701:16f747,16f777
16075301:16f753,16hv753
16078501:16f785
16081801:16f818,16f819
16087001:16f870,16f873,16f876
16087101:16f871,16f874,16f877
16087301:16f873a,16f876a
16087401:16f874a,16f877a
16088201:16f882,16f883,16f886
16088401:16f884,16f887
16091301:16f913,16f916
16091401:16f914,16f917,16f946
16145501:16f1455
16145901:16f1459
16150301:16f1503
16150701:16f1507
16150801:16f1508,16f1509
16151201:16f1512,16f1513
16151601:16f1516,16f1518
16151701:16f1517,16f1519
16152601:16f1526,16f1527
16161301:16f1613
16170301:16f1703
16170401:16f1704,16f1705,16lf1704
16170701:16f1707
16170801:16f1708,16lf1708
16170901:16f1709
16171301:16f1713,16f1716,16f1718
16171701:16f1717,16f1719
16178201:16f1782,16f1783
16178401:16f1784,16f1787
16178601:16f1786
16178801:16f1788
16178901:16f1789
16182301:16f1823
16182401:16f1824,16f1825
16182601:16f1826,16f1827,16f1847
16182801:16f1828,16f1829
16193301:16f1933,16f1936,16f1938
16193401:16f1934,16f1937,16f1939
16194601:16f1946,16f1947
16155401:16lf1554
16155901:16lf1559
16190201:16lf1902,16lf1903
16190401:16lf1904,16lf1907
16190601:16lf1906
SECTION=CCP
12061511:12f615
12061711:12f617
12068311:12f683
12075211:12f752
12161211:12f1612
12182211:12f1822
16006210:16c62
16006310:16c63a,16c65b
16007210:16c72,16f72
16007310:16c73b,16c74b,16f73,16f74,16f76,16f77
16071710:16c717,16c770,16c771
16074510:16c745,16c765
16077310:16c773,16c774
16092510:16c925,16c926,16f872
16008711:16f87
16008811:16f88
16061611:16f616,16hv616
16062711:16f627,16f627a,16f628,16f628a,16f648a
16068411:16f684
16068511:16f685
16068711:16f687,16f689
16069011:16f690
16070711:16f707
16071611:16f716
16072011:16f720,16f721
16072211:16f722,16f722a,16f723,16f723a,16f726
16072411:16f724,16f727
16073711:16f737,16f747,16f767,16f777
16075311:16f753,16hv753
16078511:16f785
16081811:16f818,16f819
16087011:16f870,16f871
16087311:16f873,16f874,16f876,16f877
16087311:16f873a,16f874a,16f876a,16f877a
16088211:16f882,16f883,16f886
16088411:16f884,16f887
16091311:16f913,16f916
16091411:16f914,16f917,16f946
16151211:16f1512,16f1513,16f1516,16f1518
16151711:16f1517,16f1519
16152611:16f1526,16f1527
16161311:16f1613
16170311:16f1703
16170411:16f1704,16f1705,16lf1704
16170711:16f1707
16170811:16f1708,16lf1708
16170911:16f1709
16171311:16f1713,16f1716,16f1718
16171711:16f1717,16f1719
16178211:16f1782,16f1783
16178411:16f1784,16f1787
16178611:16f1786
16178811:16f1788
16178911:16f1789
16182311:16f1823
16182411:16f1824
16182511:16f1825
16182611:16f1826
16182711:16f1827,16f1847
16182811:16f1828
16182911:16f1829
16193311:16f1933,16f1936,16f1938
16193411:16f1934,16f1937,16f1939
16194611:16f1946,16f1947
SECTION=PWM
10032021:10f320,10f322
12061521:12f615
12061721:12f617
12068321:12f683
12075221:12f752
12150121:12f1501
12157121:12f1571
12157221:12f1572
12161221:12f1612
12182221:12f1822
16006220:16c62
16006320:16c63a,16c65b
16007220:16c72,16f72
16007320:16c73b,16c74b,16f73,16f74,16f76,16f77
16071720:16c717,16c770,16c771
16074520:16c745,16c765
16077320:16c773,16c774
16092520:16c925,16c926,16f872
16008721:16f87
16008821:16f88
16061621:16f616,16hv616
16062721:16f627,16f627a,16f628,16f628a,16f648a
16068421:16f684
16068521:16f685
16068721:16f687,16f689
16069021:16f690
16070721:16f707
16071621:16f716
16072021:16f720,16f721
16072221:16f722,16f722a,16f723,16f723a,16f726
16072421:16f724,16f727
16073721:16f737,16f747,16f767,16f777
16075321:16f753,16hv753
16078521:16f785
16081821:16f818,16f819
16087021:16f870,16f871
16087321:16f873,16f874,16f876,16f877
16087321:16f873a,16f874a,16f876a,16f877a
16088221:16f882,16f883,16f886
16088421:16f884,16f887
16091321:16f913,16f916
16091421:16f914,16f917,16f946
16145421:16f1454
16145521:16f1455
16145921:16f1459
16150321:16f1503
16150721:16f1507
16150821:16f1508,16f1509
16151221:16f1512,16f1513,16f1516,16f1518
16151721:16f1517,16f1519
16161321:16f1613
16170321:16f1703
16170421:16f1704,16f1705,16lf1704
16170721:16f1707
16170821:16f1708,16lf1708
16170921:16f1709
16171321:16f1713,16f1716,16f1718
16171721:16f1717,16f1719
16178221:16f1782,16f1783
16178421:16f1784,16f1787
16178621:16f1786
16178821:16f1788
16178921:16f1789
16182321:16f1823
16182421:16f1824
16182521:16f1825
16182621:16f1826
16182721:16f1827,16f1847
16182821:16f1828
16182921:16f1829
16193321:16f1933,16f1936,16f1938
16193421:16f1934,16f1937,16f1939
16194621:16f1946,16f1947
16155421:16lf1554
16155921:16lf1559
SECTION=I2C
12182231:12f1822
12155231:12lf1552
16006230:16c62
16006330:16c63a,16c65b
16007230:16c72
16007330:16c73b,16c74b,16f73,16f74,16f76,16f77
16071730:16c717,16c770,16c771
16077330:16c773,16c774
16092530:16c925,16c926
16007231:16f72
16008731:16f87
16008831:16f88
16067731:16f677
16068731:16f687,16f689,16f690
16070731:16f707
16072031:16f720,16f721
16072231:16f722,16f722a,16f723,16f723a,16f726
16072431:16f724,16f727
16073731:16f737,16f747,16f767,16f777
16081831:16f818,16f819
16087231:16f872
16087331:16f873,16f874,16f876,16f877
16087331:16f873a,16f874a,16f876a,16f877a
16088231:16f882,16f883,16f886
16088431:16f884,16f887
16091331:16f913,16f916
16091431:16f914,16f917,16f946
16145431:16f1454
16145531:16f1455
16145931:16f1459
16150331:16f1503
16150831:16f1508,16f1509
16151231:16f1512,16f1513,16f1516,16f1518
16151731:16f1517,16f1519
16152631:16f1526,16f1527
16170331:16f1703
16170431:16f1704,16f1705,16lf1704
16170731:16f1707
16170831:16f1708,16lf1708
16170931:16f1709
16171331:16f1713,16f1716,16f1718
16171731:16f1717,16f1719
16178231:16f1782,16f1783
16178431:16f1784,16f1787
16178631:16f1786
16178831:16f1788
16178931:16f1789
16182331:16f1823
16182431:16f1824
16182531:16f1825
16182631:16f1826
16182731:16f1827,16f1847
16182831:16f1828
16182931:16f1829
16193331:16f1933,16f1936,16f1938
16193431:16f1934,16f1937,16f1939
16194631:16f1946,16f1947
16155431:16lf1554
16155931:16lf1559
SECTION=SPI
12182241:12f1822
12155241:12lf1552
16006240:16c62
16006340:16c63a,16c65b
16007240:16c72
16007340:16c73b,16c74b,16f73,16f74,16f76,16f77
16071740:16c717,16c770,16c771
16077340:16c773,16c774
16092540:16c925,16c926
16007241:16f72
16008741:16f87
16008841:16f88
16067741:16f677
16068741:16f687,16f689,16f690
16070741:16f707
16072041:16f720,16f721
16072241:16f722,16f722a,16f723,16f723a,16f726
16072441:16f724,16f727
16073741:16f737,16f747,16f767,16f777
16081841:16f818,16f819
16087241:16f872
16087341:16f873,16f874,16f876,16f877
16087341:16f873a,16f874a,16f876a,16f877a
16088241:16f882,16f883,16f886
16088441:16f884,16f887
16091341:16f913,16f916
16091441:16f914,16f917,16f946
16145441:16f1454
16145541:16f1455
16145941:16f1459
16150341:16f1503
16150841:16f1508,16f1509
16151241:16f1512,16f1513,16f1516,16f1518
16151741:16f1517,16f1519
16152641:16f1526,16f1527
16170341:16f1703
16170441:16f1704,16f1705,16lf1704
16170741:16f1707
16170841:16f1708,16lf1708
16170941:16f1709
16171341:16f1713,16f1716,16f1718
16171741:16f1717,16f1719
16178241:16f1782,16f1783
16178441:16f1784,16f1787
16178641:16f1786
16178841:16f1788
16178941:16f1789
16182341:16f1823
16182441:16f1824
16182541:16f1825
16182641:16f1826
16182741:16f1827,16f1847
16182841:16f1828
16182941:16f1829
16193341:16f1933,16f1936,16f1938
16193441:16f1934,16f1937,16f1939
16194641:16f1946,16f1947
16155441:16lf1554
16155941:16lf1559
SECTION=USART
12157251:12f1572
12182251:12f1822
16006350:16c63a,16c65b
16007350:16c73b,16c74b,16c745,16c765,16f73,16f74,16f76,16f77
16077350:16c773,16c774
16008751:16f87
16008851:16f88
16062751:16f627,16f627a,16f628,16f628a,16f648a
16068751:16f687,16f689,16f690
16068851:16f688
16070751:16f707
16072051:16f720,16f721
16072251:16f722,16f722a,16f723,16f723a,16f726
16072451:16f724,16f727
16073751:16f737,16f747,16f767,16f777
16087051:16f870,16f871,16f873,16f874,16f876,16f877
16087351:16f873a,16f874a,16f876a,16f877a
16088251:16f882,16f883,16f886
16088451:16f884,16f887
16091351:16f913,16f916
16091451:16f914,16f917,16f946
16145451:16f1454
16145551:16f1455
16145951:16f1459
16150851:16f1508,16f1509
16151251:16f1512,16f1513,16f1516,16f1518
16151751:16f1517,16f1519
16152651:16f1526,16f1527
16170451:16f1704,16f1705,16lf1704
16170851:16f1708,16lf1708
16170951:16f1709
16171351:16f1713,16f1716,16f1718
16171751:16f1717,16f1719
16178251:16f1782,16f1783
16178451:16f1784,16f1787
16178651:16f1786
16178851:16f1788
16178951:16f1789
16182351:16f1823
16182451:16f1824
16182551:16f1825
16182651:16f1826,16f1827,16f1847
16182851:16f1828
16182951:16f1829
16193351:16f1933,16f1936,16f1938
16193451:16f1934,16f1937,16f1939
16194651:16f1946,16f1947
16155451:16lf1554
16155951:16lf1559
16190451:16lf1904,16lf1907
16190651:16lf1906
|