MikroElektronika Learn

Compilers Roadmap Update

PIC32 Compilers Roadmap

25 Aug , 2016  

mikroC, mikroBasic, mikroPascal for PIC32

The new version of PIC32 compilers will merge Visual TFT, the GUI design tool, with the compiler.

  • Release date: July 13, 2017
  • IDE build: v4.00
  • cmd line build: v4.00

List of features applies to all three languages unless specified otherwise.

Make sure you have the latest version of PIC32 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.

Project Log

May progress report on PIC32 compilers:

  • Updated list for new MCUs that are going to be supported
  • Hardware libraries support for new MCUs underway.
  • IDE/VTFT merge release candidate built, testing underway.
  • Going through reports regarding PIC32 compiler.
  • New MCU support in mikroProg for PIC, dsPIC and PIC32 well underway.
  • Debug support for new MCU in testing phase.

List of new supported MCUs:

 PIC32MZ0512EFK064   PIC32MZ0512EFF100   PIC32MZ1024EFG124
PIC32MZ0512EFK100   PIC32MZ0512EFF124   PIC32MZ1024EFG144
PIC32MZ0512EFK124   PIC32MZ0512EFF144   PIC32MZ1024EFH064
PIC32MZ0512EFK144   PIC32MZ1024EFK100   PIC32MZ1024EFH100
PIC32MZ1024EFE064   PIC32MZ1024EFK124   PIC32MZ1024EFH124
PIC32MZ1024EFE100   PIC32MZ1024EFK144   PIC32MZ1024EFH144
PIC32MZ1024EFE124   PIC32MZ1024EFM064   PIC32MZ1024EFK064
PIC32MZ1024EFE144   PIC32MZ1024EFM100   PIC32MZ2048EFG100
PIC32MZ1024EFF064   PIC32MZ1024EFM124   PIC32MZ2048EFG124
PIC32MX130F256B     PIC32MZ1024EFM144   PIC32MZ2048EFG144
PIC32MX130F256D     PIC32MZ2048ECM144   PIC32MZ2048EFH064
PIC32MX230F256B     PIC32MZ2048EFG064   PIC32MZ2048EFH100
PIC32MX230F256D     PIC32MZ1024EFF100   PIC32MZ2048EFH124
PIC32MZ0512EFE064   PIC32MZ1024EFF124   PIC32MZ2048EFH144
PIC32MZ0512EFE100   PIC32MZ1024EFF144   PIC32MZ2048EFM064
PIC32MZ0512EFE124   PIC32MZ1024EFG064   PIC32MZ2048EFM100
PIC32MZ0512EFE144   PIC32MZ1024EFG100   PIC32MZ2048EFM124
PIC32MZ0512EFF064                       PIC32MZ2048EFM144

We added Free RTOS support to project requirements. Also, the complete list of supported chips now refers to MCUs we will add to the mikroProg suite. PIC32MM devices are removed from this version and will be handled in a future update.

Compiler

  • Free RTOS support will be implemented
  • Supported MCUs (including support in mikroProg Suite for PIC)
PIC32MZ0512EFK064   PIC32MZ1024EFK100  PIC32MZ2048EFG100
PIC32MZ0512EFK100   PIC32MZ1024EFK124  PIC32MZ2048EFG124
PIC32MZ0512EFK124   PIC32MZ1024EFK144  PIC32MZ2048EFG144
PIC32MZ0512EFK144   PIC32MZ1024EFM064  PIC32MZ2048EFH064
PIC32MZ1024EFE064   PIC32MZ1024EFM100  PIC32MZ2048EFH100
PIC32MZ1024EFE100   PIC32MZ1024EFM124  PIC32MZ2048EFH124
PIC32MZ1024EFE124   PIC32MZ1024EFM144  PIC32MZ2048EFH144
PIC32MZ1024EFE144   PIC32MZ2048ECM144  PIC32MZ2048EFM064
PIC32MZ1024EFF064   PIC32MZ2048EFG064  PIC32MZ2048EFM100
PIC32MX130F256B     PIC32MZ1024EFF100  PIC32MZ2048EFM124 
PIC32MX130F256D     PIC32MZ1024EFF124  PIC32MZ2048EFM144 
PIC32MX230F256B     PIC32MZ1024EFF144   
PIC32MX230F256D     PIC32MZ1024EFG064   
PIC32MZ0512EFE064   PIC32MZ1024EFG100   
PIC32MZ0512EFE100   PIC32MZ1024EFG124   
PIC32MZ0512EFE124   PIC32MZ1024EFG144   
PIC32MZ0512EFE144   PIC32MZ1024EFH064   
PIC32MZ0512EFF064   PIC32MZ1024EFH100   
PIC32MZ0512EFF100   PIC32MZ1024EFH124   
PIC32MZ0512EFF124   PIC32MZ1024EFH144   
PIC32MZ0512EFF144   PIC32MZ1024EFK064

Exact list of chips will be published at a later date.

 

Compiler

 
  • New! Additional 24 MCU supported:
PIC32MZ1024ECG064  PIC32MZ1024ECG100  PIC32MZ1024ECG124
PIC32MZ1024ECG144  PIC32MZ1024ECH064  PIC32MZ1024ECH100
PIC32MZ1024ECM064  PIC32MZ1024ECH124  PIC32MZ1024ECH144
PIC32MZ1024ECM100  PIC32MZ1024ECM124  PIC32MZ1024ECM144
PIC32MZ2048ECG064  PIC32MZ2048ECG100  PIC32MZ2048ECG124
PIC32MZ2048ECG144  PIC32MZ2048ECH064  PIC32MZ2048ECH100
PIC32MZ2048ECH124  PIC32MZ2048ECH144  PIC32MZ2048ECM064
PIC32MZ2048ECM100  PIC32MZ2048ECM124  PIC32MZ2048ECM144
  • Fixed: Warning if assigment of const violates enum object range.
  • Fixed: Address of array memebers as initializators for global array of pointers.
  • Fixed: ? : did not work if 2nd and 3rd operands were sbit type.
  • Fixed: goto as first if statement did not compiled in some cases.

IDE

 
  • New! ICD support for PIC32MZ family.
  • New! ICD support for new PIC32MX devices.
  • New! Add local variable by identifier (CTRL+SHIFT+V).
  • New! Wild Card '*' supported in Routine List.
  • New! Synchronized editing.
  • Fixed: Bug related to PIC32MX795 ICD communication.

Library

  • Fixed: Added missing libraries for MX series x30/x50/x70 mcus.
  • Fixed: Bug with sprint libraries.

Compiler

  • New! Additional 39 MCU supported:
P32MX120F064H	P32MX170F256B	P32MX230F128L	P32MX270F512H
P32MX350F128L	P32MX430F064H	P32MX450F256L	P32MX550F256H
P32MX130F128H	P32MX170F256D	P32MX250F256H	P32MX270F512L
P32MX350F256H	P32MX430F064L	P32MX470F512H	P32MX550F256L
P32MX130F128L	P32MX170F512H	P32MX250F256L	P32MX330F064H
P32MX350F256L	P32MX450F128H	P32MX470F512L	P32MX570F512H
P32MX150F256H	P32MX170F512L	P32MX270F256B	P32MX330F064L
P32MX370F512H	P32MX450F128L	P32MX530F128H	P32MX570F512L
P32MX150F256L	P32MX230F128H	P32MX270F256D	P32MX350F128H
P32MX370F512L	P32MX450F256H	P32MX530F128L

IDE

  • New! Added Back and Forward navigation (similar to web browser navigation).
  • New! Wild Card '*' supported in code completition.
  • New! Code completition handles 1 character permutation.
  • New! Added stop active folder search option in project explorer.
  • New! Added folder up shortcut.
  • New! Added hint on project nodes to display full path.
  • New! Added hint on function in Library Manager.
  • New! Added drag and drop of function into editor.
  • New! File handling (rename file directly from Project Manager, auto add of new file to project).
  • New! Added hint on file nodes to display full path.
  • New! New icons look.
  • Fixed: Watch Values.
  • Fixed: If value is "none" or "inf", wrong value has been written, which then causes error in conversion.
  • Fixed: Saving new project to file, saves to many empty lines at the end of project file, which was disturbing some of anti virus programs.
  • Fixed: Opened statistics window makes duplicate of functions, after rebuild of project.

Library

  • New:! Added assert.h, stdbool.h and time.h headers.
  • Fixed: USB Library, interrupt flag wasn't cleared for PIC32MX220 family.
  • Fixed: USB Library, general exception in special cases.
  • Fixed: Bug in SPI_Ethernet_readPHY function.
  • Fixed: Bug in Flash_Write_Row function for 2xx/3xx/4xx MCUs.
  • Fixed: Bug when sending std message in CAN library.

Examples

  • Fixed: Bug in InitPHYPins() function in Ethernet Demo example for EasyPIC Fusion v7.
  • Fixed: TFT Examples now use for TFT initialization TFT_Init_ILI9341 function.

IDE

  • Improved Minor changes about live update.

Libraries

  • New! Touch Panel STMPE610 library (working over I2C).
  • New! Added support for new TFT controller ILI9341.
  • Improved I2C library now has universal routines I2C_Start, I2C_Restart, I2C_Read, I2C_Write, I2C_Stop, I2C_Is_Idle (check Help section for details).
  • Improved In PortExpander Library added routines to work with each single pin.
  • Improved Implemented support for Hardware MAC Address on ENC24J600 Ethernet module.
  • Improved Added missing constants for various voltage references in ADC libraries.
  • Improved In Conversions Library added functions ByteToStrWithZeros and ShortToStrWithZeros.
  • Fixed: In Ethernet Library, Ethernet_Init routine is not blocking anymore.
  • Fixed: In PS2 Library, added support for ESC key.
  • Fixed: Wrong casting in offset calculation in __Lib_TFT, __Lib_GLCD, __Lib_S1D13700, __Lib_SPIGlcd, __Lib_SPIT6963C, __Lib_T6963C.
  • Fixed: USB Library, repetitive HID_Write in polling mode issue.

Examples

  • New! Added examples for mikromedia Plus for PIC32MX7.
  • New! mikromedia for PIC32 9A (with new display MI0283QT_9A).
  • New! PIC32MX7 MultiMedia board 9A (with new display MI0283QT_9A).

Compiler

  • Improved Faster optimization and linkage
  • Improved Allocation of locals to registersoptimization and linkage
  • 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

  • Improved TFT library minor update
  • Fixed: DHCP issue in internal ethernet library
  • Fixed: Atomic qualifier in definition files

IDE

  • Fixed: Project options oscillator frequency changed even if Cancel button was pressed
  • Fixed: Watch values debugger buttons ineffective
  • Fixed: Handling of pointers to pointers and their values in watch window (ICD debug mode)

Compiler

  • New! Additional 8 MCU supported:
PIC32MX110F016C
PIC32MX120F032C
PIC32MX130F064C
PIC32MX150F128C
PIC32MX210F016C
PIC32MX220F032C
PIC32MX230F064C
PIC32MX250F128C
  • New: atomic qualificator introduced (enables faster bit access to sfr with CLEAR, SET registers)
  • New: constants and functions can be allocated to boot area of MCU
  • 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.c).
  • New: Additional TFT controllers supported:
    • HX8347G (16-bit communication)
    • ILI9340 (8-bit communication)
    • ILI9481 (8-bit communication)
  • New: PPS library for PIC32MX1XX/2XX MCUs.
  • New: Added standard headers stdint.h, stdio.h, stdlib.h and string.h.

, ,

By