6.embedded programming

Overview

The transcript summarizes a lecture on embedded system programming concepts, development environments, and debugging techniques. It provides an overview of key processor families (AVR, ARM, RISC-V), languages (C, Rust, Python), tools (GCC, Arduino, VS Code), and communication protocols (USB, UART). The lecture analyzes tradeoffs between performance, cost, power, and ease of use. Action items include researching processors, comparing development environments, adding I/O devices to boards, and experimenting with languages.

Assignment

group assignment:

  • browse through the data sheet for your microcontroller
    compare the performance and development workflows for other architectures
  • individual assignment:

  • write a program for a microcontroller development board that you made,to interact (with local input &/or output devices) and communicate (with remote wired or wireless devices)
    extra credit: use different languages &/or development environments
    extra credit: connect external components to the board
  • WorkFlow

    Seeed Studio XIAO RP2040

    specifications

    Item Value
    CPU Dual-core ARM Cortex M0+ processor up to 133MHz
    Flash Memory 2MB
    SRAM 264KB
    Digital I/O Pins 11
    Analog I/O Pins 4
    PWM Pins 11
    I2C interface 1
    SPI interface 1
    UART interface 1
    Power supply and downloading interface Type-C
    Power 3.3V/5V DC
    Dimensions 20×17.5×3.5mm
    3DSCAN
    Seeed Studio XIAO RP2040
    3DSCAN
    Seeed Studio XIAO RP2040 Pin

    Solder the Seeed Studio XIAO RP2040 body and pin headers using a gas soldering iron (GP-510SET) with a (GP-510RT-2.4C) tip.
    Gas soldering irons are convenient because they are cordless and do not require electricity.

    Micro:bit v1

    specifications

    BBC Micro:bit V1 V2
    Processor Nordic nRF51822 Nordic nRF52833
    Flash memory 256 KB 512 KB
    RAM 16KB 128KB
    Speed 16 MHz 64 MHz
    Bluetooth Bluetooth 4.0 Bluetooth 5.1 with Bluetooth Low Energy (BLE)
    Radio communication 2.4 GHz radio (80 channels) 2.4 GHz radio (80 channels)
    Buttons Two programmable (A and B) and one system (reset) Two programmable (A and B) and one system (power/reset)
    On/off switch None Press and hold the rear power button
    Touchpad None Touch-sensitive logo
    Microphone None Onboard Knowles SPU0410LR5H-QB-7 MEMS microphone (with LED indicator)
    Display 5x5 programmable LED matrix (25 LEDs in total) 5x5 programmable LED matrix (25 LEDs in total)
    Speaker None Onboard JIANGSU HUANENG MLT-8530 (up to 80 dB)
    Motion sensor and compass LSM303AGR LSM303AGR
    Temperature sensor On-board temperature sensor On-core NRF52
    Edge connector 25 pins 25 pins
    3DSCAN
    Micro:bit v1
    3DSCAN
    Micro:bit v2