Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6400 punk_joker 1
2
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
4
5
6
7
8
9
10
15
16
AVRA ChangeLog
17
18
19
20
  
AVRA
21
  
Assember for the Atmel AVR microcontroller family
22
23
24
25
26
  
27
  
28
  
29
  
30
  
31
  
32
33
34
35
36

AVRA ChangeLog

37
38
39

Version 1.3.0 (20100628)

40
41

by Jerry Jacobs

42
Additions and changes
    43
  • 44

    45
    Added new targets, ATtiny13A, ATtiny24/A, ATtiny44/A, ATtiny84, ATtiny2313A,
    46
      ATtiny4313, ATmega328P
    47

    48
    49
  • 50

    51
    Added mingw32 support for building windows binairies from linux host
    52

    53
    54
  • 55

    56
    Removed obsolete Dev-C++ for windows building
    57

    58
    59
  • 60

    61
    Updated documentation and rewritten in asciidoc markup language
    62

    63
    64
    65
    Bug fixes
      66
    • 67

      68
      FIXED: 1934647: Handle also # directives because include files don’t use . directives.
      69

      70
      71
    • 72

      73
      FIXED: 1970530: Make whitespace character possible between function name and open bracket.
      74

      75
      76
    • 77

      78
      FIXED: 1970630: Make line continuation possible with backslash as the last character of a line.
      79

      80
      81
    • 82

      83
      FIXED: 2929406: Change incorrect argument --includedir to includepath.
      84

      85
      86
      87
      88

      Version 1.2.3 (20071115)

      89
      90

      by Burkhard Arenfeld

      91
        92
      • 93

        94
        Fix bug 1697037 (Error with single character ;)
        95

        96
        97
      • 98

        99
        Better check for line termination. Now a single CR or a FF generates an warning message. Code with bad CR
        100
          termination could appear, if you edit CR-LF terminated files (WIN/DOS) with linux (LF only) editors.
        101

        102
        103
      • 104

        105
        Add patch 1604128 from Jim Galbraith (New devices ATtiny25/45/85, small fix for ATmega8 (no jmp, call instruction))
        106

        107
        108
      • 109

        110
        Fix bug in handling of special tags (%HOUR% …). A % without a special tag was replaced by previous tag value.
        111

        112
        113
      • 114

        115
        Use a global timestamp for all functions which needs a time (pi→time).
        116

        117
        118
      • 119

        120
        Fix bug in handling of unknown args (E.g.: avra --abc → Segfault).
        121

        122
        123
      • 124

        125
        Fix segfault if .error directive without parameter is used.
        126

        127
        128
      • 129

        130
        Add a warning, if characters with code > 127 are used in .db strings and fix listing output.
        131

        132
        133
      • 134

        135
        Take a look at Testcode_avra-1_2_3.asm, which demonstrate some differences between 1.2.3 and previous releases
        136

        137
        138
      • 139

        140
        AVR000.zip contains some header files for different devices.
        141

        142
        143
      • 144

        145
        Included avra binary was created with ubuntu 7.10 linux
        146

        147
        148
        149
        Bug fixes
          150
        • 151

          152
          FIXED: 1462900: Segfault, if error in -D parameter.
          153

          154
          155
        • 156

          157
          FIXED: 1742436: Error in .dseg size check.
          158

          159
          160
        • 161

          162
          FIXED: 1742437: Error in EEPROM presence check
          163

          164
          165
          166
          167

          Version 1.2.2 (20070511)

          168
          169

          by Burkhard Arenfeld

          170
            171
          • 172

            173
            Check in print_msg() if filename is NULL. Avoid printing a NULL-Pointer.
            174

            175
            176
          • 177

            178
            Warning, if no .DEVICE was found, because address range check doesn’t work without it
            179

            180
            181
          • 182

            183
            Error, if more than one .DEVICE was found.
            184

            185
            186
          • 187

            188
            Error, if .DEVICE is after any assembled code or .ORG directive, because .DEVICE resets the address
            189
              counters and the assembler builds wrong code.
            190

            191
            192
          • 193

            194
            Create a list of program segments (see orglist). Every .ORG, .DEVICE, .?SEG is stored, so the
            195
              assembler now can check for overlapping segments. Now overlapped segments in Flash, Data or EEPROM memory
            196
              are detected. Very usefull, if .ORG is used to build tables or bootloader code at specific addresses.
            197

            198
            199
          • 200

            201
            Better check for exceeding device space in RAM, Flash or EEPROM memory. Now not the total count of
            202
              assembled memory is used, instead every assembled address range is checked.
            203

            204
            205
          • 206

            207
            .DSEG and .ESEG now generates an error, if device has no RAM / EEPROM.
            208

            209
            210
          • 211

            212
            Now a warning appears, if a .DEF name is already used as constant or label. Atmel assembler generates this
            213
              warning, too.
            214

            215
            216
          • 217

            218
            Fix a small bug in the example program.
            219

            220
            221
            222
            223

            Version 1.2.1 (20061117)

            224
            225

            by Roland Riegel

            226
              227
            • 228

              229
              Some of the high end AVRs use the SRAM adress range from 0x60 to 0x100 for IO extension.
              230
                Avra so far used to start with SRAM Usage at 0x60. This is now set from case by case.
              231

              232
              233
              234
              235

              Version 1.2.0 (20061015)

              236
              237

              by Burkhard Arenfeld

              238
                239
              • 240

                241
                Patch segfault, if .error is given without parameter
                242

                243
                244
              • 245

                246
                Patch segfault, if .device is given with an invalid parameter
                247

                248
                249
              • 250

                251
                Check in predef_dev() if symbol is already defined. Can happens, if someone
                252
                  tries to define the symbol with the -D parameter. E.g.: avra -D ATMEGA8 Test.asm
                253
                  now generate error message, because ATMEGA8 is reserved
                254

                255
                256
              • 257

                258
                Add .elseif directive. It’s the same like .elif. (Original Atmel assembler use .elseif
                259
                  and not .elif)
                260

                261
                262
              • 263

                264
                In .db lines strings can now contain , and ; characters.
                265

                266
                267
              • 268

                269
                Allow forward declaration of constants (.equ) except for .ifdef and .ifndef.
                270
                  Invalid forward declarations are checked now. (In the first pass undefined Symbols in
                271
                  .ifdef and .ifndef parameters are stored in a blacklist and checked in the second pass)
                272

                273
                274
              • 275

                276
                Extend the .message directive for better debugging. Now it accept not only a String.
                277
                  You can use a list of expressions like in a .db directive as parameter.
                278

                279
                280
              • 281

                282
                The assembler pass variable moved into the pi struct. I deleted the pass variable from
                283
                  a lot of functions.
                284

                285
                286
              • 287

                288
                New functions in avra.c. It was easier for me, to understand the code without the
                289
                  for(label = first; …)-loops. Replaced a lot of for(label = …) -loops by one of this
                290
                  functions.
                291

                292
                293
                294
                295

                Version 1.1.1 (20060906)

                296
                297
                  298
                • 299

                  300
                  right shift operator bug
                  301

                  302
                  303
                • 304

                  305
                  LPM is supported on ATtiny26 but avra say it isn’t
                  306

                  307
                  308
                • 309

                  310
                  bugfix for jmp/call opcode
                  311

                  312
                  313
                • 314

                  315
                  crash due to a strcmp with null pointer when parsing the cmd line args
                  316

                  317
                  318
                  319
                  320

                  Version 1.1.0 (20051227)

                  321
                  322

                  by Tobias Weber

                  323
                    324
                  • 325

                    326
                    .DW defines were missing in the listfile.
                    327

                    328
                    329
                  • 330

                    331
                    Support for mega8515.
                    332

                    333
                    334
                  • 335

                    336
                    Fix for generic register names and extended macro syntax.
                    337

                    338
                    339
                  • 340

                    341
                    Makefile for lcc-win32 Compiler.
                    342

                    343
                    344
                  • 345

                    346
                    Changed "global" keyword to ".global".
                    347

                    348
                    349
                  • 350

                    351
                    Added .includepath directive that allows setting include path.
                    352

                    353
                    354
                  • 355

                    356
                    segfault when not passing any sourcefiles.
                    357

                    358
                    359
                  • 360

                    361
                    --define FOO=2 does not work as claimed by the documentation.
                    362

                    363
                    364
                  • 365

                    366
                    Added return value, indicating whether avra failed or succeded.
                    367

                    368
                    369
                  • 370

                    371
                    Added support for automake utilities. See manual for more info.
                    372

                    373
                    374
                  • 375

                    376
                    if no code is present, eeprom hex file will be written anyway.
                    377

                    378
                    379
                  • 380

                    381
                    added -W NoRegDef for suppressing Register assignment warnings.
                    382

                    383
                    384
                  • 385

                    386
                    .db values were sometimes wrong printed in lst file with 6 leading F.
                    387

                    388
                    389
                  • 390

                    391
                    Added BYTE1() function equivalent to LOW().
                    392

                    393
                    394
                  • 395

                    396
                    The character " (pharentesis) could not be use as single character like "
                    397

                    398
                    399
                    400
                    401

                    Version 1.0.1 (20040610)

                    402
                    403

                    by Tobias Weber

                    404
                      405
                    • 406

                      407
                      Added meta tags for time and date.
                      408

                      409
                      410
                    • 411

                      412
                      Expression of .elif was cutted off in list file - fixed.
                      413

                      414
                      415
                    • 416

                      417
                      .equ, .org, .defines added to list file output.
                      418

                      419
                      420
                    • 421

                      422
                      Values and expressions of .db assignemts are now listed in listfile.
                      423

                      424
                      425
                    • 426

                      427
                      Added Support for ATmega48, ATmega88 and ATmega168.
                      428

                      429
                      430
                    • 431

                      432
                      Added .include error file name print out.
                      433

                      434
                      435
                    • 436

                      437
                      Fixed seg fault that could happen while using .LIST directive with no
                      438
                        listfile switched on.
                      439

                      440
                      441
                    • 442

                      443
                      Error when using comments within macros that made use of sign @ fixed.
                      444

                      445
                      446
                    • 447

                      448
                      Listfile lines are now prefixed with the current segment C,D,E for
                      449
                        code, data and eeprom.
                      450

                      451
                      452
                      453
                      454

                      Version 1.0.0 (20040214)

                      455
                      456

                      by Tobias Weber

                      457
                        458
                      • 459

                        460
                        Added support for ATtiny13 and ATtiny2313
                        461

                        462
                        463
                      • 464

                        465
                        List file command line syntax now AVRASM compatible
                        466

                        467
                        468
                      • 469

                        470
                        Map file command line syntax now  AVRASM compatible
                        471

                        472
                        473
                      • 474

                        475
                        Fixed problem with limited macro label running numbers
                        476

                        477
                        478
                      • 479

                        480
                        Now multiple labels can be used within macros
                        481

                        482
                        483
                      • 484

                        485
                        Fixed error output line number for included files
                        486

                        487
                        488
                      • 489

                        490
                        code cleaned up
                        491

                        492
                        493
                        494
                        495

                        Version 0.9.1 (20030602)

                        496
                        497

                        by Tobias Weber

                        498
                          499
                        • 500

                          501
                          fixed code for Linux compiler
                          502

                          503
                          504
                        • 505

                          506
                          fixed nested macro labels
                          507

                          508
                          509
                        • 510

                          511
                          code cleaned up
                          512

                          513
                          514
                          515
                          516

                          Version 0.9 (20030523)

                          517
                          518

                          by Tobias Weber

                          519
                            520
                          • 521

                            522
                            Added labels to macros
                            523

                            524
                            525
                          • 526

                            527
                            Added special codes dst and src
                            528

                            529
                            530
                          • 531

                            532
                            Added directive .endmacro, only .endm was allowed so far
                            533

                            534
                            535
                          • 536

                            537
                            Added a return(0); at the end of main() to quiet the Borland C++ 5.5
                            538
                              compiler (Jim Galbraith)
                            539

                            540
                            541
                          • 542

                            543
                            Fixed wrong flash size calculation (Jim Galbraith)
                            544

                            545
                            546
                          • 547

                            548
                            In device.c, added ATtiny26 to struct device device_list[] (Jim Galbraith)
                            549

                            550
                            551
                            552
                            553

                            Version 0.8 (20030307)

                            554
                            555

                            by Tobias Weber

                            556
                              557
                            • 558

                              559
                              Added new macro assembler coding facilities
                              560

                              561
                              562
                            • 563

                              564
                              Added error description for .include directives
                              565

                              566
                              567
                              568
                              569

                              Version 0.7 (20000217)

                              570
                              571
                                572
                              • 573

                                574
                                Added supported() function to check in a .if if a instruction is
                                575
                                  supported (From Lesha Bogdanow <boga@inbox.ru>).
                                576

                                577
                                578
                              • 579

                                580
                                Added checking of which mnemonic that work on the different AVRs
                                581
                                  (From Lesha Bogdanow <boga@inbox.ru>).
                                582

                                583
                                584
                              • 585

                                586
                                Added constants DEVICE, FLASH_SIZE, RAM_SIZE and
                                587
                                  EEPROM_SIZE (From Lesha Bogdanow <boga@inbox.ru>).
                                588

                                589
                                590
                              • 591

                                592
                                Added tiny devices (From Lesha Bogdanow <boga@inbox.ru>).
                                593

                                594
                                595
                              • 596

                                597
                                Changed error on constant out of range into a warning.
                                598

                                599
                                600
                              • 601

                                602
                                Added support for instructions: (E)LPM Rd,Z(+), SPM, ESPM, BREAK,
                                603
                                  MOVW, MULS, MULSU, FMUL, FMULS, FMULSU
                                604

                                605
                                606
                              • 607

                                608
                                Added support for new devices: ATmega8, ATmega16, ATmega32,
                                609
                                  ATmega128, ATmega162, ATmega163, ATmega323, AT94K
                                610

                                611
                                612
                              • 613

                                614
                                Added --devices switch to list all supported devices.
                                615

                                616
                                617
                              • 618

                                619
                                Fixed bug in map file name when the name had more than one . (dot)
                                620

                                621
                                622
                              • 623

                                624
                                Added option --includedirs to add additional include dirs in
                                625
                                  search path.
                                626

                                627
                                628
                              • 629

                                630
                                Added support for creation of intel hex 32 files to be able to
                                631
                                  address memory above 64KB. Uses 02 records for addresses up to 1MB
                                632
                                  and 04 record for addresses above 1MB.
                                633

                                634
                                635
                                636
                                637

                                Version 0.6 (20000124)

                                638
                                639
                                  640
                                • 641

                                  642
                                  Added COFF support from Bob Harris <rth@McLean.Sparta.Com>
                                  643

                                  644
                                  645
                                  646
                                  647

                                  Version 0.5 (19990331)

                                  648
                                  649
                                    650
                                  • 651

                                    652
                                    Bugfix: a inline string copy did not terminate string.
                                    653

                                    654
                                    655
                                  • 656

                                    657
                                    Fixed bug causing --define symbol=value not to work.
                                    658

                                    659
                                    660
                                  • 661

                                    662
                                    Added output of memory usage.
                                    663

                                    664
                                    665
                                  • 666

                                    667
                                    Fixed bug when there was a { in a comment.
                                    668

                                    669
                                    670
                                  • 671

                                    672
                                    Fixed count for data segment.
                                    673

                                    674
                                    675
                                  • 676

                                    677
                                    Fix to make a forward referenced label in .db/.dw work.
                                    678

                                    679
                                    680
                                  • 681

                                    682
                                    Added ATmega161 and ATtiny15 in list.
                                    683

                                    684
                                    685
                                  • 686

                                    687
                                    rjmp and rcall now wraps around with 4k word devices.
                                    688

                                    689
                                    690
                                  • 691

                                    692
                                    Fixed bug when branching backwards with BRBS or BRBC
                                    693

                                    694
                                    695
                                    696
                                    697

                                    Version 0.4 (19990202)

                                    698
                                    699
                                      700
                                    • 701

                                      702
                                      Added support for global keyword to use on labels in macros.
                                      703

                                      704
                                      705
                                    • 706

                                      707
                                      Fixed get_next_token to handle commas inside ' '
                                      708

                                      709
                                      710
                                    • 711

                                      712
                                      Fixed bug when searching for correct macro_call, so recursive
                                      713
                                        and nested macros will work.
                                      714

                                      715
                                      716
                                    • 717

                                      718
                                      Now handles commas in strings.
                                      719

                                      720
                                      721
                                    • 722

                                      723
                                      Added fix to handle semi colon in a string.
                                      724

                                      725
                                      726
                                    • 727

                                      728
                                      Improved mnemonic parsing for ld and st
                                      729

                                      730
                                      731
                                      732
                                      733
                                      734

                                      735
                                      736
                                      737
                                      Version 1.3.0
                                      738
                                      window.onload>
                                      739
                                      740
                                          "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
                                      741
                                      window.onload = function(){asciidoc.footnotes();}
                                      742
                                      /*]]>

                                      743
                                      744
                                      745
                                      746
                                        
                                      747
                                          src="http://www.w3.org/Icons/valid-xhtml11-blue"
                                      748
                                          alt="Valid XHTML 1.1" height="31" width="88" />
                                      749
                                      750
                                      751
                                        
                                      752
                                          src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
                                      753
                                          alt="Valid CSS!" />
                                      754
                                      755
                                      756
                                        
                                      757
                                             src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/110x32/safer.gif"
                                      758
                                             alt="Get Firefox!" />
                                      759
                                      760
                                      761
                                      762
                                      763