Group Project: Demonstrate and compare the toolchains and development workflows for alternative embedded architectures.
Within a microcontroller, there are different embedded architectures:
- Single bus for instruction and data.
- Program code and data share the same memory space.
- Separate buses/memory spaces for instructions and data.
- Enables parallel data and instruction fetches.
MCUs designed specifically for different microcontroller workflows.
- Architecture: Separate program and data memories but with a single unified address space.
- Example: ATmega328P
- Uses Harvard architecture: separate memories and buses for program and data.
- 32 8-bit general-purpose registers connected to the Arithmetic Logic Unit (ALU).
1. Code in C/C++ using the Arduino IDE.
2. Compile into a binary hex file.
3. Flash the binary into the microcontroller’s program memory (using Arduino IDE or another tool).
- ARM is a RISC-based architecture with better performance compared to AVR.
- Registers are 32-bit (compared to AVR’s 8-bit), allowing for more complex and powerful operations.
- Dual ARM Cortex-M0+ cores.
- Flexible programming workflows:
- Pins and functionality are similar to AVR but offer greater flexibility and performance.