MikroElektronika Learn

Compilers Roadmap Update

AVR Compilers Roadmap

11 May , 2017  

The new 7.00 version of AVR compilers merges Visual TFT, the GUI design tool, with the compiler.

  • Release date: May 11, 2017
  • IDE build: 7.00
  • Command line build: 7.00

List of features applies to all three languages (mikroC, mikroPascal, mikroBasic) unless specified otherwise.

Make sure you have the latest version of the AVR compilers while you wait for the new one. You can download it from this page. New users will have a functional trial version. License owners are entitled to a lifetime of free upgrades.

See the Project Log for the full list of new features, improvements, and fixes.

Project Log

The new 7.00 version of the AVR compilers integrates Visual TFT, the GUI design software.

  • Release date: May 11, 2017.
  • IDE build: 7.0.0
  • cmd line build: 7.0.0

Compiler

Additional 10 MCU supported:  

  • ATtiny102
  • ATtiny104
  • ATtiny417
  • ATtiny814
  • ATtiny816
  • ATtiny817
  • ATmega324PB
  • ATmega328PB
  • ATmega48PB
  • ATmega88PB

Fixes:

  • Fixed: Incorrect arithmetic division of signed integers by powers of two.
  • Fixed: Incorrect initialization of globals and statics in certain cases.
  • Fixed: Incorrect parameter passing in certain cases.
  • Fixed: Coff file generation failed in a certain case.

IDE

New:

  • Visual TFT integrated into compiler IDE
  • Design, Code, Compile, Debug, Program... All from one place
  • Simple and fast switch between design and coding
  • Added code automated 3-way code merge for VTFT generated projects
  • Automated synchronization of edited event file with design, awareness and background compiler on generated code
  • Automated synchronization of generated files with edited code, merge
  • One project, One application with combined predefined visual and compiler settings in one place
  • Easy switching from old projects
  • Added site license activation.
  • Key file license is now obsolete
  • Added integral (Filter) search for Project Manager, Project Explorer, Library Manager, Code Explorer, Procedure List with Regular Expression search support
  • Library Manager now can open library source on right click,  if the source is present.
  • FAT32, FT800(1), FT810(1) and FT812(3) now come pre-installed with the compiler (Visual TFT part requirements)

Improved:

  • Added a new view to Project Manager to support displaying complex project sub tree.
  • Export Project now exports whole folder structure.
  • Clean Project Folder cleans whole folder structure.
  • Cleaning changed from selecting specific files to selecting file types to clean.
  • Edit search paths form improved to work with relative search and header paths.
  • Project file now saves and loads relative paths
  •  Code completion for pascal and basic now supports array of records, array of pointers on record
  • Updated the bootloader application with automatic hardware recognition feature

Fixed:

  • Ctrl+space did not work with arrays without dimension in declaration
  • Watch window elements with Inf or Nan values changed unexpectedly
  • Watch windows throws unexpected error in certain case
  • USART Terminal exceptions in various cases
  • USART Terminal received data may be lost
  • USART Terminal sending data slowly
  • IDE crashed on fast switch between editor tabs
  • AutoComplete macros %DATE%, %TIME%, %DEVICE%, %DEVICE_CLOCK%, %COMPILER%  did not work
  • Edit project sometimes crashes when trying to change MCU
  • Pressing F11 multiple times causes IDE to crash
  • Delete file or project file outside of IDE, causes IDE to crash
  • IDE couldn't find AVR FLASH if it was installed for "All Users"

Libraries

  • Added support for STMPE610 controller
  • Added external reference to all ADC libraries (forum enhancement poll request)
  • Added timeout in all TWI(I2C) libraries (forum enhancement poll request)
  • Added function pointers in TWI(I2C)I2C libraries

Examples

  •  Added bootloader example for MINI-AT
  •  Added example sets for Mikromedia for XMega and Custom FT8xx control

AVRFlash 2.20

Additional 12 MCU supported in AVRFlash:

  • ATmega328
  • ATmega324PB
  • ATmega328PB
  • ATmega32U4
  • ATmega48PB
  • ATmega88PB
  • ATmega168PB
  • ATtiny87
  • ATtiny167
  • ATtiny441
  • ATtiny841
  • ATtiny828

Compiler

Additional 10 MCU supported:  
AT90PWM161	ATMEGA168PB
ATMEGA3250A	ATMEGA3250PA
ATMEGA325PA	ATMEGA3290A
ATMEGA6450P	ATMEGA645P
ATMEGA6490P	ATTINY1634
ATTINY441	ATTINY828
ATTINY841	ATTINY84A
ATXMEGA16E5	ATXMEGA32C3
ATXMEGA32D3	ATXMEGA32E5
ATXMEGA8E5
Fixes:
  • Fixed: Dead code optimization issue with initialized auto variables
  • Fixed: Initialization with implicit cast from
  • Fixed: Optimization wrong metod index caused code generator to fail

IDE

  • New: Add local variable by identifier (CTRL+SHIFT+V)
  • New: Wild Card '*' supported in code completition
  • New: Code completition handles 1 character permutation
  • New: Added Back and Forward navigation trough files and code (similar to web browser navigation)
  • New: Project Explorer
    • added stop active folder search option
    • added folder up shortcut
    • added hint on files and folders
  • New: Library Manager
    • added hint on function to show function parameters
    • added drag and drop of function into editor
  • Improved: Project Wizard
    • removed steps (tabs) when creating new project
  • Improved: Project Manager
    • updated tool buttons and hits
    • added hint on files and folders
  • Fixed: Cancel New Project Wizard still creates project on disk (new project will now be saved only on user request)
  • Fixed: Removing non-existing file from ProjectManager in some cases caused IDE to halt.

Libraries

  • New: Added assert.h and stdbool.h header files.
  • Fixed: Bug with CAN standard message
  • Improved: 8-bit PWM libraries are enhanced with functions to configure each of the PWM channels individually

Compiler

  • Improved: Faster optimization and linkage.
  • Improved: Allocation of locals to registers.
  • Fixed: Call tree generator did not work for specific examples.
  • Fixed: Pointer to types that has overridden memory specifier was incorrectly dereferenced.

IDE

  • Improved: Function tree changed to work with new call tree generator.

Libraries

  • New: Added support for new TFT controller ILI9341 in both 8bit nad 16bit mode.

Examples

  • New: Added EasyAVR7 examples.

Compiler

  • New: Additional 18 MCU supported
    ATxmega128A1U	ATxmega32C4
    ATxmega128A4U	ATxmega384C3
    ATxmega128B1	ATxmega384D3
    ATxmega128B3	ATxmega64A1U
    ATxmega128C3	ATxmega64A4U
    ATxmega128D4	ATxmega64B1
    ATxmega16C4	ATxmega64B3
    ATxmega192C3	ATxmega64C3
    ATxmega256C3	ATxmega64D4
    
  • New: Initializer of local variables can be variable expression
  • Improved: Peephole optimizer minor changes
  • Fixed: Const Folding of ternar operator
  • Fixed: Handling of void in expressions
  • Fixed: Anonymous union definition and tag definition conflict

IDE

  • New: Live update support
  • New: Added shortcut button for Package examples
  • New: Pointer handling in watch window shows data it points to
  • New: Function pointers show the name of the function currently pointing at
  • New: Value hint in debug mode for pointers shows data it points to
  • New: Code assistant (CTRL+SPACE) for pointer to structures
  • Fixed: Highlighting of comment that contains \ at end of line
  • Fixed: Issue with setting MCU frequency
  • Fixed: Creating project with empty name
  • Fixed: Creating project which name which starts with a digit
  • Fixed: "File Save As", "Project Save As" and "Save Project Group" give wrong file filters
  • Fixed: Active comment starts with a digit caused IDE to crash
  • Fixed: It is not possible to save a project group when projects were added from Project Explorer
  • Fixed: Statistics window did not always stayed on top
  • Fixed: In debug mode changing focus between editor and watch list was not momental (Insert, Delete key...)
  • Fixed: Closing file while compile is in progress caused IDE to crash
  • Fixed: Search paths was not refreshed on starting IDE if "Search Path" window was opened when IDE was closed
  • Fixed: Removed space characters in front of line code When a bookmarked line is displayed in bookmark window

Libraries

  • New: Low level TFT Library functions are now open source, available for user editing (located in __Lib_TFT_Defs, __Lib_TFT_16bit_Defs)
  • New: Additional TFT controllers supported:
    • HX8347G (16-bit communication)
    • ILI9340 (8-bit communication)
    • ILI9481 (8-bit communication)
  • New: Added standard headers stdint.h, stdio.h, stdlib.h and string.h
  • Improved: T6963C, SPI_T6963C and S1D13700 libraries supporting invert color

Compiler

  • New: Interrupt context saving handling (ICS keyword)
  • Improved: Faster compiling
  • Fixed: Interrupt vector table RJMPs

IDE

  • New: Welcome screen added
  • New: Interrupt assistant hint button inside code editor
  • New: #define MACROS from included files are listed in Code Explorer
  • New: #define MACROS are added to Code Assistant
  • New: Update Project Manager after cleaning project files using ClearProject
  • New: Double Click on bookmark in Bookmark editor opens file and positioniing on line where bookmark is placed
  • New: Remove all breakpoints option implemented
  • Improved: Bookmark Editor. You can now view bookmark IDs
  • Improved: Bookmark Editor. You can now see all files in project containing any bookmark
  • Improved: Dongle handling, plug/unplug dongle detection
  • Improved: Dongle handling, plug/unplug dongle detection
  • Fixed: Progress Bar window did not have border
  • Fixed: Undo command in editor doesn't return to saved state of file
  • Fixed: SaveBookmarks doesn't work
  • Fixed: LoadBookmarks doesn't work
  • Fixed: Find decalration doesn't locate #define MACROS from included files
  • Fixed: Multiple row word-by-word selection

Libraries

  • Fixed: ADC_Get_Sample() cleared user defined voltage references

Compiler

  • Improved: Maintenance release, several bugs fixed
  • Fixed: Case sensitivity bug in 5.20

Compiler

 
  • New! Additional chips supported:
ATxmega128A3U	ATxmega16A4U
ATxmega192A3U	ATxmega256A3BU
ATxmega256A3U	ATxmega32A4U
ATxmega64A3U
  • Improved: faster compilation

IDE

  • New: Added progress bar when unistalling user packages
  • New: Added option to reload project file which has been externaly changed
  • New: Breakpoints are now saved to file.
  • New: Breakpoints are loaded when opening file.

Libraries

  • New! TFT Library supporting following controllers
    • ILI9340 (16-bit commmunication)
    • ILI9342 (16-bit commmunication)
    • ILI9481 (16-bit commmunication)
    • ILI9481 (16-bit commmunication)
    • SSD1963 (16-bit commmunication)
    • R61526 (8-bit commmunication)
    • ST7715R (8-bit commmunication)
    • HX8347G (8-bit commmunication)
    • SSD1963 (8-bit commmunication)
  • New! PWM Library for XMEGA
  • New! Timer Library for XMEGA
  • Improved: MMC FAT16 library
    • directory operations added (creation, removal, content listing, rename)
    • new file operations added (seek, tell, rename)
  • Fixed: FloatToString for large negative numbers returned string without sign
  • Fixed: strstr function in some cases returned incorrect result

Compiler

  • New: Heap option added to compiler
  • Improved: Faster loading of mcl files
  • Improved: Faster Linker
  • Improved: Asm code can be written in the same line with a label
  • Improved: system function "__CCD2W" is linked only if it is used
  • Fixed: Pointer to Typed const code far struct has been intepreted as pointer to RAM
  • Fixed: LST file lists only used global variables
  • Fixed: Different number of parameters in function definition and in extern declaration cause linker crash in some cases

IDE

  • New! Project Explorer
  • We have introduced Project Explorer, a great new window for easier access to the examples and your projects. It uses fast recursion algorithms for fast searching of your project files within folder tree. You'll get used to it quickly, and you'll love working with it.
  • New! Code assistant
  • Specially upgraded to include struct field members, and should work for any structure depth (does not ignore scope any more). If there are several objects with same name but different scope, only ones visible in current scope are shown. We did the same with Find Declaration and Run-time value hints.
  • New! Option to select heap feature
  • New! Project Explorer
    • Set anchor for directory edit
    • Restore last used folder on startup
  • New! Shortcut CTRL + ALT + S (show Statistics)
  • Improved: Search project files in Windows Explorer style
  • Improved: Add a project to project group by single mouse click
  • Improved: Search Paths Editor
    • Copy/Cut/Paste/Select All options for search paths editor
    • Assigned shotcut CTRL + SHIFT + S
  • Improved: Statistics is no longer a "modal" window, but rather "stay on top"
  • Improved: AVR Bootloader Tool
  • Fixed: In some cases IDE freezes if MCU is changed in Project Settings
  • Fixed: IDE sends wrong command line to programmer if EEPROM file is included in project
  • Fixed: Visible Statistics are updated after build
  • Fixed: 32 bit icons fail to load on some graphic cards

Libraries

 
  • New! Memory Manager library
  • New! CAN Library
  • New! Added routines for work with images and fonts stored on external resourse (MMC/SD card, external flash, etc.). Routines added for TFT, GLCD, T6963C and S1D13700 libraries.
  • New! Added functions for writing text stored in flash for TFT, GLCD, T6963C and S1D13700 libraries.
  • Improved! MMC library, added functions for multi read block mode.
  • Improved! UART Library, added generic routines which uses the active UART module.
  • Improved! SPI Library, added generic routines which uses the active SPI module.
  • Fixed: pow(x,y) function returned 0 for (0,0) and for x,y < 0
  • Fixed: OneWire library issue with xmega MCU's
  • Fixed: T6963C library issue with xmega MCU's
  • Fixed: Expander_Init_Advanced, CS pin directon wasn't set properly

, , , , ,

By