Skip to content

Latest commit

 

History

History

CS301 Embedded System and Microcomputer Principle

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Embedded System and Microcomputer Principle (CS301)

It gives hands-on STM32 tutorial and embedded system principles, which is related to Computer Organization but less detailed in architecture and more focused on embedded system design, like bus, Interrupt, I2C, peripherals, etc.

About

  • Instructor: Yuhui Bai (白雨卉)
  • TA: Qing WANG (王晴)
  • Semester: 2024 Fall
  • Textbook: NO Textbook, only references

Content

  • Assignment: 1 report + 3 STM32 programming
  • Lab: 13 lab slides and codes
  • Project: STM32-based robot car and MiniSTM32 board controller
  • Text: ARM Cortex-M3, STM32F103RCT6 programming manual and datasheet.
Lecture Topic Content
#1 Introduction to Embedded System CPU, MCU and SoC
Application
#2 STM32 MCU & GPIO ARM Overview
Memory Layout (MMIO)
#3 C for Embedded System C Recap
#4 ARM Assembly Arithmetic (and Flags)
Load/Store Instructions
#5 Interrupt Subroutine & Calling Convention
Interrupt and NVIC, AIRCR IPRx register
#6 UART UART Protocal
USART in STM32
#7 Timer Clock Tree
STM32 Timers
#8 Advanced Timer Output Compare PWM
Input Capture
Systick
#9 I2C & SPI Inter-Integrated Circuit
Serial Peripheral Interface Protocol
#10 SD Card & File System Storage Devices Overview & SD Card
FAT FS
#11 Bus Bus Architecture
Arbitration
#12 ADC Analog-to-Digital Converter (on STM32)
#13 DMA & Pipeline Direct Memory Access
Bit-banding
ARMv7 Pipeline
#14 Arithmetic Barrel Shifter
Ripple Carry, Look Ahead, Carry Select
Booth's Algorithm

Lab

Each lab has practices to program the peripherals on STM32 based on the topic and you'll be assigned a MiniSTM32 board through out the semester. There're probably 3 programming assignments in C using STM32CubeMX IDE, and largely they are

  • 1st assignment is a simple tool with LCD screen display, LEDs and buttons (KEY0, KEY1, KEY_WKUP), those with GPIOs.
  • 2nd assignment deals with UART, Timer or IWDG, those with interrupts.
  • 3rd assignment plays with touch screen, and most likely it requires implementing a game.

Project

The instructors introduced a robot car. Who knows how long the cars will serve. But the principles of project are

  • It must contains a MiniSTM board (used in labs and assignments).
  • It must includes as much topic as possible, and additional wireless communication (2.4G is based on SPI and bluetooth is based on UART)