MikroElektronika Learn

Compilers Roadmap Update

ARM Compilers Roadmap

28 Jun , 2017  

mikroC, mikroBasic, mikroPascal for ARM

What's new and what progress has been made:

  • We've added nearly 300 new microcontrollers: 249 STMicroelectronics, 14 Texas Instruments, and 18 NXP Semiconductors (Kinetis).
  • All the hardware modules of the new supported MCUs have been completed and tested.
  • We've merged Visual TFT into the compiler's IDE and started with the testing.
  • For more information see the ARM Compilers Roadmap page, or visit the mikroC, mikroBasic, mikroPascal product pages.
Make sure you have the latest version of the ARM compilers while you wait for the new one. You can download it from this page. You can also download a demo version. License owners are entitled to a lifetime of free upgrades.

Project Log

  • TI MCUs hardware module libraries completed and tested.
  • STM MCUs hardware module libraries completed, test in progress.
  • NXP MCUs hardware module libraries completed, test in progress.
  • Merge of the IDE and Visual TFT completed, test in progress.
  • Added support for 281 new MCUs (list below).
249 new STM MCUs
    STM32F031E6   STM32F479ZG   STM32L011E3   STM32L083RB
    STM32F038E6   STM32F479ZI   STM32L011E4   STM32L083RZ
    STM32F051T8   STM32F722IC   STM32L011F3   STM32L083V8
    STM32F058T8   STM32F722IE   STM32L011F4   STM32L083VB
    STM32F071C8   STM32F722RC   STM32L011G3   STM32L083VZ
    STM32F398VE   STM32F722RE   STM32L011G4   STM32L431CB
    STM32F410C8   STM32F722VC   STM32L011K3   STM32L431CC
    STM32F410CB   STM32F722VE   STM32L011K4   STM32L431KB
    STM32F410R8   STM32F722ZC   STM32L021D4   STM32L431KC
    STM32F410RB   STM32F722ZE   STM32L021F4   STM32L431RB
    STM32F410T8   STM32F723IC   STM32L021G4   STM32L431RC
    STM32F410TB   STM32F723IE   STM32L021K4   STM32L431VC
    STM32F412CE   STM32F723VE   STM32L031C4   STM32L432KB
    STM32F412CG   STM32F723ZC   STM32L031C6   STM32L432KC
    STM32F412RE   STM32F723ZE   STM32L031E4   STM32L433CB
    STM32F412RG   STM32F732IE   STM32L031E6   STM32L433CC
    STM32F412VE   STM32F732RE   STM32L031F4   STM32L433RB
    STM32F412VG   STM32F732VE   STM32L031F6   STM32L433RC
    STM32F412ZE   STM32F732ZE   STM32L031G4   STM32L433VC
    STM32F412ZG   STM32F733IE   STM32L031G6   STM32L442KC
    STM32F413CG   STM32F733VE   STM32L031K4   STM32L443CC
    STM32F413CH   STM32F733ZE   STM32L031K6   STM32L443RC
    STM32F413MG   STM32F765BG   STM32L041C6   STM32L443VC
    STM32F413MH   STM32F765BI   STM32L041E6   STM32L451CC
    STM32F413RG   STM32F765IG   STM32L041F6   STM32L451CE
    STM32F413RH   STM32F765II   STM32L041G6   STM32L451RC
    STM32F413VG   STM32F765NG   STM32L041K6   STM32L451RE
    STM32F413VH   STM32F765NI   STM32L071C8   STM32L451VC
    STM32F413ZG   STM32F765VG   STM32L071CB   STM32L451VE
    STM32F413ZH   STM32F765VI   STM32L071CZ   STM32L452CC
    STM32F423CH   STM32F765ZG   STM32L071K8   STM32L452CE
    STM32F423MH   STM32F765ZI   STM32L071KB   STM32L452RC
    STM32F423RH   STM32F767BG   STM32L071KZ   STM32L452RE
    STM32F423VH   STM32F767BI   STM32L071RB   STM32L452VC
    STM32F423ZH   STM32F767IG   STM32L071RZ   STM32L452VE
    STM32F469AE   STM32F767II   STM32L071V8   STM32L462CE
    STM32F469AG   STM32F767NG   STM32L071VB   STM32L462RE
    STM32F469AI   STM32F767NI   STM32L071VZ   STM32L462VE
    STM32F469BE   STM32F767VG   STM32L072CB   STM32L471QE
    STM32F469BG   STM32F767VI   STM32L072CZ   STM32L471QG
    STM32F469BI   STM32F767ZG   STM32L072KB   STM32L471RE
    STM32F469IE   STM32F767ZI   STM32L072KZ   STM32L471RG
    STM32F469IG   STM32F769AI   STM32L072RB   STM32L471VE
    STM32F469II   STM32F769BG   STM32L072RZ   STM32L471VG
    STM32F469NE   STM32F769BI   STM32L072V8   STM32L471ZE
    STM32F469NG   STM32F769IG   STM32L072VB   STM32L471ZG
    STM32F469NI   STM32F769II   STM32L072VZ   STM32L475RC
    STM32F469VE   STM32F769NG   STM32L073CB   STM32L475RE
    STM32F469VG   STM32F769NI   STM32L073CZ   STM32L475RG
    STM32F469VI   STM32F777BI   STM32L073RB   STM32L475VC
    STM32F469ZE   STM32F777II   STM32L073RZ   STM32L475VE
    STM32F469ZG   STM32F777NI   STM32L073V8   STM32L475VG
    STM32F469ZI   STM32F777VI   STM32L073VB   STM32L476ME
    STM32F479AG   STM32F777ZI   STM32L073VZ   STM32L476MG
    STM32F479BG   STM32F779AI   STM32L081CZ   STM32L496AE
    STM32F479BI   STM32F779BI   STM32L081KZ   STM32L496AG
    STM32F479IG   STM32F779II   STM32L082CZ   STM32L496QE
    STM32F479NG   STM32F779NI   STM32L082KZ   STM32L496QG
    STM32F479VG   STM32L011D3   STM32L083CB   STM32L496RE
    STM32F479VI   STM32L011D4   STM32L083CZ   STM32L496RG
    STM32L496VE   STM32L496ZE   STM32L4A6AG   STM32L4A6RG
    STM32L496VG   STM32L496ZG   STM32L4A6QG   STM32L4A6VG
                                              STM32L4A6ZG
14 new TI MCUs
    TM4C123GH6ZXR
    TM4C1290NCPDT
    TM4C1290NCZAD
    TM4C1292NCPDT
    TM4C1292NCZAD
    TM4C1294KCPDT
    TM4C1294NCPDT
    TM4C1294NCZAD
    TM4C1297NCZAD
    TM4C1299KCZAD
    TM4C1299NCZAD
    TM4C129EKCPDT
    TM4C129LNCZAD
    TM4C129XKCZAD
18 new NXP Kinetis MCUs (list not final)
    MK65FN2M0VMI18
    MK65FN2M0CAC18
    MK65FX1M0CAC18
    MK65FX1M0VMI18
    MK66FN2M0VMD18
    MK66FN2M0VLQ18
    MK66FX1M0VMD18
    MK66FX1M0VLQ18
    MK80FN256VDC15
    MK80FN256VLL15
    MK82FN256VDC15
    MK82FN256VLL15
    MKV58F1M0VLQ24
    MKV58F1M0VLL24
    MKV58F1M0VMD24
    MKV58F512VLQ24
    MKV58F512VLL24
    MKV58F512VMD24

Compiler

  • New: FreeRTOS support implemented.
  • New: Added indfuncall directive.

IDE

New:

  • 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 source is present.
  • FreeRTOS debug supported with tasks and queues view.

Improved:

  • Added 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.
  • 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.
  • IDE crashed on fast switch between editor tabs.
  • Edit project sometimes crashes when trying to change MCU.

Compiler

  • Added: Support for Kinetis MCU family.
  • New: 35 Kinetis MCUs supported (via 8 superset files):
MK22FN128VDC10	MK22FN128VLL10
MK22FN128VLH10	MK22FN128VMP10
MK22FN128CAH12	MK22FN1M0VLH12
MK22FN1M0VLK12	MK22FN1M0VLL12
MK22FN1M0VLQ12	MK22FN1M0VMC12
MK22FN1M0VMD12	MK22FN256CAH12
MK22FN256VDC12	MK22FN256VLH12
MK22FN256VLL12	MK22FN256VMP12
MK22FN512VDC12	MK22FN512VLL12
MK22FN512VLH12	MK22FN512CAP12
MK22FN512VMP12	MK22FX512VLH12
MK22FX512VLK12	MK22FX512VLL12
MK22FX512VLQ12	MK22FX512VMC12
MK22FX512VMD12	MK64FN1M0VDC12
MK64FN1M0VLL12	MK64FN1M0VLQ12
MK64FN1M0VMD12	MK64FX512VDC12
MK64FX512VLL12	MK22FX512VLH12
MK64FX512VMD12

IDE

  • Added: Bootloader Tool now supports Kinetis MCU
  • Added: Aligned specifier parsing.
  • Improved: ARM simulator improvements.
  • Fixed: Debug start when welcome screen in focus sometimes result in IDE crash.

Examples

  • New! Added examples for Clicker2 for Kinetis

IDE

 
  • New: Added site license activation.
  • Improved: Export Project now export whole folder structure.
  • Improved: Clean Project Folder cleans whole folder structure.
  • Improved: Cleaning changed from selecting specific files to selecting file types to clean.

Libraries

  • New: Added Crypto Libraries for CEC1302

Examples

  • New: Added Crypto Examples for CEC1302

Compiler

  • New 99 additional MCUs supported:
CEC1302	        STM32F446MC	STM32L476QE	STM32F303RD	STM32F746NG
STM32F042T6	STM32F446RC	STM32L476RC	STM32F303VD	STM32F746VG
STM32F048G6	STM32F446VC	STM32L476RG	STM32F303ZD	STM32F746ZG
STM32F070C6	STM32F446ZC	STM32L476VE	STM32F318C8	STM32F756IG
STM32F070F6	STM32F479AI	STM32L476ZE	STM32F411VC	STM32F756VG
STM32F091CB	STM32F479NI	STM32L486JG	STM32F427AG	STM32L051T6
STM32F091RB	STM32F745IE	STM32L486RG	STM32F429AG	STM32L052T6
STM32F091VB	STM32F745VE	STM32L486ZG	STM32F429BE	STM32L151VD-X
STM32F098CC	STM32F745ZE	STM32F030RC	STM32F439AI	STM32L162VD-X
STM32F098VC	STM32F746BE	STM32F048C6	STM32F446ME	STM32L476JG
STM32F302RE	STM32F746IE	STM32F048T6	STM32F446RE	STM32L476QG
STM32F302VE	STM32F746NE	STM32F070CB	STM32F446VE	STM32L476RE
STM32F302ZE	STM32F746VE	STM32F070RB	STM32F446ZE	STM32L476VC
STM32F303RE	STM32F746ZE	STM32F091CC	STM32F479II	STM32L476VG
STM32F303VE	STM32F756BG	STM32F091RC	STM32L052C8	STM32L476ZG
STM32F303ZE	STM32F756NG	STM32F091VC	STM32F745IG	STM32L486QG
STM32F318K8	STM32F756ZG	STM32F098RC	STM32F745VG	STM32L486VG
STM32F411VE	STM32L051T8	STM32F302RD	STM32F745ZG	STM32F030CC
STM32F427AI	STM32L052T8	STM32F302VD	STM32F746BG	
STM32F429AI	STM32L152VD-X	STM32F302ZD	STM32F746IG	
STM32F437AI	STM32L476JE	STM32L476QE	STM32F303RD	
  • New Support for STM M7 core MCUs
  • Improved: Compiler throw warning if enum is mixed with integer type that exceed its range.
  • Improved: Optimizer added const folding for cast operation.
  • Improved: Ctrl+space did not work with arrays without dimension in declaration.
  • Improved: Added const folding for cast operation.
  • Fixed: Compiler goto after if caused compilation error.
  • Fixed: Compiler ? : operator error with sbit as 1st operand.
  • Fixed: Compiler initialization with &arr[0] caused error.
  • Fixed: Compiler binary number with 64 bits.
  • Fixed: Emcl writer error for local sbit.
  • Fixed: Compiler funcall pragma and optimizer conflict state.
  • Fixed: Linker local extern used only in assembly caused error.
  • Fixed: Linker jump compression error M0 core.
  • Fixed: Linker literal assignment compression error M0 core.
  • Fixed: Linker false static function redefinition error in some cases.

IDE

 
  • Fixed: Ctrl+space did not work with arrays without dimension in declaration.
  • Fixed: Jump to interrupt in simulator didn't work.
  • Fixed: Watch window elements with Inf or Nan values changed unexpectedly.
  • Fixed: Watch windows throws unexpected error in certain case.
  • Fixed: Out of memory error for extremely big symbols.
  • Fixed: Out of memory error for extremely big symbols.

Libraries

 
  • Fixed: Gpio Defs for STM32F401x mcus.
  • Fixed: Added missing registers for floating point unit in STM32F334 mcus.
  • Fixed: GPIO library for STM32L0 mcus.
  • Fixed: ADC library for STM32F401 mcus.
  • Fixed: Wrong consts and address offsets in Flash library for STM32F42x and STM32F43x.

Examples

 
  • New! Added examples for STM32F746VG mcu in Internal MCU Modules group.
  • New! Added examples for CEC1302.

Compiler

  • New 151 additional MCUs supported:
STM32F030C6	STM32F358RC	STM32L152RB-A	STM32F303K8	STM32L051K8	STM32F038G6	STM32F401VD
STM32F334C6	STM32L151VE	STM32F302C8	STM32L100RC	STM32F031F4	STM32F401CD	STM32L152ZE
STM32L151R6-A	STM32F078VB	STM32L053R6	STM32F058R8	STM32F358CC	STM32L152R8-A	STM32F303K6
STM32F072C8	STM32L052C6	STM32F042C6	STM32F411CE	STM32L151VC-A	STM32F302C6	STM32L100RB-A
STM32F429VE	STM32F031G6	STM32F401RC	STM32L162RE	STM32F078RB	STM32L053C8	STM32F058C8
STM32F030F4	STM32F378CC	STM32L152RE	STM32F303R8	STM32L051R8	STM32F042C4	STM32F411CC
STM32F334K4	STM32L152C6-A	STM32F302K8	STM32L151C8-A	STM32F031G4	STM32F401RB	STM32L162RC-A
STM32L151RB-A	STM32F301C8	STM32L062K8	STM32F071RB	STM32F358VC	STM32L152RC-A	STM32F303R6
STM32F072R8	STM32L052K6	STM32F042F6	STM32F411RE	STM32L151ZE	STM32F302K6	STM32L151C6-A
STM32L051C6	STM32F031K6	STM32F401RE	STM32L162VC-A	STM32F301C6	STM32L053R8	STM32F071CB
STM32F030R8	STM32F378VC	STM32L152VB-A	STM32F334C4	STM32L052C8	STM32F042F4	STM32F411RC
STM32F334K8	STM32L152CB-A	STM32F302R8	STM32L151QE	STM32F031K4	STM32F401RD	STM32L162VC
STM32L151RE	STM32F301K8	STM32L063R8	STM32L162ZE	STM32F378RC	STM32L152V8-A	STM32F328C8
STM32F072V8	STM32L052R6	STM32F042G6	STM32F334K6	STM32L152C8-A	STM32F302R6	STM32L151CB-A
STM32L051K6	STM32F038F6	STM32F401VC	STM32L151RC-A	STM32F301K6	STM32L063C8	STM32F071V8
STM32F031C6	STM32F401CC	STM32L152VE	STM32F072RB	STM32L052K8	STM32F042G4	STM32F429IE
STM32F334R8	STM32L152R6-A	STM32F303C8	STM32L051C8	STM32F038C6	STM32F401VB	STM32L162VE
STM32L151VB-A	STM32F301R8	STM32L100R8-A	STM32F031C4	STM32F401CB	STM32L152VC-A	
STM32F078CB	STM32L053C6	STM32F042K6	STM32F334R6	STM32L152QE	STM32F303C6	
STM32L051R6	STM32F038K6	STM32F401VE	STM32L151V8-A	STM32F301R6	STM32L100C6-A	
STM32F031F6	STM32F401CE	STM32L162RC	STM32F072VB	STM32L052R8	STM32F042K4	
  • Fixed: Fixed bug for const folding when project option 4 bytes integer is selected
  • Fixed: Fixed minor optimizer bugs (compare with contsants that are out of range...)
  • Fixed: Fixed code genreator bug push does not affect alligment
  • Fixed: Fixed IDE made files with a lot of blank line for anonymus union and struct

Libraries

  • New! Added NVIC_SetIntPriority function for STM mcus.
  • New! Added EEPROM library for TIVA mcus.
  • Fixed: PWM library for STM32F40x/41x.
  • Fixed: Issue in autonegotiation process for ST MCU-s with Ethernet module.
  • Fixed: In I2C libraries for STM32F307/407 POS bit is now cleared after read in 2 bytes burst mode.

Examples

  • New! Added examples for EasyMx PRO v7 for TIVA.
  • New! Added examples for mikromedia for TIVA.
  • New! Added example for EEPROM module for TIVA.

Compiler

  • New 7 additional MCUs supported:
TM4C129CNCPDT	TM4C129CNCZAD
TM4C129DNCPDT	TM4C129DNCZAD
TM4C129ENCPDT	TM4C129ENCZAD
TM4C129XNCZAD
  • Fixed: Some variations of LDM and STM instructions wasn't supported in assembler.
  • Fixed: Code generator, comparing long extern constants yields "Argument ot of range".
  • Fixed: Comparing 64bit long variables used incorrect compare condition.

Libraries

  • New! GPIO consts are now moved to 'Defs' file.
  • New! Added standard headers assert.h, stdbool.h and time.h.
  • New! Added library support for Touch Panel controller TSC2006 (SPI controlled).
  • Fixed: Incorrect return in certain branch in system function LongDoubleToFloat.
  • Fixed: Bit-band problem with STM32F3xx mcus.
  • Fixed: SPI const in SPI library for TI M3 and TI M4 mcus.
  • Fixed: Resolved bug in SPI_Ethernet_readPHY function of SPI_Ethernet library.

Examples

  • New! Added examples for mikromedia 5 for Tiva.
  • Fixed: Added longer delay for conversion time in OneWire example.

Compiler

  • New ARM Cortex M0 support.
  • New 24 additional MCUs supported:
STM32F050C4	STM32F051K6
STM32F050C6	STM32F051K8
STM32F050F4	STM32F051R4
STM32F050F6	STM32F051R6
STM32F050G4	STM32F051R8
STM32F050G6	STM32F302CB
STM32F050K4	STM32F302CC
STM32F050K6	STM32F303CC
STM32F051C4	STM32F313CC
STM32F051C6	STM32L151CC
STM32F051C8	STM32L151UC
STM32F051K4	STM32L152CC
  • Fixed: Code generator, incorrect access to float variables on stack for M4 devices.

Libraries

  • New! Added library for DAC module in STM32 famillies.
  • Improved STM32 GPIO_Config function, added options for configuring alternative pins.
  • Improved Added new functions in PortExpander library.
  • Improved Added support for ESC key in PS2 library.
  • Improved Added new functions in Conversions library.
  • Fixed: ADC library for STM32 30x.
  • Fixed: Several bugs in STM32 CAN libraries.

Examples

  • New! Added example for DAC module.
  • Fixed: Resolved bug with HID Bootloader example and USB 3.0.

Compiler

  • New 50 additional Tiva M4 C Series MCUs supported
TM4C1230C3PM    TM4C1231H6PM	TM4C1233E6PZ	TM4C1237E6PZ	TM4C123BH6PZ
TM4C1230D5PM	TM4C1231H6PZ	TM4C1233H6PGE	TM4C1237H6PGE	TM4C123BH6ZRB
TM4C1230E6PM	TM4C1232C3PM	TM4C1233H6PM	TM4C1237H6PM	TM4C123FE6PM
TM4C1230H6PM	TM4C1232D5PM	TM4C1233H6PZ	TM4C1237H6PZ	TM4C123FH6PM
TM4C1231C3PM	TM4C1232E6PM	TM4C1236D5PM	TM4C123AE6PM	TM4C123GE6PM
TM4C1231D5PM	TM4C1232H6PM	TM4C1236E6PM	TM4C123AH6PM	TM4C123GE6PZ
TM4C1231D5PZ	TM4C1233C3PM	TM4C1236H6PM	TM4C123BE6PM	TM4C123GH6PGE
TM4C1231E6PM	TM4C1233D5PM	TM4C1237D5PM	TM4C123BE6PZ	TM4C123GH6PM
TM4C1231E6PZ	TM4C1233D5PZ	TM4C1237D5PZ	TM4C123BH6PGE	TM4C123GH6PZ
TM4C1231H6PGE	TM4C1233E6PM	TM4C1237E6PM	TM4C123BH6PM	TM4C123GH6ZRB
  • Fixed: Built-in Delays for STM32F3xxxx MCUs.

Libraries

  • New! FFT Library.
  • New! FIR Library.
  • New! IIR Library.
  • New! Vectors Library.
  • New! Matrices Library.
  • New! Q15 and Q31 Libraries for Cortex M4 MCUs.
  • Improved Added I2C_Set_Active function to I2C library (and generic functions which works with activated module)
  • Fixed: GPIO Library for STM32F4xx MCUs.
  • Fixed: System Library for STM32F3xx MCUs, HSI calibration.
  • Fixed: Initial oscillator start-up to accomodate frequency change after software reset (bootloader issue).

Examples

  • New! Digital Signal Processing (FFT_Convolution, FIR_Demo, IIR_Demo, Vectors, Matrix).
 

By