Revision History ========================= Compiler Revision 4.97.13 08.Mar.2010 ------------------------- Der neue Typ Fix64 wird jetzt auch im Simulator unterstützt. Bug in DEC(Int64, const) beseitigt. XMega: Bug in WaitPipe(RxBuffer) beseitigt. XMega: Bug in SerPortSelect beseitigt. Compiler Revision 4.97.12 01.Mar.2010 ------------------------- Mehrere kleinere Verbesserung in der Code Generierung. Compiler Revision 4.97.11 22.Feb.2010 ------------------------- Funktion SerBaud(bbbb) auf 1MBaud erweitert. SerPort_Send1 implementiert. Avra's 32bit Fixed Point Library in den Demos unter Fix32Math. Compiler Revision 4.97.10 15.Feb.2010 ------------------------- XMega Support: ============== DA-Converter DAC_A und DAC_B implementiert. Compiler Revision 4.97.09 08.Feb.2010 ------------------------- XMega Support: ============== DSC Files für alle XMegas erstellt. Compiler Revision 4.97.08 01.Feb.2010 ------------------------- SizeOf(xArr[1]) ist jetzt implementiert. FAT16 File Types in Records implementiert. FEdit Unit als Source im System enthalten. XMega Support: ============== ADC_A und ADC_B sind implementiert. Weitere Infos im Standard-Treiber-Manual Compiler Revision 4.97.07 25.Jan.2010 ------------------------- Kleiner Bug im Optimiser beseitigt. Bug in CheckStackValid(Task) mit Mega256 beseitigt. SerInp1, SerOut1 und SerStat1 implementiert. Compiler Revision 4.97.06 18.Jan.2010 ------------------------- XMega Support: ============== Hardware SPI implementiert: SPI_C, SPI_D, SPI_E, SPI_F Treiber die SPI benutzen: LCDport, MIRF24port Compiler Revision 4.97.05 11.Jan.2010 ------------------------- Kleiner Bug im Optimiser fixed. Bug im File pTiny2313.dsc beseitigt (PWM). XMega Support: ============== SerPorts implementiert. Beispiel Programm "XMega_SerPort" in der Demos Directory unter "XMega_SerPort" Weitere Infos im Standard-Treiber-Manual SlipPorts implementiert. Beispiel Programm "XMega_SLIP" in der Demos Directory unter "XMega_SLIPport" Weitere Infos im Profi-Treiber-Manual Compiler Revision 4.97.04 04.Jan.2010 ------------------------- Kleiner Bug im ModBus fixed. (falsche Darstellung im ModBus-Simulator) Compiler Revision 4.97.03 21.Dez.2009 ------------------------- Bug in TWIslave Buffer size fixed. Kleiner Bug im Optimiser fixed. (Fehlermeldung durch Simulator) XMega Support: ============== Clock System vervollständigt. Beispiel Programm in der Demos Directory in "XMega_Test". Weitere Infos im Compiler Manual Seite 152. Compiler Revision 4.97.02 07.Dez.2009 ------------------------- DecimalSep Bug fixed. Kleine Bugs fixed. (Fehlermeldung durch Compiler) Compiler Revision 4.97.01 30.Nov.2009 ------------------------- Help System verbessert. XMega Support: ============== Ein paar kleine Bugs entfernt. Compiler Revision 4.97.00 23.Nov.2009 ------------------------- Neuer Installer ================ Die aktuelle Installation unterstützt jetzt auch Windows7 (32bit) XMega Support: ============== Zugriff auf Konstante im Flash implementiert. Compiler Revision 4.96.10 16.Nov.2009 ------------------------- Bug in SizeOf(localRecord.member) fixed. LCD Init geändert. Existierende Apps sind nicht betroffen. Umlaute, Diacritics (Ü, è) etc. werden jetzt in Labels, Namen und Bezeichner nicht mehr akzeptiert. FAT16 erlaubt nun auch "_" in Datei und Pfadnamen. Neuer Optimiser mit erheblicher Geschwindigkeits Verbesserung. Compiler Revision 4.96.09 09.Nov.2009 ------------------------- Normalerweise wird zur SPI Programmierung der "ProcClock" zur Kalkulation herangezogen. wenn aber eine niedrigere Geschwindigkeit notwendig ist kann dies durch das Define von "SPIclk" erzwungen werden. Define_Fuses ... SPIclk = 1000000; // optional SPI programming speed Compiler Revision 4.96.08 02.Nov.2009 ------------------------- Bug in "x shl EEpromVar" fixed. Compiler Revision 4.96.07 26.Okt.2009 ------------------------- XMega Support: ============== Bug in FAT16 FileOfText fixed. Bug in StackCheck mit Mega256 fixed. Small bug im Merlin Optimiser fixed. Für den XMega128A1 sind jetzt 4 weitere Funktionen implementiert: 1.) DCF77 2.) RC5Rxport 3.) Clock-System 4.) Für User Treiber die SPI, UART, Timer etc der XMegas benutzen wollen, wird vom Compiler das {$DEFINE XMEGA} bereitgestellt. Der Grund: Diese Peripherals heissen beim XMega nicht mehr USART0, Timer0, SPI... sondern USARTC0, USARTC1, TimerC0, TimerC1, SPIC, SPID etcetc. Entsprechend ändern sich alle Steuer Register Namen der Peripherals. Ausser den Port Registern wurden alle Namen von Atmel geändert. Beispiel SPI: {$IFDEF XMEGA} SPICDATA:= xy; {$ELSE} SPDR:= xy; {$ENDIF} Damit können Treiber erstellt werden, die sowohl auf AVRs als auch XMegas laufen. Alle weiteren Treiber werden schrittweise folgen. Als nächstes werden die externen Interrupts und Timer kommen. Ein Test Programm ist in der Demos Directory in "XMega_Test" zu finden. Die XMegas werden vom SIM, Wizard und Programmer noch nicht unterstützt! Compiler Revision 4.96.06 19.Okt.2009 ------------------------- Bug in StringCompare EEprom/Const fixed. Bug in FAT16 FileRename fixed. Bug in Merlin Optimiser fixed. Der Schalter "$TypedConst off" sollte jetzt nicht mehr verwendet werden! XMega Support: ============== Für den XMega128A1 sind jetzt 17 weitere Funktionen implementiert: 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 Alle weiteren Treiber werden schrittweise folgen. Als nächstes wird das Clock-System, DCF77 etc. kommen. Ein Test Programm ist in der Demos Directory in "XMega_Test" zu finden. Die XMegas werden vom SIM, Wizard und Programmer noch nicht unterstützt! Compiler Revision 4.96.05 12.Okt.2009 ------------------------- Bug in Merlin Optimiser fixed. XMega Support: ============== Für den XMega128A1 sind jetzt 2 wesentliche Funktionen implementiert: a.) SysTick b.) MultiTasking Alle weiteren Treiber wie EEprom, Timers, UARTs etc. werden Schrittweise folgen. Als nächstes wird das EEprom kommen. Ein Test Programm ist in der Demos Directory in "XMega_Test" zu finden. Die XMegas werden vom SIM, Wizard und Programmer noch nicht unterstützt! Compiler Revision 4.96.04 05.Okt.2009 ------------------------- Tiny261-461-861 DSC Files berichtigt. Merlin Optimiser verbessert. Neues Reference Manual Compiler Revision 4.96.03 14.Sep.2009 ------------------------- Problem bei GetRTCxxx return-Typ beseitigt. Falsche RTCtimer Defs in diversen DSC-Files berichtigt. Bug im Merlin Optimiser mit kurzen Loops beseitigt. Compiler Revision 4.96.02 31.Aug.2009 ------------------------- Bug in SPIport beseitigt (low bitrates) Bug in TWIoutP/TWIoutPW beseitigt. SmartLinker & Merlin Optimiser =============================== Der Merlin Optimiser ersetzt nun komplett den AVRco SmartLinker. Werden nur die SmartLinker Funktionen benötigt, kann dies dem Merlin Optimiser mit diesem Schalter mitgeteilt werden: {$OPTI SMARTLINK_ONLY} Dieser entfernt dann nur unbenutzte Funktionen/Prozeduren (dead code). Alle anderen Optimiser Funktionen sind dann abgeschaltet. Dieser Schalter arbeitet global, also auch für Units und Includes. Compiler Revision 4.96.01 10.Aug.2009 ------------------------- Bug in DEFINE DecimalSep beseitigt. Bug mit BitSets im EEprom beseitigt. Bug im Merlin Optimiser beseitigt. Compiler Revision 4.96.00 08.Juli.2009 ------------------------- Die SHRA Operationen sind durch eine Aufrundung erweitert. SmartLinker ist jetzt abgeschaltet. Bitte Merlin Optimiser benutzen. Der Merlin Optimiser kann jetzt zwingend im Hauptprogramm mit {$Optimise} aktiviert werden. Dieser Schalter !muss! in der ersten Zeile des Hauptprogramms stehen. Bug in BootApplication beseitigt. Bug in Function return a Function pointer beseitigt. Compiler Revision 4.95.08 08.Juni.2009 ------------------------- Der SlipPort Treiber wurde um die Semaphoren SlipRxSema1..4 erweitert. Prozesse können damit auf ein Packet warten: WaitSema(SlipRxSema1); Neue Funktionen: 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 04.Mai.2009 ------------------------- Neues LCD Graphic Demo/Test Programm für ST7565R Controller in ..\Demos\LCD_ST7565R\AVR Graph7565 Neue Programmer Anweisung: Define_Fuses CalByte = CalByteNumber, Address; Bug im SmartLinker beseitigt. Optimiser Bug Fix wenn zwei Pointer auf dieselbe Stelle zeigen. Neues Info "Optimiser History" in der Optimiser Directory. Compiler Revision 4.95.06 20.Apr.2009 ------------------------- Bug in "Define SPImode = xx" beseitigt. Bug in SerPort4 beseitigt. Compiler Revision 4.95.05 13.Apr.2009 ------------------------- Neue MultiTasking Funktionen (DocuCompiler): Function GetTaskStackFree : word; Function GetTaskFrameFree : word; Neue SPI Treiber Funktionen (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 Umschaltung des Hardware SPI Ports und der MSPI Ports Applikations Flash Checksumme aus dem Boot heraus prüfen implementiert: function CalcFlashCheck_A(cnt : word) : byte; (DocuCompiler) Compiler Revision 4.95.04 06.Apr.2009 ------------------------- Neue Mega640..2560 DSC Files. Update für mehrere DSC Files. Bug mit Include Files in Units beseitigt. Bug mit Compare Bitsets beseitigt. Bug in SerBaud4 beseitigt. Bug im IDLE Prozess mit Interrupts beseitigt. Bug mit prozedur-lokalen Float Konstanten beseitigt. ************************************************ ************************************************ INSTALLATION ============ Dieses Programm wird nach den Regeln von Windows installiert und registriert. Deshalb werden Einträge in die WIN REGISTRY erzeugt. Die Vollversion enthält einen Programmierer und JTAG-ICE zum Anschluss an ein USB Port des PCs. Dieser wirkt als Dongle für das System. Ist er nicht vorhanden, so arbeitet der Compiler im Demo-Mode! System Anforderungen ===================== Windows2000 oder XP ist Voraussetzung. Bei WIN200 min 512MByte RAM Bei XP min 512MByte, besser sind 1MBytes VISTA wird zur Zeit noch nicht unterstützt. DE-INSTALLATION =============== Zum kompletten de-installieren dürfen die angelegten Directories und Files nicht von Hand gelöscht werden. Bitte benutzen Sie "Start|Einstellungen| SystemSteuerung|Software|DeInstallieren" und geben Sie dann "AVRco" an. Das komplette Paket wird damit gelöscht incl. aller Verzeichnisse. Nach-INSTALLATION ================= Um sicher zu gehen, dass immer die aktuelle Version installiert wird muss unbedingt die Update/Download Funktione in der IDE PED32 benutzt werden. Eine neue Version kann über die alte installiert werde. Es gehen keine Projekte oder Einstellungen verloren. Compiler Status =============== Zur Zeit bekannte Fehler: Compiler: Die Funktion IntegrateI hat noch einen Bug bei negativen Werten. Assembler: keine Simulator: in Beta Phase Editor: keine Einschränkungen: Das Überschreiben von vordefinierten Typen, Variablen, Konstanten, Funktionen und Prozeduren ist zur Zeit noch nicht möglich. Die Wertigkeit der Operatoren (* AND SHR etc.) wird z.Zt. noch nicht überall eingehalten. Deshalb ist das Klammern von Ausdrücken unbedingt notwendig. Strings ======= Das folgende String Concat bringt ein unerwünschtes Resultat: str:= str1 + str; Das funktioniert: str:= str + str1; Nicht implementiert: "With" Konstrukte mit Records in Records Double Precision Float ist noch nicht implementiert! Sollten Sie irgendwelche Probleme oder Fehler feststellen, so sind wir Ihnen für eine Nachricht dankbar. Wir werden versuchen, möglichst umgehend für Abhilfe zu sorgen. Wenn Sie Sources Files mitschicken, bitte nur im ZIP-Format. TIP: ---- Testen Sie Ihr Programm möglichst ausgiebig mit dem Simulator. Falls der Frame zu klein ist, erhalten Sie hier eine Fehlermeldung. Die tatsächliche Frame und Stack Belegung können Sie hier durch einen Click auf die Taste oben im Stack/Frame Window feststellen. AVRco Simulator AVRsim ====================== Eine Bildschirm Auflösung von 1000x800 ist sinnvoll. Besser ist 1200x1000 Viel Spass beim Arbeiten mit AVRco und AVRsim.