Skip to content

Latest commit

 

History

History
39 lines (33 loc) · 2.43 KB

README.md

File metadata and controls

39 lines (33 loc) · 2.43 KB

embedded-systems

source code

  1. programs in c
  2. hardware and development environment
  3. universal asynchronous receiver/transmission (uart)
  4. sensor reading with tfmini lidar
  5. servo motor control programming
  6. timer interrupt handling
  7. intro into embedded linux
  8. real time dnn inferencing
  9. board to board communication
  10. implement an RC car’s components: milestone01
  11. python on pi to communicate with hifive: milestone02

material

the purpose of this repository is to illustrate material pertaining to the course embedded systems. An embedded system is an intelligent system with special-purpose computation capabilities, (e.g. smart appliance, cars, medical devices, etc.) The material will cover the hardware and software architecture of embedded systems, as how to program a microprocessor to interact with the physical world through sensors and actuators.

  • introduction to embedded systems, defining embedded systems, differentiating embedded systems from general-purpose computers.
  • embedded software echopsystem, introduction to tools and enviroments for developing embedded software (build toolchain, gnu make, ide, git)
  • c programming refresher
  • RV32 ISA, a brief introduction to RISC-V assembly language
  • microprocessor's memory address space
  • i/o how to interact with the physical world using sensors and actuators
  • interrupt, difference between interrupt and polling, how to use them, and the implications of using them
  • concurrency and threads, how to utilize the available parallelism in the hardware and develop concurrent embedded software
  • scheduling and real-time scheduling concepts in linux
  • cpu and memory architecture, how instructions get executed in the hardware and the micro-architecture of a basic RISC-V, single-cycle processor.
  • introduction to c programming
  • introduction to the embedded software development enviroment - sensor reading
  • servo moto control - timers
  • introduction to embedded linux - linux scheduler
  • real time dnn inference
  • self driving car
  • microcontrollers and embedded processors for interacting with the physical enviroment using i/o devices