Releases: MikroElektronika/mikrosdk_v2
mikroSDK v2.13.1 released
mikroSDK v2.13.0 released
v2.13.0
- released: 2024-12-24
Changes
SAM
SAM MCUs supported!
MCU | MCU | MCU |
---|---|---|
ATSAME70J19A | ATSAMS70J21A | ATSAMV70Q19A |
ATSAME70J19B | ATSAMS70J21B | ATSAMV70Q19B |
ATSAME70J20A | ATSAMS70N19A | ATSAMV70Q20A |
ATSAME70J20B | ATSAMS70N19B | ATSAMV70Q20B |
ATSAME70J21A | ATSAMS70N20A | ATSAMV71J19A |
ATSAME70J21B | ATSAMS70N20B | ATSAMV71J19B |
ATSAME70N19A | ATSAMS70N21A | ATSAMV71J20A |
ATSAME70N19B | ATSAMS70N21B | ATSAMV71J20B |
ATSAME70N20A | ATSAMS70Q19A | ATSAMV71J21A |
ATSAME70N20B | ATSAMS70Q19B | ATSAMV71J21B |
ATSAME70N21A | ATSAMS70Q20A | ATSAMV71N19A |
ATSAME70N21B | ATSAMS70Q20B | ATSAMV71N19B |
ATSAME70Q19A | ATSAMS70Q21A | ATSAMV71N20A |
ATSAME70Q19B | ATSAMS70Q21B | ATSAMV71N20A |
ATSAME70Q20A | ATSAMV70J19A | ATSAMV71N21A |
ATSAME70Q20B | ATSAMV70J19B | ATSAMV71N21B |
ATSAME70Q21A | ATSAMV70J20A | ATSAMV71Q19A |
ATSAME70Q21B | ATSAMV70J20B | ATSAMV71Q19B |
ATSAMS70J19A | ATSAMV70N19A | ATSAMV71Q20A |
ATSAMS70J19B | ATSAMV70N19B | ATSAMV71Q20B |
ATSAMS70J20A | ATSAMV70N20A | ATSAMV71Q21A |
ATSAMS70J20B | ATSAMV70N20B | ATSAMV71Q21B |
Supported modules:
- ADC (Full module support)
- SPI (Full module support)
- UART (Full module support)
- I2C (Full module support)
- PWM (Full module support)
- GPIO (Full module support)
- OW (Full module support)
Files updated:
- Updated due to SAM inclusion in all ARM-related CMake files
- Updated with more register handling macros for ARM architectures
- Updated with IRQ handling macros and regicters for SAM MCUs
Files added:
- hal_ll_adc.h
- hal_ll_adc_pin_map.h
- hal_ll_gpio.h
- hal_ll_gpio_port.h
- hal_ll_gpio_struct_type.h
- hal_ll_pin_names.h
- hal_ll_target.h
- hal_ll_target_names.h
- hal_ll_i2c_master.h
- hal_ll_i2c_pin_map.h
- hal_ll_one_wire.h
- hal_ll_spi_master.h
- hal_ll_spi_master_pin_map.h
- hal_ll_tim.h
- hal_ll_tim_pin_map.h
- hal_ll_uart.h
- hal_ll_uart_pin_map.h
- hal_ll_adc.c
- hal_ll_gpio.c
- hal_ll_gpio_port.c
- hal_ll_i2c_master.c
- hal_ll_one_wire.c
- hal_ll_spi_master.c
- hal_ll_tim.c
- hal_ll_uart.c
- hal_ll_core_port.c
- CMakeLists.txt
- hal_ll/CMakeLists.txt
- adc/CMakeLists.txt
- gpio/CMakeLists.txt
- i2c/CMakeLists.txt
- one_wire/CMakeLists.txt
- spi_master/CMakeLists.txt
- tim/CMakeLists.txt
- uart/CMakeLists.txt
./mcu_name/mcu_package/mcu_definitions.h
-https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/SAM/mcu_name/mcu_package/mcu_definitions.h
- Added for all MCUs in mikroSDK where mcu_name is actual chip full name, i.e.
ATSAME70Q21B
etc. and mcu_package is actual package, i.e.LQFP64
etc.
- Added for all MCUs in mikroSDK where mcu_name is actual chip full name, i.e.
./mcu_name/mcu_package/mcu_reg_addresses.h
-https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/SAM/mcu_name/mcu_package/mcu_reg_addresses.h
- Added for all MCUs in mikroSDK where mcu_name is actual chip full name, i.e.
ATSAME70Q21B
etc. and mcu_package is actual package, i.e.LQFP64
etc.
- Added for all MCUs in mikroSDK where mcu_name is actual chip full name, i.e.
mikroSDK v2.12.2 released
v2.12.2
- released: 2024-12-11
Changes
Improvements
mikroSDK
mikroSDK has been reworked to fit in all SDK supported PIC MCUs for XC8 toolchain.
In the XC8 compiler, there are some known considerations and potential issues when working with pointers and data widths greater than 8 bits, especially when working on 8-bit microcontrollers like the PIC series.
This is why the approach had to be modified. The modified approach bypasses this limitation by
splitting complex pieces of code into more simple steps.
The simpler steps result in XC8 toolchain generating appropriate assembly
instructions and therefore in working pieces of code.
New features
mikroSDK
Added following macro patterns:
GPIO_Pxy
- Replaces
Pxy
- Replaces
GPIO_PIN_x
- Replaces
PIN_xy
- Replaces
GPIO_PORT_x
- Replaces
PORT_xy
- Replaces
All use of the old macros has been changed by new ones. This affects all board and mcu packages as well.
Note that old macros shall be left in the SDK for a couple of upcoming versions, giving users time to make adequate changes to any code they might have.
CORE
All mcu.h
header file for XC8 supported MCUs have the following change applied:
- Changed all occurrences of
Pxy
to_Pxy
- Where
x
i a letter from A to Z andy
is a number from 0 to 9
- Where
Note that these changes shall be reverted once the old pin definitions are removed from the SDK.
mikroSDK v2.12.1 released
v2.12.1
- released: 2024-12-03
Changes
Improvements
mikroSDK
mikroSDK LVGL now has the option to build either LIGHT
or HEAVY
LVGL configurations.
HEAVY
configuration shall have all features of LIGHT
configuration, with the addition of below listed features.
Additional options added for HEAVY
configuration:
CANVAS
TABLE
ANIMIMG
CALENDAR
CHART
IMGBTN
LIST
MENU
METER
MSGBOX
SPAN
TABVIEW
TILEVIEW
WIN
FLEX
GRID
Note that this feature is chosen by NECTO based on MCU memory (RAM/FLASH).
i.e. if MCU has at least 128K RAM and 512K FLASH, heavy configuration will be built.
Fixes
mikroSDK
- Fixed a stray space character before closing a comment
- This caused build issues for FS if
FF_USE_LFN
was defined
- This caused build issues for FS if
mikroSDK v2.12.0 released
v2.12.0
- released: 2024-11-08
Changes
Improvements
mikroSDK
mikroSDK now has the option to skip DRV
to HAL
layer jumps completely.
Note that this feature is enabled by default in NECTO.
Fixes
- Fixed PIC XC8 SPI module so the code can be generated
- Previous code was too complex for XC8 compiler, so it has been simplified
- Fixed all timer module number definitions for all STM32L1x MCUs
- Previously, timer/pwm was not working correctly as these values were incorrect
mikroSDK v2.11.5 released
v2.11.5
- released: 2024-11-01
Changes
Improvements
mikroSDK
New STM32L4 MCUs supported!
MCU | MCU | MCU |
---|---|---|
STM32L412C8 | STM32L412CB | STM32L422CB |
STM32L412K8 | STM32L412KB | STM32L422KB |
STM32L412R8 | STM32L412RB | STM32L422RB |
STM32L412T8 | STM32L412TB | STM32L422TB |
Supported modules:
-
ADC (Full module support)
-
SPI (Full module support)
-
UART (Full module support)
-
I2C (Full module support)
-
PWM (Full module support)
-
GPIO (Full module support)
-
OW (Full module support)
-
RTC (Full module support)
-
DMA (Full module support)
-
Third party modules supported
- TinyUSB (An open source cross-platform USB stack for embedded system)
- FatFs (Generic FAT Filesystem Module)
Files added:
./mcu_name/mcu_definitions.h
-https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/STM32/mcu_name/mcu_definitions.h
./mcu_name/can_definitions.h
-https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/STM32/mcu_name/can_definitions.h
./mcu_name/dma_definitions.h
-https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/STM32/mcu_name/dma_definitions.h
- Added for all new MCUs in mikroSDK where mcu_name is actual chip full name with package, i.e.
STM32L412C8Tx
etc.
- Added for all new MCUs in mikroSDK where mcu_name is actual chip full name with package, i.e.
./mcu_name/mcu_reg_addresses.h.h
-https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_reg_addresses/STM32/mcu_name/mcu_reg_addresses.h
- Added for all new MCUs in mikroSDK where mcu_name is actual chip full name, i.e.
STM32L412C8
etc.
- Added for all new MCUs in mikroSDK where mcu_name is actual chip full name, i.e.
CORE
- Added USB Clock schemes for the newly supported STM32L4 MCUs:
- STM32L412C8
- STM32L412K8
- STM32L412R8
- STM32L412T8
- STM32L412CB
- STM32L412KB
- STM32L412RB
- STM32L412TB
- STM32L422CB
- STM32L422KB
- STM32L422RB
- STM32L422TB
mikroSDK v2.11.4 released
v2.11.4
- released: 2024-10-18
Changes
Improvements
mikroSDK
- Updated logger library error handling
log_init
now returns an error (-1
) if any of the configuration API calls used in it failed
CORE
- Removed
READONLY
option from linker scripts for following MCUs (CLANG)STM32H7S3A8
STM32H7S3I8
STM32H7S3L8
STM32H7S3R8
STM32H7S3V8
STM32H7S3Z8
STM32H7S7A8
STM32H7S7I8
STM32H7S7L8
STM32H7S7Z8
STM32U083CC
STM32U083HC
STM32U083KC
STM32U083MC
STM32U083RC
- Updated project templates to report better errors
- Case when openning designer project without a setup with TFT
- Now reports error in the output
- Case when openning designer project without a setup with TFT
Fixes
mikroSDK
- Fixed following MCU cards to have correct TFT pinout definitions
CORE
- Removed
CAN
schema file (clock configuration) forPIC32MZ1024EFE144
- Added by mistake initially
mikroSDK v2.11.3 released
v2.11.3
- released: 2024-10-03
Changes
Fixes
- Fixed touch panel implementation and TSC2003 library to recognize touch on TSC2003 RESISTIVE Displays while using LVGL projects
- Fixed TP_ROTATION value to be "180" for all 4" CAPACITIVE Mikromedia Boards with PIC32MZ so touch position can be detected correctly
Improvements
- Updated CMakeLists.txt to include MCU Cards headers differently
- Headers are now included with new path with
MCU_NAME
- Headers are now included with new path with
- Clock schemas added for PIC32 mikromedia boards
mikroSDK v2.11.2 released
v2.11.2
- released: 2024-08-23
Changes
NEW HARDWARE
Support added for following hardware:
mikroSDK v2.11.1 released
v2.11.1
- released: 2024-06-27
Changes
- STM32 low level hal support
- dsPIC XC16 USB support
- PIC32 XC32 ETHERNET support
- Fixes
- Improvements
- NEW HARDWARE
STM32
STM32 MCUs supported!
MCU | MCU | MCU | MCU | MCU |
---|---|---|---|---|
STM32C011D6 | STM32C011F6 | STM32L4P5ZG | STM32G431RB | STM32C011J6 |
STM32C011F4 | STM32C011J4 | STM32L4P5AE | STM32L4P5AG | STM32L4P5CE |
STM32L4P5QE | STM32L4P5QG | STM32L4P5RE | STM32L4P5RG | STM32L4P5VE |
STM32L4P5ZE | STM32G431C6 | STM32G431C8 | STM32G431CB | STM32G431K6 |
STM32G431KB | STM32G431M6 | STM32G431M8 | STM32G431MB | STM32G431R6 |
STM32G431V6 | STM32G431V8 | STM32G431VB | STM32G441CB | STM32G441KB |
STM32G441RB | STM32G441VB | STM32G473CB | STM32G473CC | STM32G473CE |
STM32G473MC | STM32G473ME | STM32G473PB | STM32G473PC | STM32G473PE |
STM32G473QC | STM32G473QE | STM32G473RB | STM32G473RC | STM32G473RE |
STM32G473VC | STM32G473VE | STM32G474CB | STM32G474CC | STM32G474CE |
STM32G474MC | STM32G474ME | STM32G474PB | STM32G474PC | STM32G474PE |
STM32G474QC | STM32G474QE | STM32G474RB | STM32G474RC | STM32G474RE |
STM32G474VC | STM32G474VE | STM32G483CE | STM32G483ME | STM32G483PE |
STM32G483RE | STM32G483VE | STM32G484CE | STM32G484ME | STM32G484PE |
STM32G484RE | STM32G484VE | STM32G491CC | STM32G491CE | STM32G491KC |
STM32G491MC | STM32G491ME | STM32G491RC | STM32G491RE | STM32G491VC |
STM32G4A1CE | STM32G4A1KE | STM32G4A1ME | STM32G4A1RE | STM32G4A1VE |
STM32L4Q5CG | STM32L4Q5QG | STM32L4Q5RG | STM32L4Q5VG | STM32L4Q5ZG |
STM32C031C6 | STM32C031F4 | STM32C031F6 | STM32C031G4 | STM32C031G6 |
STM32C031K6 | STM32G051C6 | STM32G051C8 | STM32G051F6 | STM32G051F8 |
STM32G051G8 | STM32G051K6 | STM32G051K8 | STM32G061C6 | STM32G061C8 |
STM32G061F8 | STM32G061G6 | STM32G061G8 | STM32G061K6 | STM32G061K8 |
STM32G0B1CC | STM32G0B1CE | STM32G0B1KB | STM32G0B1KC | STM32G0B1KE |
STM32G0B1MC | STM32G0B1ME | STM32G0B1NE | STM32G0B1RB | STM32G0B1RC |
STM32G0B1VB | STM32G0B1VC | STM32G0B1VE | STM32G0C1CC | STM32G0C1CE |
STM32G0C1KE | STM32G0C1MC | STM32G0C1ME | STM32G0C1NE | STM32G0C1RC |
STM32G0C1VC | STM32G0C1VE | STM32L4P5CG | STM32L4P5VG | STM32G431K8 |
STM32G431R8 | STM32G441MB | STM32G473MB | STM32G473QB | STM32G473VB |
STM32G474MB | STM32G474QB | STM32G474VB | STM32G483QE | STM32G484QE |
STM32G491KE | STM32G491VE | STM32L4Q5AG | STM32C031C4 | STM32C031K4 |
STM32G051G6 | STM32G061F6 | STM32G0B1CB | STM32G0B1MB | STM32G0B1RE |
STM32G0C1KC | STM32G0C1RE |
Supported modules:
- ADC (Full module support)
- SPI (Full module support)
- UART (Full module support)
- I2C (Full module support)
- PWM (Full module support)
- GPIO (Full module support)
- OW (Full module support)
- DMA (Full module support)
- CAN (Full module support)
XC16 USB
- Third party modules supported
- TinyUSB (An open source cross-platform USB stack for embedded systems)
XC32 ETHERNET
- Third party modules supported
- CycloneTCP (An open source cross-platform USB stack for embedded systems)
- Support added for XC32 compiler
Fixes
- Added PD0 and PD1 pins connection for all GD32VF103 MCUs
- Fixed pin configuration for pins with indexes below 8 in
hal_ll_one_wire.c
implementation for GD32VF103 MCUs - Set default CAN baudrate to 125K for all architectures that have CAN module supported
- Modified error handling in ADC implementation for MKV58x MCUs to detect and notify when an unsupported resolution is attempted to be set
- Modified low-level GPIO implementation for STM32 so now PORT G pins on STM32L4Rxx MCUs can be set as inputs or outputs
- Resistive mikromedias naming fixed according to the product names
Mikromedia 3 for STM32 Resistive
changed toMikromedia 3 for STM32F4 Resistive
Mikromedia 3 for STM32 Resistive FPI
changed toMikromedia 3 for STM32F4 Resistive FPI
Mikromedia 4 for STM32 Resistive
changed toMikromedia 4 for STM32F4 Resistive
Mikromedia 5 for STM32 Resistive
changed toMikromedia 5 for STM32F4 Resistive
- Fixed values for display configuration so now it is configured as an 800x480 display istead of 480x800
Mikromedia 5 for Kinetis Resistive
Mikromedia 5 for Kinetis Resistive FPI
- Fixed regex for including an appropriate dip28 header files for the boards that have this socket
Improvements
- Added helper function in ./tp.c for simplifying code operations on PIC architecture.
- Added default CAN receive FIFO number and default filter bank number for all architectures that have CAN module supported
- Added CAN_RX and CAN_TX pins for
EasyPIC v8
,EasyPIC v8 for dsPIC30
andEasyPIC v8 for PIC24/dsPIC33
boards - Added mapping for LCD pins in board.h, lcd.h now uses these pins instead of TFT
- Changed the approach to adding new BSP
- BSP files are now included as separate cmake files per board
- Implemented an option to add all header files that are used in LVGL project into the LVGL library
- Structure typecast for GPIO changed to match other architectures
NEW HARDWARE
Support added for following hardware: