Revision History ========================= Compiler Revision 4.97.13 Mar.08.2010 ------------------------- The new type Fix64 is supported by the Simulator. Bug in DEC(Int64, const) fixed. XMega: Bug in WaitPipe(RxBuffer) fixed. XMega: Bug in SerPortSelect fixed. Compiler Revision 4.97.12 Mar.01.2010 ------------------------- Some minor improvements in the code generation. Compiler Revision 4.97.11 Feb.22.2010 ------------------------- Function SerBaud(bbbb) extended to 1MBaud. SerPort_Send1 implemented. Avra's 32bit Fixed Point Library in the Demos in Fix32Math. Compiler Revision 4.97.10 Feb.15.2010 ------------------------- XMega Support: ============== DA-Converter DAC_A and DAC_B implemented. Compiler Revision 4.97.09 Feb.08.2010 ------------------------- XMega Support: ============== DSC files for all XMegas created. Compiler Revision 4.97.08 Feb.01.2010 ------------------------- SizeOf(xArr[1]) is implemented now. FAT16 File Types in Records implemented. FEdit Unit included as source in the system. XMega Support: ============== ADC_A and ADC_B are implemented now. More infos in the Standard-Driver-Manual Compiler Revision 4.97.07 Jan.25.2010 ------------------------- Small bug in Optimiser fixed. Bug in CheckStackValid(Task) with Mega256 fixed. SerInp1, SerOut1 and SerStat1 implemented. Compiler Revision 4.97.06 Jan.18.2010 ------------------------- XMega Support: ============== Hardware SPI implemented: SPI_C, SPI_D, SPI_E, SPI_F Driver which use the SPI: LCDport, MIRF24port Compiler Revision 4.97.05 Jan.11.2010 ------------------------- Small bug in Optimiser fixed. Bug in file pTiny2313.dsc fixed (PWM). XMega Support: ============== SerPorts implemented. Example program "XMega_SerPort" in the Demos directory in "XMega_SerPort" More infos in the Standard-Driver-Manual SlipPorts implemented. Example program "XMega_SLIP" in the Demos directory in "XMega_SLIPport" More infos in the Profi-Driver-Manual Compiler Revision 4.97.04 Jan.04.2010 ------------------------- Small bug in ModBus fixed. (wrong display in ModBus-Simulator) Compiler Revision 4.97.03 Dec.21.2009 ------------------------- Bug in TWIslave Buffer size fixed. Smal bug in Optimiser fixed. (Errormessage by the Simulator) XMega Support: ============== Clock System completed. Example program in the Demos Directory in "XMega_Test". More infos in the Compiler Manual page 152. Compiler Revision 4.97.02 Dec.07.2009 ------------------------- DecimalSep bug fixed. Small bugs fixed. (false error message by compiler) Compiler Revision 4.97.01 Nov.30.2009 ------------------------- Help system improved. XMega Support: ============== Some small bugs fixed. Compiler Revision 4.97.00 Nov.23.2009 ------------------------- New Installer ================ The actual Installation now supports also Windows7 (32bit) XMega Support: ============== Access to constants in Flash implemented. Compiler Revision 4.96.10 Nov.16.2009 ------------------------- Bug in SizeOf(localRecord.member) fixed. LCD Init changed. Existing apps are not concerned. Umlaute, Diacritics (Ü, è) etc. are disabled now in Labels, Names and Identifiers. FAT16 now supports also "_" in file and path names. New Optimiser with a big speed advantage. Compiler Revision 4.96.09 Nov.09.2009 ------------------------- Normally the SPI programming uses the "ProcClock" for speed calculation. But if a lower speed must be used for programming this can be forced with the "SPIclk" define. Define_Fuses ... SPIclk = 1000000; // optional SPI programming speed Compiler Revision 4.96.08 Nov.02.2009 ------------------------- Bug in "x shl EEpromVar" fixed. Compiler Revision 4.96.07 Oct.26.2009 ------------------------- XMega Support: ============== Bug in FAT16 FileOfText fixed. Bug in StackCheck with Mega256 fixed. Small bug in Merlin Optimiser fixed. For the XMega128A1 now another 4 functions are implemented: 1.) DCF77 2.) RC5Rxport 3.) Clock-System 4.) For user drivers which use SPI, UART, Timer etc of the XMegas, the Compiler provides the switch {$DEFINE XMEGA}. The reason is: These peripheral names in the XMega are not USART0, Timer0, SPI... but USARTC0, USARTC1, TimerC0, TimerC1, SPIC, SPID etcetc. Accordingly all control register names of the peripherals are changed. Except the port registers all names have been changed by Atmel. Example SPI: {$IFDEF XMEGA} SPICDATA:= xy; {$ELSE} SPDR:= xy; {$ENDIF} So one can build drivers which can run on AVRs and also on XMegas. All other drivers follow step-by-step. The next ones will be the external Interrupts and Timers. A test program is in the Demos directory in "XMega_Test" The XMegas are still not supported in the SIM, Wizard and Programmers! Compiler Revision 4.96.06 Oct.19.2009 ------------------------- Bug in StringCompare EEprom/Const fixed. Bug in FAT16 FileRename fixed. Bug in Merlin Optimiser fixed. The switch "$TypedConst off" should not be used anymore! XMega Support: ============== For the XMega128A1 now another 17 functions are implemented: 1.) WatchDog 2.) EEprom 3.) SysTimer 4.) SysLeds 5.) BeepPort 6.) SwitchPort 7.) MatrixPort 8.) KeyPort8 9.) LCDport 10.) Disp7sPort 11.) Disp14sPort 12.) IOexpand 13.) Soft-SPI 14.) RTclock (SysTick driven only) 15.) I2Cport 16.) SHT11drvr 17.) UserPort All other drivers follow step-by-step. The next ones will be the Clock-System, DCF77 etc. A test program is in the Demos directory in "XMega_Test" The XMegas are still not supported in the SIM, Wizard and Programmers! Compiler Revision 4.96.05 Oct.12.2009 ------------------------- Bug in Merlin Optimiser fixed. XMega support: ============== For the XMega128A1 now two 2 essential functions are implemented: a.) SysTick b.) MultiTasking All other drivers like EEprom, Timers, UARTs etc. will follow step-by-step. The next one will be the EEprom. A test program is in the Demos directory in "XMega_Test" The XMegas are still not supported in the SIM, Wizard and Programmers! Compiler Revision 4.96.04 Oct.05.2009 ------------------------- Tiny261-461-861 DSC Files changed. Merlin Optimiser improved. New Reference Manual Compiler Revision 4.96.03 Sep.14.2009 ------------------------- Problem with GetRTCxxx return-types fixed. Wrong RTCtimer Defs in some DSC-files fixed. Bug in Merlin Optimiser with short Loops fixed. Compiler Revision 4.96.02 Aug.31.2009 ------------------------- Bug in SPIport fixed (low bitrates) Bug in TWIoutP/TWIoutPW fixed. SmartLinker & Merlin Optimiser =============================== The Merlin Optimiser now completely replaces the AVRco SmartLinker. If only the origin SmartLinker functionality is needed, this can be passed to the Merlin Optimiser with this switch: {$OPTI SMARTLINK_ONLY} The Merlin then only removes unused functions/procedures (dead code). All other Optimiser functions then are disabled. This switch works global, also for Units and Includes. Compiler Revision 4.96.01 Aug.10.2009 ------------------------- Bug in DEFINE DecimalSep fixed. Bug with BitSets in EEprom fixed. Bug in Merlin Optimiser fixed. Compiler Revision 4.96.00 July.08.2009 ------------------------- The SHRA operations are extended with rounding. SmartLinker now is disabled. Please use Merlin Optimiser instead. The Merlin Optimiser can be forced in the main programm with {$Optimise} This switch !must! be located in the first line of the main programm. Bug in BootApplication fixed. Bug in Function return a Function pointer fixed. Compiler Revision 4.95.08 June.08.2009 ------------------------- The SlipPort driver is enhanced by the Semaphores SlipRxSema1..4 Noe processes can wait for a packet reception: WaitSema(SlipRxSema1); New functions: function SLIPrxReady1 : boolean; function SLIPrxReady2 : boolean; function SLIPrxReady3 : boolean; function SLIPrxReady4 : boolean; function MulDivLong(a1, a2, d : longint|longword) : longint|longword; Compiler Revision 4.95.07 May.04.2009 ------------------------- New LCD Graphic Demo/Test program for ST7565R controller in ..\Demos\LCD_ST7565R\AVR Graph7565 New Programmer directive: Define_Fuses CalByte = CalByteNumber, Address; Bug in SmartLinker fixed. Optimiser Bug Fix when two pointers point to same location. New info "Optimiser History" in the Optimiser directory. Compiler Revision 4.95.06 Apr.20.2009 ------------------------- Bug in "Define SPImode = xx" fixed. Bug in SerPort4 fixed. Compiler Revision 4.95.05 Apr.13.2009 ------------------------- New MultiTasking functions (DocuCompiler): Function GetTaskStackFree : word; Function GetTaskFrameFree : word; New SPI driver functions (DocuStdDriver): procedure SetSPImode(mode : byte); // mode = 0..3 procedure SetMSPI0mode(mode : byte); // mode = 0..3 procedure SetMSPI1mode(mode : byte); // mode = 0..3 procedure SetMSPI2mode(mode : byte); // mode = 0..3 procedure SetMSPI3mode(mode : byte); // mode = 0..3 Mode switching of the Hardware SPI Port and the MSPI Ports Applications Flash Checksum check out of the Boot implemented: function CalcFlashCheck_A(cnt : word) : byte; (DocuCompiler) Compiler Revision 4.95.04 Apr.06.2009 ------------------------- New: Mega640..2560 DSC Files. Diverse DSC files updated. Bug with Include files in Units fixed. Bug with Compare Bitsets fixed. Bug in SerBaud4 fixed. Bug in IDLE process with Interrupts fixed. Bug with prozedur-local Float constants fixed. ******************************************************************************** ******************************************************************************** INSTALLATION ============ This program is installed and registered for the requirements of Windows. Therefore there entries in the Win registry are generated. The included ISP-programmer and JTAG-ICE acts as a dongle. It must be plugged into an USB port of the PC. If it is not present, the compiler switches into Demo-Mode. System requirements ===================== Windows2000 or XP is obligatory. With WIN200 min 512MByte RAM With XP min 512MByte, preferable are 1MBytes VISTA is not supported yet! DE-INSTALLATION =============== In order to completely de-install the system, the directories and files must not be deleted manually. Instead use Win "Start|Settings| SystemControl|Software|DeInstall" and select "AVRco". The entire package will be deleted incl. all folders. Over-INSTALLATION ================= For updates downloads use only the download feature of the IDE PED32. A new version can be installed without deleting the old parameters. No setup or projects get lost. Compiler State =============== Known problems Compiler: The function IntegrateI still has a problem with negative values. Assembler: None Simulator: beta phase Editor: None Limitations: Overwriting of predefined Types, Variables, Constants, Functions and Procedures is not implemented yet. The order of the operators (* AND SHR etc.) is not completely implemented yet. So please use always parentheses in conjunction with expressions. Strings ======= The following string concat result is not what you expect: str:= str1 + str; This is correct: str:= str + str1; Not implemented: "With" constructs with Records in Records Double Precision Flot not implemented yet. If you find any problems or errors, we will be pleased about an information via e-mail. In this case we try to fix it in a short time. If you include any source, please attach a ZIP-file. TIP: ---- Check your program complete and thoroughly with the help of the Simulator. If the frame is too small, you get an error message. The real frame and stack usage can be found with a click to the button on top of the Stack/Frame Window. Then you can reduce the Frame or Stack size if desired. AVRco Simulator AVRsim ====================== A screen resolution of at least 1000x800 is recommended. Have fun with a tool that works!