⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 ICCAVR6.31A破解板 非常好用
💻 TXT
字号:
ICCAVR Readme file

Make sure you subscribe to the icc-avr mailing list for program 
update announcements. Refer to http://www.dragonsgate.net/mailman/listinfo
for details.

AVR Starter Kit users should read the file \icc\readme_avrkit.doc

Outstanding Bug List (we are working on resolving it):
- if you use the ++ pre increment operator on a volatile var in an 
  expression context, the wrong value is used, e.g.
	volatile int i;
	...
	if (++i == ...

CHANGE LOGS 
08/04/2004 - V6.31A
  Library
    - Changed printfs to use utoa/ultoa for %x/X,%u and %o
    - FP Mul using the HW multiply instructions are incorrect under some
      conditions
    - EEPROMWrite functions were compiled incorrectly for M169,M48,M88, and
      M168

07/12/2004 - V6.31
  IDE
    - ISP using STK500 was broken for M128
    - Add support for M165
    - The IDE now passes the following defines for the appropriate devices:
      ATtiny13, ATtiny2313, ATtiny26, ATMega48, ATMega8, ATMega8515, 
      ATMega8535, ATMega88, ATMega16, ATMega161, ATMega162, ATMega163, 
      ATMega165, ATMega168, ATMega169, ATMega32, ATMega323, ATMega64, 
      ATMega103, ATMega128, AT90S2313, AT90S2323, AT90S2333, AT90S2343, 
      AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8534, AT90S8535, 
      AT94K05, AT94K10, AT94K40, AT86RF401, AT43USB320, AT43USB355
      
      Basically, the names of the device drop down list under
      Project->Options->Target.  For example, you may use
          #if defined(ATMega169)
          ...
    - If you exit the IDE with no opened project, when the IDE is invoked
      next time, it will not open the old project
    - The IDE's title now includes the Project name, this will make it
      easier to identify when IDE minimized icons when there are multiple
      IDEs running
    - M169 entry did not have the "Extended IO" box set, so the stack was set
      in a lower address than it should and some SRAM was wasted.
  Header Files
    - Fixed some typos in iom48v.h iom88v.h and iom168v.h
    - Added iom165v.h
  Compiler
    - If the "Strings in Flash" is specified, it accidently was forcing the
      switch handling to almost always generate a jump table, even if a
      "if-then-else" search would be preferrable. Sometimes this would create
      very large and sparse jump table, taking up valubale flash space.
  Linker/Code Compressor
    - Revamped handling of M128 and Code Compressor. Should eliminate all
      known problems when the uncompressed code exceeds 128K bytes.
  Library
    - EEPROM functions for the M169/M48/M88/M168 now use their own versions
      because their IO locations are different. This is transparent if you
      use the included eeprom.h header file and libraries
    - Previously, the EEPROM write byte function returns immediately after
      setting up the write procedure but the function waits when it is called
      for any prior writes to finish. Change the behavior so that the funtion
      waits for the write to complete before returning.
    - Added ultoa and utoa. Now itoa and ltoa accept signed arguments. The
      functions now accept base from 2 to 36.
    - Once again thanks to Johannes A., 3 new "const" functions are added:
      cmemchr, cmemcmp, and cmemcpy. They will be added to the Help file very
      soon.

05/11/2004 - V6.30D
  IDE
    - Fixed entry for AT43USB320
    - AppBuilder updates, including for the newer megas that UBRRH and UCSRC 
      share the same IO address
    - Project file now stores the name of the Device, meaning that it is less
      likely (after this release) to get "Device List Changed" message.
    - Added support for %P (project name in the output directory) and 
      %o (output directory name) in Project->Options->Compiler->"Execute
      Command After Successful Build" edit box
  Compiler
    - Added support for "#pragma lit:<name>" for placing data such as
        const <datatype> <var_name...>
      into a specific named area instead of the default "lit" area. Use
      "#pragma lit:lit" to switch back to the default area.
  Header File
    - Added iocan128v.h
  Linker (Code Compressor)
    - Disabled JMP->RJMP optimization if the target is out of range
    - Changed ERROR to WARNING for any out of text area (R)CALL/JMP in case
      if the instruction is intended to target another area such as the
      bootloader
    - Allows JMP to any target if it is surrounded by the .nocc_start and
      .nocc_end asm pseudo-ops

4/12/2004 - V6.30C
  [ NEW method to disable/enable Code Compressor
    asm(".nocc_start");
    ...
    asm(".nocc_end");

    This is better than the previous method since no instruction bytes
    is wasted and you may have RETURN in between. The macros in macros.h
    COMPRESS_DISABLE and COMPRESS_REENABLE has been replaced and redefined
    by NOCC_START() and NOCC_END() macros
    
    If you are using the old scheme in your asm code, you should change it
    to use the new directives ASAP as the old style will be deprecated!!
  ]
  IDE
    - Added AppBuilder updates and support for M8535, T13, T2313, M64,
      M48, M88 and M168. AppBuilder now supports all devices on the Device
      List.
    - The starting addresses for M8535 and M8515 were incorrect, conflicting
      with the interrupt vectors.
    - Added ISP support for T13, T2313, M48, M88 and M168. ISP now supports
      all devices on the Device list.
  Compiler
    - fixed a long standing limitation in that an "if condition" that is 
      translated into a SBRx or SBIx instruction was always using a RJMP
      instruction to try to reach the end of the block. This generates an
      error if the body of the conditional exceeds 4K word.
    - the fragment
        int *p;
        char c = (char)*p++;
      when compiling for AVR Enhanced Core was generating an assertion
    - Register History was not invalidating global/static vars cached in
      registers when there is a pointer write.
    - Peephole optimization for
        MOV Rt,Ry
        CP Rt,Rx
      ==>
        CP Ry,Rx
     
      was not considering the possibility that Rx can also be the same as Rt
  Linker/Code Compressor
    - interrupt vectors for bootloader were not handled correctly
  Library
    - the string functions were incorrectly using signed comparison instead 
      of unsigned comparisons.

02/05/2004 - V6.30B
  IDE
    - AppBuilder fixes for M169 LCD
    - Scroll mouse now works correctly under all OS and mouse brands
  Compiler
    - Fixed a bug where the compiler was not copying stacked arguments to 
      registers if the function is a MONITOR function (normal functions are
      fine).
    - The debug line information was accidentally foobar'ed for the body
      of for loops. This affected listing file and the debug information
    - "if (m > a[i])" was generating the incorrect unsigned branch if both
      "m" and "a[i]" are signed char types.
  Library
    - Fixed bug in cstrncmp (thanks JA)
  Utilities
    - Include ICCAVRMapFileSummy.exe (thanks JA)

01/17/2004 - V6.30A
  IDE
    - Added device support for ATMega48, M88, and M168. No support for ISP
      and AppBuilder yet.
    - Changed STK500 ISP Lock/Fuse Bits write to encode the bit values in 
      HEX as required by the stk500.exe program
  Header Files
    - Added iom48v.h, iom88v.h, and iom168v.h (once again thanks to JA)

12/15/2003 - V6.30
  - now a single distribution can also work as the network dongle version
  IDE
    - Added IDE support for Tiny13, Tiny2313, no support for ISP and 
      AppBuilder for them yet (will be done ASAP).  Added support for 
      AT86RF401, AT43USB355, and AT43USB320A.
    - Added AppBuilder support for M169 and M8515. To Be Done: tiny13, 
      tiny2313, M8535, and M64. Miscellaneous AppBuilder bug fixes.
    - Reverted to use STK500.exe instead of builtin ISP support
  Compiler
    - lcc 4.2 source tree merge. This *MAY* fix the bug with source files 
      residing in remote NT network drives causing spurious 
      "illegal charcaters \0" error.
    - Fixed a rare register history bug where the "stz" was not invalidating
      Y+d references even though Z and Y are aliased.
    - Fixed a register history bug where Z+d offset propagation optimization
      was not correctly marking Z has been updated.
  Assembler
    - Fixed a buffer overflow bug (line > 1024 chars, mainly from C comment
      lines) causing all sorts of spurious error msgs
  Linker
    - Make Code Compressor compatible with any JMP/CALLs that are outside
      of the text area
    - Code Compressor no longer eliminates NOPs (timing loop etc.)
  Header Files
    - Added iot13v.h and iot2313v.h, aiot13.s and aiot2313.s
  Library
    - Added cstrncpy
    - Thanks to JA, all string functions except for strtok are now written 
      in assembly!
    - printf was not supporting field width for %c (large and FP printf only)
    - Added EEPROMread_M169, EEPROMwrite_M169, EEPROMReadBytes_M169, and
      EEPROMWriteBytes_M169 since the M169's EE?? IO register locations are
      different from other AVRs. You do NOT have to do anything, if you use
      the IDE and "#include <eeprom.h>". The correct functions will be called
      when you use EEPROMread, EEPROMwrite, EEPROMReadBytes and 
      EEPROMWriteBytes.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -