Codal target for the STM32 familly. Codal is the core set of drivers, mechanisms and types that make up the runtime for a board in Makecode.
The codal runtime provides an easy to use environment for programming the board in the C/C++ language, written by Lancaster University. It contains device drivers for all the hardware capabilities, and also a suite of runtime mechanisms to make programming the easier and more flexible. These range from control of the LED matrix display to peer-to-peer radio communication and secure Bluetooth Low Energy services.
In addition to supporting development in C/C++, the runtime is also designed specifically to support higher level languages provided by our partners that target physical computing and computer science education. It is currently used as a support library for Microsoft MakeCode
Codal-core must be implemented by third party developper to support new hardware target. This repository constain the codal implementation for the STM32 MCU familly.
This porting is based on:
- STM32Cube MCU Packages including:
- The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls
- The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency
- CMSIS device defintion for STM32
- CMSIS: Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex®-M processor series and defines generic tool interfaces. It has been packaged as a module for Arduino IDE: https://github.com/stm32duino/ArduinoModule-CMSIS
- GNU Arm Embedded Toolchain: Arm Embedded GCC compiler, libraries and other GNU tools necessary for bare-metal software development on devices based on the Arm Cortex-M. Packages are provided thanks The xPack GNU Arm Embedded GCC: https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack
Status | Nucleo 144 | Release | Comment |
---|---|---|---|
💔 | Nucleo F207ZG | ||
💔 | Nucleo F429ZI | ||
💔 | Nucleo F767ZI | ||
💔 | Nucleo F746ZG | ||
💔 | Nucleo F756ZG | ||
💔 | Nucleo L496ZG | ||
💔 | Nucleo L496ZG-P | ||
💔 | Nucleo L4R5ZI | ||
💔 | Nucleo L4R5ZI-P | ||
💔 | Nucleo H743ZI(2) |
Status | Nucleo 64 | Release | Comment |
---|---|---|---|
💔 | Nucleo F030R8 | ||
💔 | Nucleo F091RC | ||
💔 | Nucleo F103RB | ||
💔 | Nucleo F302R8 | ||
💔 | Nucleo F303RE | ||
💔 | Nucleo F401RE | ||
💔 | Nucleo F411RE | ||
💔 | Nucleo F446RE | ||
💔 | Nucleo G071RB | ||
💔 | Nucleo G431RB | ||
💔 | Nucleo G474RE | ||
💔 | Nucleo L053R8 | ||
💔 | Nucleo L073RZ | ||
💔 | Nucleo L152RE | ||
💔 | Nucleo L452RE | ||
💔 | Nucleo L452RE-P | ||
💔 | Nucleo L476RG | ||
💛 | P-Nucleo-WB55RG | 0.0.1 |
Status | Nucleo 32 | Release | Comment |
---|---|---|---|
💔 | Nucleo F031K6 | ||
💔 | Nucleo F303K8 | ||
💔 | Nucleo G431KB | ||
💔 | Nucleo L031K6 | ||
💔 | Nucleo L412KB | ||
💔 | Nucleo L432KC |
Status | Discovery | Release |
---|