Recently Updated Pages
Pin Selection and Pin Mode
Objective Know how to select a specific functionality of a given LPC40xx pin. Know how to select...
PWM (Pulse Width Modulation)
Objective To learn about the use of PWM signals, their related parameters, and how to set up an ...
Lab Assignment: Device Interfacing w/ SPI + Data Structures
To learn how to create a single dynamic thread-safe driver for Synchronous Serial Port and to co...
Lab Assignment: ADC + PWM
Objective Implement an ADC driver, implement a PWM driver, and design and implement an embedded ...
Syllabus
Course Description Hardware implementation of a microcomputer architecture using modern micropro...
EEPROM Driver
In this assignment, we will build up a driver to write the EEPROM on the NXP processor. EEPROM...
Struct Address
Objective Learn basics of data structures Learn how memory may be padded within data structure...
DMA - Memory to Memory transfer
Objective Copy data from one memory block to another memory block using DMA controller Use imp...
UART using GPIO
The objective of this assignment is to emulate UART in software. You will use a GPIO pin to trans...
DMA and Timer Integration
In this assignment, we will use multiple CPU peripherals and allow them to talk to each other...
RTOS Trace
Overview FreeRTOS trace is a third party library developed by Percepio; please check them out he...
Hardware Timer
A hardware timer is a time tracking peripheral that runs independent of the foreground CPU instru...
GPIO - LED and Switch Interface
Objective The objective of the assignment is to access microcontroller's port-pins to manipulate...
Preparation for Labs
C programming basics Functions Structures Pointers Bit Masking Tutorial Basic parts and t...
Unit Testing code that touches the HW registers
This article guides you on how to unit-test code that reads or writes hardware registers of you...
Use single periodic callback if possible
The problem with multiple callbacks is that the higher rate can interrupt a lower rate callback. ...
System Calls
TODO stdio memory
Code Modularity
Code should be broken apart into smaller pieces which has advantages: Small code modules are ea...
Switch / Case Statements
Normally switch / case statements are encouraged. Here is an article that is sort of against it.