Revision History ========================= Compiler Revision 5.04.37 17.Jun.2013 ------------------------- Bug im FAT Treiber Init mit Soft-SPI beseitigt. Compiler Revision 5.04.36 03.Jun.2013 ------------------------- Mehrere DSC Steuerfiles komplettiert. Compiler Revision 5.04.35 27.Mai.2013 ------------------------- FAT16 Treiber verbessert. Compiler Revision 5.04.34 20.Mai.2013 ------------------------- Kleiner Bug im Optimiser beseitigt. Der Beautifier verarbeitet jetzt auch INCLUDE Files. XMega ------ Neues Graphic Demo für 98x64 Display BF9864 und BO9864 Für ganz besondere Interrupt Anwendungen kann die Sperrung des globalen Interrupt Flags beim Eintritt in eine Interrupt Service Routine verhindert werden mit einem neuen Define in der Define Section des Programms: Define Interruptible_Ints = true; Damit können Interrupts durch höher priorisierte Interrupts unterbrochen werden. Sehr gefährlich und nur für ausgefuchste Profis! Compiler Revision 5.04.33 13.Mai.2013 ------------------------- Bug in HiNibble(const) beseitigt. Beautifier verbessert. Compiler Revision 5.04.32 22.Apr.2013 ------------------------- Beautifier verbessert. Overflow Bug in FloatToFix64 beseitigt. Compiler Revision 5.04.31 15.Apr.2013 ------------------------- Support für XMega8E5, XMega16E5 und XMega32E5 implementiert. Compiler Revision 5.04.30 25.Mar.2013 ------------------------- MerlinBeautifier verbessert. Beautifier Typ kann gewählt werden im Menu "IDE/General Options". XMega ------ Demo Programm für Devantech Ultraschall Proximity Sensor SRF02 (Näherungs Sensor). ..\Demos\XMega_Proximity_L Compiler Revision 5.04.29 18.Mar.2013 ------------------------- Beautifier durch neuen MerlinBeautifier ersetzt. Fat16_32 Treiber verbessert. Interrupt Festigkeit von Pipes verbessert. Kleiner Bug im Optimiser beseitigt. XMega ------ Kleiner Fehler im PortINT beseitigt. Demo Programm für Vishay Infrarot Proximity Sensor VCNL3020 (Näherungs Sensor). ..\Demos\XMega_Proximity Compiler Revision 5.04.28 11.Mar.2013 ------------------------- Fat16_32 Treiber verbessert. XMega ------ Fehler im UpDown Counter beseitigt. Compiler Revision 5.04.27 25.Feb.2013 ------------------------- Ein 3-Phasen Sinus DDS implementiert. Sample: XMega_DDS10_3P. XMega ----- XMega32C3 implementiert. Compiler Revision 5.04.26 18.Feb.2013 ------------------------- Simulator PDI Debug verbessert. Bug im Optimiser beseitigt. XMega ----- XMega <-> TINA-ENC Bug beseitigt. Compiler Revision 5.04.25 11.Feb.2013 ------------------------- Kleiner Bug im TINA Treiber beseitigt. XMega ----- Bug mit Function Pointer beseitigt. Compiler Revision 5.04.24 04.Feb.2013 ------------------------- Optimiser verbessert. XMega ----- Neues Demo Programm "XMega_StepperU" mit Microstepping. Compiler Revision 5.04.23 28.Jan.2013 ------------------------- Bug im Optimiser beseitigt. Compiler Revision 5.04.22 20.Jan.2013 ------------------------- Optimiser: kleiner Bug mit BootBlock beseitigt. FAT16_32: enorme Verbesserungen in der Geschwindigkeit. DiskSize, DiskFree, DiskUsed und Format erheblich schneller und jetzt absolut WIN konform. Bedingt durch bestimmte WIN Vorgaben dauert das Login in eine SD beim Startup und beim Kartenwechsel etwas länger. Achtung: bei SD's >= 4GB unbedingt 32kB Cluster formatieren. Dies bringt extreme Zeitvorteile bei diversen Operationen! Der nächste grosse Schritt mit dem FAT16_32 wird der Support des 4bit SDIO Interface sein. Speed Verdoppelung! Compiler Revision 5.04.21 07.Jan.2013 ------------------------- Zwei kleine Verbesserungen. Compiler Revision 5.04.20 31.Dez.2012 ------------------------- Kleiner Bug im XMega USBsmart beseitigt. Mega1284P.dsc ergänzt. Compiler Revision 5.04.19 17.Dez.2012 ------------------------- Kleiner Bug im Merlin Optimiser beseitigt. Compiler Revision 5.04.18 10.Dez.2012 ------------------------- Optische Verbesserungen in der IDE. Kleiner Bug im FAT16_32 Treiber beseitigt. XMega ----- Neues XMega-AU Datenblatt enthalten Compiler Revision 5.04.17 03.Dez.2012 ------------------------- Kommunikation zwischen IDE und AVRprog sowie IDE und Simulator installiert. Compiler Revision 5.04.16 26.Nov.2012 ------------------------- Bug in der online Hilfe beseitigt. Compiler Revision 5.04.15 19.Nov.2012 ------------------------- Scheduler gegen Interrupts abgesichert. Bug in StepperIOS beseitigt. Kleiner Bug im Optimiser beseitigt. Erweiterte Anzeige der Funktion Grössen. Online Hilfe verbessert. XMega ------ SHT20 Temperatur und Feuchte Sensor Support implementiert. Compiler Revision 5.04.14 12.Nov.2012 ------------------------- Optimiser verbessert. XMega ------ SoftPWM8 implementiert. Ein Software PWM der nur minimalste CPU Last beansprucht und minimale Interrupt Sperrung. Auflösung 3.5bit = 9 Stufen. Reicht für viele Anwendungen aus. Compiler Revision 5.04.13 05.Nov.2012 ------------------------- XMega ------ Simulator mit PDI-ICE: Im Process State Fenster wird jetzt Stack und Frame Verbrauch angezeigt. Compiler Revision 5.04.12 29.Okt.2012 ------------------------- Mehrere Verbesserungen. Compiler Revision 5.04.11 22.Okt.2012 ------------------------- Bug im Optimiser beseitigt. XMega ----- Bugs im MSPI beseitigt. Bug in UpDown Counter beseitigt. Compiler Revision 5.04.10 15.Okt.2012 ------------------------- XMega ----- Kleiner Bug im AES_EncryptCBC beseitigt. Compiler Revision 5.04.09 08.Okt.2012 ------------------------- FAT32 ----- Speed nochmals erhöht. Code Grösse reduziert. Kleine Bugs entfernt. XMega ----- CRC Generation für XMegas erweitert. Compiler Revision 5.04.08 01.Okt.2012 ------------------------- FAT32 ----- Disk Format (quick mode) implementiert. Speed für diverse Funktionen erhöht. Kleine Bugs entfernt. XMega ----- AES Encryption und Decryption für XMegas implementiert CRC Generation für XMegas implementiert. Beta Version. Compiler Revision 5.04.07 24.Sep.2012 ------------------------- FAT32 implementiert ------------------- Eine beta-Version vom neuen FAT32 System ist fertig. Die "alte" FAT16 Version bleibt bestehen. FAT32 wird durch "FAT16_32" importiert. Die Unit wird mit "uses uFAT16_32" importiert. FAT16_32 unterstützt damit FAT16 und FAT32 SD-Cards. Getestet wurden Karten mit 1, 2, 4, 8, 16 und 32GBytes. Selbstverständlich werden auch die SDHC Karten unterstützt. Noch nicht funktioniert das Formatieren von FAT32 Karten sowie der Double Buffer. Ein Beispiel Programm befindet sich in Demos\XMega_FAT32. Das Profi Treiber Handbuch ist entsprechend erweitert. XMega ----- Eine Beta Version eines einfachen 16/32bit Up-Down Counters befindet sich in Demos\XMega_UpDownCount Mehr im aktuellen Standard Treiber Handbuch Programmer ---------- Verbesserte Firmware und Software. Compiler Revision 5.04.06 06.Aug.2012 ------------------------- Kleiner Bug im Merlin Optimiser beseitigt. XMega ----- Bug in MSPI SetMSPImode_xx beseitigt. Programmer ---------- Verbesserte Firmware und Software. Compiler Revision 5.04.05 30.Jul.2012 ------------------------- SwitchPort_G single-input Problem beseitigt. XMega ------ Bug im TWI Treiber mit TWI_BR100..TWI_BR800 beseitigt. Compiler Revision 5.04.04 23.Jul.2012 ------------------------- XMega ------ Bug im UserRow Zugriff beseitigt. Compiler Revision 5.04.03 16.Jul.2012 ------------------------- XMega ------ Bug im UserRow Zugriff beseitigt. Bug im MSPI Treiber beseitigt. Bug im ModBus RTU Treiber beseitigt. Compiler Revision 5.04.02 09.Jul.2012 ------------------------- Bug mit Register Vars mit fixed address beseitigt. XMega ------ Bug im TWI Treiber für XMegas beseitigt. ModBus-RTU für XMegas portiert. Beispiel unter Demos. Compiler Revision 5.04.01 02.Jul.2012 ------------------------- Bug mit EEprom Vars mit fixed address beseitigt. Das I2Cport kann jetzt auch in einer Zeile definiert werden: I2Cport = PortE, 0, 1, 2; // Port, DataPin, ClkPin, optional clock delay Merlin Optimiser: kleiner Bug mit Tinys fixed. XMega ------ Der TWI Treiber für XMegas macht noch Probleme mit diversen I2C Slaves. Update ist in Arbeit. Bis dahin I2Cport benutzen. ModBusASCII für XMegas portiert. Beispiel unter Demos. Compiler Revision 5.04.00 25.Jun.2012 ------------------------- AVRprog Checks erweitert. Neue Firmware für alle ISP3 Versionen im Download. XMega ------ DSC Files erweitert. Bug in FlushBuffer beseitig Bug in SerPort TimeOut beseitigt. Neues Beispiel Programm "XMega Graph6963" Simulator mit PDI-ICE wesentlich verbessert. Compiler Revision 5.03.00 18.Jun.2012 ------------------------- Bug in FlushBuffer(SerPortX) bei SerPortSelect beseitigt. Kleine Bugs im Simulator beseitigt. XMega ------ Der DCF77 Treiber unterstützt jetzt auch die XMegas. Beta Version für das XMega PDI-Debugging (ICE) enthalten. Diese besteht aus dem erweiterten AVRsim (Simulator) und einem Firmware Update für die Programmer ISP3 Debug Versionen. Diese wesentlichen Funktionen sind arbeitsfähig: ASM single step Pascal single step Breakpoint im ASM Fenster Breakpoint im Pascal Fenster Update der Register (R0..R31) bei einem Halt Update der IO-Register bei einem Halt Update der Variablen bei einem Halt Änderung der Register, IOs und Vars durch den User über den SIM. Noch nicht fertig: DataBreakpoints Breakpoints: Die Xmega haben nur zwei interne Breakpoints. Braucht man mehr, dann muss man in der Source feste Breakpoints einbauen mit Pascal: Debug_Break ASM: Break Diese Breakpoints können dauerhaft in der Source bleiben, denn diese werden nur im Debug Modus von der XMega CPU beachtet. Damit ist der Anzahl der Breakpoints keine Grenze gesetzt. Der Programmer ISP3 Debug muss mit der enthaltenen Firmware upgedated werden. Achtung: ältere ISP3 Debug (vor mitte 2011) müssen bei E-LAB upgedated werden. Das Firmware Datum kann im AVRprog mit der Lupen Taste in Erfahrung gebracht werden. Compiler Revision 5.02.08 11.Jun.2012 ------------------------- Kleiner Bug im Merlin Optimiser beseitigt. Compiler Revision 5.02.07 04.Jun.2012 ------------------------- Erweiterter Merlin Optimiser. Neues Firmware update für ISP3. Unterstützt jetzt zwei PDI speeds. Dazu ein neues AVRprog.exe mit der Einstellung des PDI clocks unter "Programmer Options". Fúr die erste Generation von XMegas kann ein PDI low speed clock erforderlich sein. Compiler Revision 5.02.06 29.Mai.2012 ------------------------- XMega ------ LAT, LAS und LAC Opcode handling verbessert. Simulator Support verbessert. Compiler Revision 5.02.05 21.Mai.2012 ------------------------- XMega ------ Bug im I2C Treiber beseitigt. Compiler Revision 5.02.04 18.Mai.2012 ------------------------- Zwei Bugs in der IDE/PED32 beseitigt. Compiler Revision 5.02.03 15.Mai.2012 ------------------------- Diverse Verbesserungen in der IDE/PED32. Neue Datenblätter und Datenblatt updates. Compiler Revision 5.02.02 30.Apr.2012 ------------------------- Diverse DSC Files berichtig. XMega ------ Ältere XMegas, z.B. XMega128A1, unterstützen die neuen Opcodes LAS, LAC und LAT nicht. Das System berücksichtigt das. Compiler Revision 5.02.01 02.Apr.2012 ------------------------- Diverse DSC Files berichtig. Tiny1634 Support. Programmer Software (AVRprog) Start-up Zeit wesentlich verbessert. XMega ------ Neue XMegas implementiert: XMega16-32C4, XMega64-128-192-256-384C3, XMega64A1U Zusätzlich zu den Funktionen "PortX.OutSet" und "PortX.OutClr" neu: Diese Instruktionen machen oft eine read/modify/write Operation überflüssig. PortX.Toggle:= const or var; // byte bits toggle in Port out PortX.DirSet:= const or var; // byte bits setzen in DDR PortX.DirClr:= const or var; // byte bits rücksetzen in DDR Beispiele: PortD.Toggle:= $55; // active bits become inverted in port out PortA.DirSet:= $23; // active bits become high = port output PortB.DirClr:= bb; // active bits become low = port input Compiler Revision 5.02.00 19.Mar.2012 ------------------------- Diverse DSC Files berichtig. XMega ------ Bug im PWMport in der Ausgangs Polarität "PWMpol_xxxx" beseitigt. Neue Datenblätter der XMega-C Serie. Compiler Revision 5.00.00 12.Mar.2012 ------------------------- Neue Firmware für ISP3 enthalten. Tiny87 und Tiny167 Support. XMega ------ Bug im FAT16 mit Soft-SPI beseitigt. Port bit Manipulation implementiert unter Benutzung der Register OutSet/OutClr. Diese Instruktionen machen oft eine read/modify/write Operation überflüssig. PortX.outset:= const or var; // byte bits setzen PortX.outclr:= const or var; // byte bits rücksetzen Beispiele: PortA.OutSet:= $23; // active bits become high PortB.OutClr:= bb; // active bits become low Compiler Revision 4.99.73 20.Feb.2012 ------------------------- Bug in BootTraps beseitigt. Error Handling im PED verbessert. XMega ------ ADC Referenz um den Typ REFintVCC2 erweitert, AVCC div 2 MultiTask Support im TWI implementiert. Compiler Revision 4.99.72 13.Feb.2012 ------------------------- FlashDownloader erweitert mit USB Support für XMegas. Compiler Revision 4.99.71 06.Feb.2012 ------------------------- IDE/PED Projekt Verwaltung verbessert. XMega ----- Bug in XMega USBsmart Treiber beseitigt. Boot FlashDownloader über USB implementiert. Standard Treiber Manual Seite 229 Beispiele: XMega_BootAppU + XMega_MainAppU Compiler Revision 4.99.70 30.Jan.2012 ------------------------- XMega ----- USB Treiber für XMegas implementiert. Dieser Treiber wurde auf extrem geringen Code Bedarf ausgerichtet (<2kB). Weitere Info im Standard Treiber Manual (USBsmart) Seite 88. Ein voll ausgebauter USB Treiber mit Interrupt Betrieb und bis zu 16 Endpoints wird folgen. Compiler Revision 4.99.69 23.Jan.2012 ------------------------- XMega ----- Diverse kleinere Bugs im Compiler und Simulator beseitigt. Alle Teile des Systems erweitert und verbessert Compiler Revision 4.99.68 16.Jan.2012 ------------------------- XMega ------ BootLoader (UART) implementiert. Standart Treiber Handbuch s. 222 Beispiel Programme in der Demos Directory in "XMega_Boot" Compiler Revision 4.99.67 09.Jan.2012 ------------------------- XMega ------ XMega Support im Simulator verbessert. FAT16 MMC SPI-SOFT erweitert. F16_MMCport = PortX.SS, PortY.SCK, PortZ.MOSI, PortW.MISO; Compiler Revision 4.99.66 02.Jan.2012 ------------------------- Datei-Pfad Problem im Simulator beseitigt. Stepper Treiber Prototyp/vorläufig ST L6470 implementiert. XMega ------ IRDA Beispiele komplettiert. Compiler Revision 4.99.65 26.Dez.2011 ------------------------- XMega ----- Bug im Simulator beseitigt. (XMega 64bit compare). Applikation Codesize Limit reduziert. Boot Bereich ausgeschlossen. Compiler Revision 4.99.64 12.Dez.2011 ------------------------- XMega ----- Der IRDA Treiber wurde durch zwei Funktionen erweitert. Compiler Revision 4.99.63 28.Nov.2011 ------------------------- RFID125 Treiber für RFID Reader implementiert. Mehr dazu im Standard Driver Manual Seite 188 Compiler Revision 4.99.62 21.Nov.2011 ------------------------- XMega ----- IRDA/IRcom Treiber für XMega UARTs implementiert. Mehr dazu im Standard Driver Manual Seite 76 Compiler Revision 4.99.61 14.Nov.2011 ------------------------- Kleiner Bug in Boot Application beseitigt. IDE PED32 ProjectInformations um BootApplication erweitert. XMega ----- Bug in generischen Bits z.B. SetBit(PortB, 3, true) beseitigt. Compiler Revision 4.99.60 07.Nov.2011 ------------------------- XMega ------ Neue Funkion implementiert: Procedure HardwareReset; führt einen echten Hardware Reset aus, analog zum Reset Pin. Der RC5 Treiber unterstützt jetzt auch die XMegas. Compiler Revision 4.99.59 31.Okt.2011 ------------------------- Die Funktionen IntToStr und ByteToHex sind jetzt auf den Typ Int8 erweitert. AVRco USB Treiber für 90USB182...Mega128USB -------------------------------------------- Die bisherigen Endpoint Adressen waren etwas unglücklich gewählt und entsprachen nicht ganz dem Standard, sind aber trotzdem legal. Um mehr dem allgemeinen Standard zu entsprechen wurden die Parameter jetzt dahingehend angepasst: alt: EP1 TX = $01 EP1 RX = $82 EP2 TX = $03 EP2 RX = $84 neu: EP1 TX = $01 EP1 RX = $81 EP2 TX = $02 EP2 RX = $82 Der Treiber und das Test Tool wurden entsprechend geändert. Compiler Revision 4.99.58 24.Okt.2011 ------------------------- XMega ------- Die neuen Instruktionen LAS, LAC und LAT komplett aus dem IO Bereich entfernt. Compiler Revision 4.99.57 17.Okt.2011 ------------------------- Type Checks verbessert. XMega ------- Bit-Typ Operationen geändert da RMW Operationen mittels LLAS und LAC mit Ports nicht funktionieren. Im Datenblatt Bereich in der Installation finden sich zwei PDFs die die Unterschiede zwischen "U" und non-"U" XMegas beschreiben. Die neuen "U"-Typen haben jetzt pro DAC zwei echte Kanäle die beim Init etwas anderst zu behandeln. Deshalb kann man jetzt auch beim Import gezielt die gewünschten Kanäle angeben. Beispiele: DAC_B = Chan0, REFEXTB; // chan0 only oder DAC_B = Chan1, REFEXTB; // chan1 only oder DAC_B = Chan01, REFEXTB; // both channels XMega UARTs ------------- Die UARTs können beim DEFINE in den Synchron Mode gesetzt werden: SerPortC0 = 57600, SyncMaster; // XCK is output oder SerPortC0 = 19200, SyncSlave; // XCK is input Manchmal ist es sinnvoll die UARTs zu sperren und wieder freizugeben. Diese Funktionen unterstützen das: procedure UartEnableRxXX( Ena : boolean); // Rx hardware ena/disable procedure UartEnableTxXX( Ena : boolean); // Tx hardware ena/disable wobei XX steht für C0, C1, D0, D1 etc. Compiler Revision 4.99.56 11.Okt.2011 ------------------------- Weitere kleine Bugs in der Bit-Verarbeitung beseitigt, verursacht durch die spezielle XMega Bit-Behandlung. Compiler Revision 4.99.55 10.Okt.2011 ------------------------- Zwei kleine Bugs in der Bit-Verarbeitung beseitigt, verursacht durch die spezielle XMega Bit-Behandlung. Compiler Revision 4.99.54 03.Okt.2011 ------------------------- FileOfText ---------- Bug in Write(Ln) FileOfText beseitigt wenn eine String Konvertierung beteiligt war. Simulator ---------- Ein paar Bugs bedingt durch die Erweiterung auf XMega beseitigt. XMegas ------- Ein paar Tests zeigten dass die clock Grenze von 32MHz ohne offensichtliche Probleme erhöht werden kann, möglicherweise bis zu 64MHz. Echte Tests wurden noch nicht durchgeführt um das wirkliche Limit herauszufinden. Dieses hängt wahrscheinlich von jedem speziellen XMega ab. Um solche Tests zu unterstützen wurde das OSCtype Define erweitert durch die Option "overdrive". Beispiel: OSCtype = int32MHz, PLLmul=5, prescB=1, prescC=1, overdrive; // 40MHz oder OSCtype = int32MHz, PLLmul=6, prescB=1, prescC=1, overdrive; // 48MHz oder OSCtype = int32MHz, PLLmul=7, prescB=1, prescC=1, overdrive; // 56MHz oder OSCtype = int32MHz, PLLmul=8, prescB=1, prescC=1, overdrive; //64MHz Die Option "overdrive" unterdrückt nur die entspr. Fehlermeldung bei Taktraten > 32MHz. Nichts weiter. XMega atomic instructions für Bit Verarbeitung ----------------------------------------------- Die Xmegas bieten eine Unmenge Erweiterungen für Port-Zugriffe. Eine wichtige ist dass man solche read-modify-write Funktionen wie Bit setzen, rücksetzen in Ports mit einem nicht unterbrechbaren "atomic" Befehl machen kann. Das ist extrem wichtig bei Interrupts und MultiTasking wenn mehrere Programm Teile manipulierend auf das gleiche Port zugreifen. Hier kann es passieren dass unmittelbar nach einem read-cycle ein Interrupt kommt der das Port verändert und diese Änderung durch das unterbrochene read-modify-write wieder aufgehoben wird. Der AVRco trägt dem Rechnung und benutzt dazu die atomic instructions OutSetX, DirSetX, OutClrX, DirClrX, OutTglX, DirTglX für IO-Port Bit setzen, rücksetzen und toggle. Das gleiche gilt für Bit-Manipulationen in SRAM Bytes. Hier werden die neuen Instruktionen LAS (setbit), LAT (clearbit) und LAT (toggle) benutzt. Compiler Revision 4.99.53 26.Sep.2011 ------------------------- XMegas ------- Mit dem Define ADCprescX lässt sich jetzt auch die Auflösung einstellen: ADCprescA = 4, 8; // clk div 4, resolution 8bits Compiler Revision 4.99.52 19.Sep.2011 ------------------------- Der Simulator AVRsim unterstützt jetzt auch die XMegas SerPorts bzw. UARTs mit ein paar kleinen Einschränkungen. Timer etc. und Interrupts bleiben weiterhin aussen vor. Compiler Revision 4.99.51 12.Sep.2011 ------------------------- Der Simulator AVRsim unterstützt jetzt auch die XMegas in einer Beta-Version. Ausser dem SysTick werden keine Interrupts unterstützt. Auch UARTs, Timer und andere Peripherie werden nicht unterstützt. In-circuit Debuggen mit dem ISP3-Debugger kommt in nächster Zeit. Compiler Revision 4.99.50 05.Sep.2011 ------------------------- Bug in wzTINA (TCP) beseitigt. Kleiner Bug BoolToStr beseitigt. Die Auto-Vervollständigung (CTRL+space) ist jetzt durch eine abschaltbare Record Vervollständigung erweitert (IDE PED32) Compiler Revision 4.99.49 29.Aug.2011 ------------------------- Kleiner Bug im Merlin Optimiser beseitigt. Die IDE PED32 speichert beim schliessen eines Projekts alle aktiven Merker/Bookmarks einer Datei so dass diese beim nächsten öffnen wieder zur Verfügung stehen. Neue Attribute für Variablen Deklaration. Diese Attribute zwingen den Compiler dazu eine Variable auf geradzahlige bzw. ein vielfaches davon zu legen: var st1 : string[16], Align2; bb : byte, Align4; Arr : tArr, Align8; Compiler Revision 4.99.48 26.Aug.2011 ------------------------- Neue Programmer updates für XMega Programmer. Beispiel BootApp mit BootMain vervollstandigt. Mehr im Standard Driver Manual im Paragraph "3.48 BootApplication und MainApplication" XMega ------- Neue Funktionen definiert durch den Import von XMegaSupport Function ReadProductionRow(loc : word) : byte; Function ReadUserRow(loc : word) : byte; Neue XMega Opcodes implementiert, LAT, LAC, LAS, XCH LAC Z, R15; LAT Z, _ACCA; LAS Z, _ACCB; XCH Z, R15; Compiler Revision 4.99.47 15.Aug.2011 ------------------------- XMega ------- Manche XMegas, z.B. 256A3B, besitzen keinen 16bit RTC Timer. Deshalb kann dieser nicht für den SysTick verwendet werden. Um trotzdem den SysTick zu benutzen zu können, kann jetzt auch ein belieger 16bit Timer dazu herangezogen werden. Weitere Infos im aktuellen Compiler Manual Seite 166. Boot Applikation für XMegas implementiert. Beispiel Programm: XMega_BootApp. Mehr dazu auch im Standard Treiber Manual Seite 209 Compiler Revision 4.99.46 08.Aug.2011 ------------------------- Kleiner Bug in ProcWaitFlag beseitigt. Support für Tiny4413 implementiert. Compiler Revision 4.99.45 01.Aug.2011 ------------------------- Volatile Switch für den Optimiser ---------------------------------- Im memory-mapped IO-Bereich (meistens $XData) kann es IO-Register geben die mehrmals hintereinander mit unterschiedlichen Daten beschrieben oder gelesen werden müssen. Der Optimiser erkennt dies normalerweise als redundant und entfernt diese "unnötige" Zugriffe. Um das zu verhindern gibt es die neuen "volatile" Schalter. Diese zwingen den Optimiser hier nichts zu verändern. Volatile bedeutet die Daten sind "verloren" bzw. bleiben so nicht erhalten. Ein Beispiel dafür wäre z.B. eine Hardware Pipe. {$OPTI VOLATILE_ON} die folgenden Daten werden als volatile behandelt, keine Optimierung {OPTTI VOLATILE_OFF} die folgenden Daten werden als non-volatile behandelt, Optimierung {$OPTI VOLATILE_DFT} die folgenden Daten werden default behandelt Weitere Infos dazu im aktuellen Compiler Manual Seite 195 Bug in IncToLim(int8) und DecToLim(int8) beseitigt. XMegas: ------- Kleiner Bug in Start_Processes, SysTickDisable, SysTickEnable, SysTickStart und SysTickStop beseitigt. Compiler Revision 4.99.44 19.Juli.2011 ------------------------- Weitere Differenzen bei SerPort und SerPort1 beseitigt. "Define_Fuses" Anweisungen erweitert: AutoRelease = true/false; ProgUsrRow = true/false; // XMegas Compiler Revision 4.99.43 18.Juli.2011 ------------------------- USB Treiber verbessert. Differenzen bei SerPort und SerPort1 beseitigt. Neuer Button in der IDE: Syntax Check, benötigt keinen Dongle und erzeugt kein ASM File. Neuer Menu Punkt in der IDE: Tools/USB Viewer DSC Files für neue AVRs erstellt: Mega128RFA1, XMega64A3U, XMega128A3U, XMega192A3U, XMega256A3U, XMega16A4U, XMega32A4U, XMega64A4U, XMega128A4U. Alle neuen XMegas mit internem USB. Compiler Revision 4.99.42 27.Juni.2011 ------------------------- Beispiel Programm XMega_SerPortFast mit 2MBit/sec Baudrates Mega16-32HVB Unterstützung durch neue DSC Files. Bug in TINA Treiber (MSPI_x) beseitigt. Compiler Revision 4.99.41 06.Juni.2011 ------------------------- Update/Download Problem im PED32 beseitigt. Englisch sprachige Popup Dialog Boxen wieder eingeführt. Font im PED Editor lässt sich jetzt fast beliebig einstellen. Max. Unit Files auf 128 erweitert. Fehler in Meg48/88/168/328 DSC Files beseitigt. Compiler Revision 4.99.40 30.Mai.2011 ------------------------- Pointer auto decrement implementiert, benutzt das AVR Pointer pre-decrement. Beschränkt auf 8bit Typen. bb:= p^--; p^--:= bb; p--; Kleiner Bug im Optimiser beseitigt. MIRF86 implementirt. Unterstützt den Atmel AT86RF231 2.4GHz chip Beispiel Programme in ..\Demos\MIRF86 Ausführliche Info im Profi-Treiber-Manual Compiler Revision 4.99.39 23.Mai.2011 ------------------------- Kleiner Bug im Optimiser beseitigt. Error Handling im PED und Compiler verbessert. Compiler Revision 4.99.38 16.Mai.2011 ------------------------- Der Soft-I2C Treiber wurde um NOPs0..NOPs10 erweitert. Die Programmer ISP3, UPP1 und UPP2 unterstützen jetzt auch die TINY 4 - 5 - 9 - 10 - 20 Neuer AVRprog, PackProg und DSC Files enthalten. Programmer Firmware Updates enthalten. Geräte älter als 04/2010 die diese Tinys unterstützen sollen, müssen zu E-LAB eingeschickt werden damit diese eine komplett neue Firmware erhalten. Compiler Revision 4.99.37 09.Mai.2011 ------------------------- Die Random Funktion wurde um RandomSeed erweitert; Procedure RandomSeed(s : word); XMega ------ Die Random Funktion wurde zur Verbesserung mit einem freilaufenden internem RC Oszillator (RTC) verknüpft. Compiler Revision 4.99.36 02.Mai.2011 ------------------------- Programmer und XMega -------------------- Alle Programmer (ISP3, UPP1, UPP2) unterstützen jetzt die XMega Programmierung. Info hier: http://e-lab.de/pdf/XMegaProg.pdf Neuer AVRprog.exe und PackProg.exe im update enthalten. XMega ----- Compiler unterstützt jetzt den speziellen Flash Speicher UserSignatureRow. Mehr im aktuellen Compiler Handbuch. Auch die Programmer können jetzt diesen Flashbereich programmieren Compiler Revision 4.99.35 18.Apr.2011 ------------------------- Bit Test mit LongWord implementiert. Bug in Inc/DecToLimit(p^.int8) beseitigt. Kleiner Bug im Optimiser beseitigt. Compiler Revision 4.99.34 04.Apr.2011 ------------------------- Bug in Inc/DecToLimit(int8) beseitigt. Kleiner Bug im Optimiser beseitigt. Bug in BootApp beseitigt. Compiler Revision 4.99.33 21.Mar.2011 ------------------------- Neue Funktion: Function Assigned(p : anypointer) : boolean; Gibt ein true zurück wenn der Pointer <> NIL ist. AVR USB -------- Der USB Treiber für den Mega128USB ist fertig. Ausführliche Infos im Profi Treiber Manual. Ein Demo Programm befindet sich hier: ..\AVRco\Demos\EvaBoard128 Compiler Revision 4.99.32 28.Feb.2011 ------------------------- Bug in Return(const_BitSet) beseitigt. Problem mit Pfaden in WIN7/64 beseitigt. Error Display verbessert. Neue AVRs aufgenommen: Mega8U2-16U2-32U2 Mehrere kleinere Bugs beseitigt. Compiler Revision 4.99.31 07.Feb.2011 ------------------------- PED32 IDE --------- Warnings in Units verbessert. Neuer Font "PED32 Regular" = "PED Cour" wird installiert. Der Font entspricht dem Courier, hat aber eine durchgestrichene Null. Dieser Font kann im Dialog "IDE/General Options/Font&Color" eingestellt werden. WIN7 ---- Sollte "PED Cour" nicht zur Verfügung stehen, dann ein Doppel Click auf "PED32 Regular" im PED Verzeichnis/Fonts und Installieren clicken. WIN-XP ------ Sollte "PED Cour" nicht zur Verfügung stehen, dann ein öffnen von Systemsteuerung - Schriftarten - Menu Datei - neue Schriftart installieren "PED Cour". XMega ------ Bug in TWIstatXX beseitigt. Compiler Revision 4.99.30 31.Jan.2011 ------------------------- Soft I2C Delay mit NOPs erweitert: Define I2Cclk = PortBit, NOPsX; wobei "X" von 0..7 laufen kann. NOPs0, NOPs1... Compiler Revision 4.99.29 24.Jan.2011 ------------------------- Weiterer Bug im Optimiser beseitigt. Compiler Revision 4.99.28 10.Jan.2011 ------------------------- Kleiner Bug im Optimiser 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 und WIN7, 32bit und 64bit, werden 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.