EE152
Real-time embedded systems
Professor and TA contact info and class meeting policy
- Instructor: Joel Grodstein, joel.grodstein@tufts.edu,
https://www.eecs.tufts.edu/~joelg.
Directions to my office are
here,
- Class time/place: TBD
- Office hours: TBD
- TBD
- For emergencies or private matters, please e-mail or see me directly.
Calendar, syllabus and final projects
- The class calendar is here.
- The syllabus is here.
- If we decide to do final projects, you may choose any final project that you're interested in.
Some potential choices are
here.
The individual labs
- Not a lab #0: Day 1 course intro
- Lab 1: blinky disco on bare metal
- Lab 2: blinky disco with FreeRTOS
- Lab 3: UARTs
- Lab 4: driving a DAC at low speed via ticks and HAL
- Lab 5: driving a DAC via high-speed DMA
- Lab 6: collecting your ECG
- Lab 7: processing your ECG with the PTC algorithm
Labs general info
- First, the all-important
legal
and
safety overviews
- Turn in your lab reports on the web at this link. It will ask you for you Halligan username and password; these are just your usual Halligan ones that you use for the Windows PC lab (not your Tufts UTLN).
- Here's an overview of how to
hook up the electrodes to your body
to read your ECG. It unfortunately shows you the hookup for lead III (left leg to left arm) and for surface EMG, neither of which we use.
3M has published a nice
website with more info, which also shows standard locations for an ECG (we won't quite use those locations, though).
- If you've not used an oscilloscope before, here's a reasonable
tutorial
from a different class (most of it is also applicable to us).
- Here are videos
#1 (7:49) and
#2 (15:32)
on PlatformIO debugging.
Common files for the labs
Resources for FreeRTOS and STM32
Resources for learning about CSRs
The EE14 textbook is "Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C", by Yifeng Zhu.
Some chapters are listed here, mostly in order of how useful they are to this course.
- Chapter 14 describes GPIOs, which are the main way we talk through pins
- Chapter 21 describes D-to-A conversion.
- Chapter 20 describes A-to-D conversion;
with a Zhu ADC video;
- Chapter 22 describes serial communication, which is how UARTs work (as well as SPI and I2C, two common protocols)
- Chapter 11 describes interrupts, which is how the 1ms tick for FreeRTOS is implemented
and a Zhu video on interrupts
- Chapter 15 describes timers