EE445M/EE380L Course material, Spring 2016
Jonathan Valvano
Volume 3 Embedded
Systems:
Real-Time Operating Systems for ARM Cortex M Microcontrollers
Available
on Amazon Available on CreateSpace
Go to Home Page
Lectures
view01_Dataflow_Intro.pdf Introduction
view02_debug.pdf Debugging
view03_LM3Sxx.pdf Architecture
view04_IntroRTOS.pdf Real-time operating systems
view05_threads.pdf Thread scheduling
view06_semaphores.pdf Thread synchronization
view07_priority.pdf Priority scheduling
boundedBufferMonitor.java Monitor example written in java (from http://elvis.rowan.edu/~hartley/JavaConcProg/)
EE345M_022912.pdf Gerstlauer’s lecture on real time scheduling
view08_analogMicrophone.pdf Sound input, more figures
view08_analogMicrophone.ppt Sound input
view09_analogfilter_speaker.pdf Sound output
view10_DigitalFilter.pdf Fundamentals of digital signal processing
view11_DigitalFilter.pdf Filter design techniques
view11_FFT.pdf Discrete Fourier Transform
view12_SPI_SDC.pdf Flash disk interface
view13_DMA.pdf Fundamentals of high speed interfacing
view14_Filesystem.pdf File system management
view15_Ethernet.pdf Low-level Ethernet
view16_inputcapture.pdf Measurement of period and pulse width
view17_Ping.pdf Sensor interfacing
view18_PWM.pdf Pulse width modulation
view19_motors.pdf Motor interfacing
view20_Teams.pdf Management of teams and Lab 7 design process
view21_PID.pdf Linear control systems
view22_fuzzylogicOdometry.pdf Fuzzy logic controllers and odometry
view23_CAN.pdf Microcontroller network
view24_fixedRateScheduler.pdf Real-time operating system
view25_heap.pdf Memory management
view26_Paging.pdf Virtual memory
view27_USB.pdf Universal serial bus
view28_MicriumuCOS.pdf Commercial RTOS
view29_Review.pdf Review
Arm_EE382N_4.pdf Professor McDermott’s lecture on Arm
McDermott_5_ARM_ISA.pdf Professor McDermott’s lecture on ARM ISA
McDermott_6_ARM_Programming.pdf Professor McDermott’s lecture on programming
McDermott_7_Interrupt_Handlers Professor McDermott’s lecture on interrupts
Lab introduction
labintro.pdf Lab introduction, policies
KeilStart.pdf How to install compiler
style.pdf C programming guideline
style_policy.pdf Grading policies about style
c_and_h_files.pdf Header and Code file syntax
Lab assignments
Lab01a.pdf Lab01b.pdf Real-time clock, Display, ADC and serial port drivers on the board
Lab02.pdf Real-time operating system kernel: thread switching and synchronization
Lab03.pdf Blocking semaphores, priority scheduling, performance measures, profiling
Lab04.pdf Microphone or Sharp distance sensor input, digital filters, FFT, display spectrum on the LCD (Graphics driver in ST7735.h ST7735.c is ready for Lab 4)
Lab05.pdf Solid state disk, SSI, address translation, layered software, file system
Lab06.pdf Distributed data acquisition using CAN of IR distance sensor and Ping))), H-bridge for DC motor
slots.ps postscript code for creating wheel patterns for tachometer (not needed 2014)
Lab07.pdf ready Formula 0001 Racing Robot 2011 Photos 2011 Racing Video 2012 racing video 2014 racing video
KitSignOut.doc KitSensorSignOut.pdf List of parts in the kit
track1.jpg track1.pdf track1.pcb
Monaco.jpg track3_Monaco.pdf track3_Monaco.pcb
track4_Spain.pdf track4_Spain.pcb
track5_Longhorn.pdf track5_Longhorn.pcb
track6_germanGP.pdf track6_germanGP.pcb
track7_US_AustinGP.pdf track7_US_AustinGP.pcb
track8_buddh.pdf track8_buddh.pcb
Tshirt.pdf Winners of the race get this shirt
Reference Material
CreatingProject.pdf uVision4 instructions
LM3S8962EvalBoard.pdf Details of the EKK-LM3S8962 kit, circuit diagram
LM3S8962PortPins.pdf Available I/O pins on the EKK-LM3S8962 kit
LM3S8962_Kit.jpg Photo of the EKK-LM3S8962 kit
LM3S8962kitOverview.pdf 2 page flyer
CortexM3InstructionSet.pdf Thumb2 Assembly
CortexM3Programmer.pdf Thumb2 Assembly
CortexM3_TRM_r2p1.pdf Assembly instruction set
LM3S8962-Datasheet.pdf Data sheet
LM3S8962_ADC.pdf Details of ADC on LM3S8962
LM3S8962_UART.pdf Details of serial port on LM3S8962
LM3S8962Errata.pdf Errors in the LM3S8962
LM3S2110.pdf Data sheet
lm3s2110errata.pdf Errors in the LM3S2110
RiT_OLED_P1420_revision2.pdf OLED data sheet
SD_Physical_Layer_Spec.pdf Secure digital card specification
Servomanual.pdf How to interface and control servo motors
Ifyoumessuptheboard.pdf How to reflash chip
Example code
integer.h Integer manipulation
os.h Possible header files for OS (feel free to change this)
ST7735.h ST7735.c A version of the LCD driver that doesn't use SysTick (feel free to change this). Includes graphics for Lab 4.
Lab2.c Possible main program for OS (feel free to change this)
Lab3.c included in Lab2.c Possible main program for OS (feel free to change this)
edisk.c edisk.h SDC card interface, see also SDC_8962.zip
efile.h Possible header files for file system (feel free to change this)
sqrt.c
Integer
square root using
cr4_fft_1024_stm32.s ST Microsystems Fast Fourier Transform code for 1024 elements
cr4_fft_256_stm32.s ST Microsystems Fast Fourier Transform code for 256 elements
cr4_fft_64_stm32.s ST Microsystems Fast Fourier Transform code for 64 elements
PID_stm32.s ST Microsystems digital controller code for 64 elements
Lab5.c Possible main program for OS (feel free to change this)
Lab6.sch Starter circuits for robot
Design tools
ScheduleFinder.c Find a real-time periodic schedule with minimum jitter
STM32F10x_DSP_Lib_V2.0.0_setup.exe ST Microsystems digital signal processing tools
UM0585.pdf Details of ST Microsystems digital signal processing tools
lpf.xls An Excel sheet to build an analog 2-pole Butterworth low pass filter
DigitalNotch60Hz.xls Simple IIR digital filter design using pole-zero plot
DigitalFilterDesign.xls
Complicated
IIR digital filter design using pole-zero plot
DigitalHighPassFilter.xls
Simple IIR high pass digital filter using pole-zero plot
FIRdesign51.xls FIR digital design tool using DFT
FIRdesign64.xls FIR digital design tool using DFT
filterpro_design_program_download-h.exe Texas Instruments’ Analog filter tool (version 2)
Micrium-uC/OS Example RTOS for the Cortex M Get the book Version 3
Micrium-ARM-uCOS-II-Cortex-M3.pdf Description of Micrium uCOS-II
Controller Area
Network (CAN) material
CANbroadcast.gif Animation of CAN broadcast
CANarbitration.gif Animation of CAN arbitration
CanReception.pdf Logic analyzer trace of Receiving CAN
CanTransmission.pdf Logic analyzer trace of Transmitting CAN
Last updated April 27, 2016, Send comments to: Jonathan W. Valvano .