Week 3: Group Assignment
Toolchains and development workflows: where you write the code, what you do to compile it, and what you do to upload
- Toolchains look very similar: for Arduino IDE → different boards; for GCC → different compilers
- Arduino IDE: all-in-one, includes libraries so everything is self contained, slow to upload, high-level but easier to learn, relies on existing libraries and bootloading code that can remain a black box if you let it
- ChatGPT/vibecoding: super fast code writing, harder to debug, random errors appear without warning, limits learning unless you are intentional about understanding
- The recommended development workflow from Microchip is the MPLAB® X IDE;
this replaces Microchip Studio, née Atmel Studios
- GNU Compiler Collection (GCC) directly: use GCC to cross-compile for the correct target architecture, gives you explicit control (lower-level coding), higher barrier to entry (e.g., more manual compiling, linking, and uploading)
Embedded architectures: set of processor and microcontroller designs that can be targeted by your development tools, compilers, and toolchains
- Both microcontrollers we worked with are ARM-based, where the Seeed Xiao RP2040 uses two Cortex M0+ cores and the ATSAMD21E18 uses only one Cortex M0+.
- The RP2040 has a dual core and much higher frequency (133 MHz) whereas the ATSAMD21E18 runs at 48 MHz.
- There is 264k of sRAM available for the RP2040 and only 32k of sRAM for the ATSAMD21E18.
- The RP2040 has more peripherals and therefore more functionality.