EE345M/EE380L Course material, Spring 2012

Jonathan Valvano

Volume 3 Embedded Systems: Real-Time Operating Systems for the Arm Cortex M3

                        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_CAN.pdf                                 Microcontroller network

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_PID.pdf                                   Linear control systems

view21_fuzzylogic.pdf               Fuzzy logic controllers

view22_fixedRateScheduler.pdf            Real-time operating system

                                                            ScheduleFinder.c

view23_MicriumuCOS.pdf                   Commercial RTOS

view24_USB.pdf                                  Universal serial bus

view25_heap.pdf                                  Memory management

view26_Paging.pdf                               Virtual memory

view27_Review.pdf                              Review

view28_Ethernet.pdf                             Low-level Ethernet

Arm_EE382N_4.pdf                            Professor McDermott’s lecture on Arm

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

 

Lab assignments

Lab01.pdf        Real-time clock, oLED Display, ADC and serial port drivers on the LM3S8962 board

Lab02.pdf        Real-time operating system kernel: thread switching and synchronization

Lab03.pdf        Blocking semaphores, priority scheduling, performance measures, profiling

Lab04.pdf        Microphone input, digital filters, FFT, display spectrum on the oLED

Lab05.pdf        Solid state disk, SSI, address translation, layered software, file system

Lab06.pdf        Distributed data acquisition using CAN of IR distance sensor, Ping))), wheel RPM

                        slots.ps  postscript code for creating wheel patterns for tachometer

Lab07.pdf        Formula 0001 Racing Robot  2011 Photos   2011 Racing Video

                        KitSignOut.doc            List of parts in the kit

                        track1.jpg  track1.pdf  track1.pcb

                        track2.pdf  track2.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

                        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)

rit128x96x4.c rit128x96x4.h                 Possible OLED driver, with graphics functions for plotting

Lab2.c                                                 Possible main program for OS (feel free to change this)

Lab3.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 Newton’s method

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

LittleProtoboard.pcb                            Layout of power board for robot used in Lab 7

BigProtoboard.pcb                               Layout of power board for robot used in Lab 7

 

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

DigitalNotch60Hz.xls                                        Simple IIR digital filter design using pole-zero plot

DigitalFilterDesign.xls                                        Complicated IIR digital filter design 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

Micrium-ARM-uCOS-II-Cortex-M3.exe         Example RTOS for the Cortex M3 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 23, 2012, Send comments to: Jonathan W. Valvano .

  Go to Home Page