modern microcontroller IDE and framework besides Arduino
Hi all, I'm opening this issue to get help on finding and testing a well supported, well documented, modern and opensource IDE (crossplatform) and framework for embedded programming. Reason of this is that "professional embedded programming companies" will most probably not use Arduino...
I already did some work on this. I wasn't able to get it to work yet, but I have the feeling that I'm quite close. Documentation is here: https://fabacademy.org/2024/labs/waag/students/leo-kuipers/other/Embedded-IDE-in-VSCode/
The requirements as far as I'm concerned:
- open source framework and IDE
- Cross-platform (specifically for the IDE)
- modern (easy to understand workflow: e.g. compile, program, debug, etc. from within the IDE)
- Should work with multiple microcontroller families (same workflow for different families)
- Supported framework (i.e. not deprecated)
- Well documented framework with working examples
- working programmer from within the IDE with opensource programmer hardware/firmware
- working debugger (breakpoints, variable inspection, etc.) from within the IDE with opensource debugger hardware/firmware
My research and documentation I figured this should work (for ARM Cortex microcontrollers):
- VSCode
- Embedded IDE extension (Eide
- CMSIS framework (which can be installed using this Embedded IDE extension) -> only for Cortex family.
- Quentorres as programmer/debugger (with free-dap)
- GNU Arm Embedded Toolchain (arm-none-eibi-gcc) -> only for ARM
Current issues with this setup:
- Only works for ARM Cortex family. However, Embedded IDE extension should support STM8, STM32, RISCV and 8051. But no AVR (like attiny) as far as I can tell. Haven't tried or researched though.
- Couldn't get the Quentorres to program my SAMD (I tried using OpenOCD)
- didn't try debugging because I couldn't program.
- CMSIS Documentation is poor (Microchip/Atmel merger issue?). Lot's of 404 broken links, defines like
REG_PORT_OUT0
don't work.
Any help on this is appreciated. Specifically to get a proper "modern" working workflow using VScode on Cortex and AVR families.