These are copies of the lessons and labs that I developed for the LPC802 and LPC804 microcontrollers by NXP.
These are the "student" versions and contain blanks in certain places on purpose.
Course Outline (EECS 3215 Winter 2020)
Introduction to the design of embedded systems using both hardware and software. Topics include microcontrollers; their architecture, and programming; design and implementation of embedded systems using field programmable gate arrays. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit "5"); LE/EECS 2031 3.00, LE/EECS 3201 4.00. Course Credit Exclusion: LE/CSE 3215 4.00.
After taking the course, students will be able to ...
- select and utilize appropriate parallel, serial and analog interfaces
- Use specialized engineering knowledge of design specific components, systems or processes to solve engineering problems (CEAB Knowledge Base Graduate Attribute 1a)
- design embedded software and hardware systems to address problems in important application domains under tight constraints
- Demonstrate skills in computer programming, data analysis and graphical visualization (CEAB Knowledge Base GAI 1c)
- design, implement and interface with standard and custom peripherals
- Conceive design solutions to solve the defined problem (CEAB Design GAI 4b)
- prototype embedded systems using microcontrollers and field programmable gate arrays (FPGAs)
- Integrate design sub-systems into a complete system (CEAB Design GAI 4h)
- Decompose complex systems into smaller, more manageable sub-systems. (CEAB Design GAI 4g)
- understand embedded microcontroller architecture, development, debugging and testing
- Use specialized engineering knowledge of design specific components, systems or processes to solve engineering problems (CEAB Knowledge Base GAI 1g)
Course Text & Software
- Primary General Reference textbook, Computers as Components by Marilyn Wolf (3rd ed; 2012), is available as a freeeBook from the York Library via the Library's Skillsoft subscription. (not the newer 4th/2018 edition)
- Secondary Processor-specific Reference textbook, Definitive Guide to the ARM Cortex M0/M0+ (2nd ed; 2015) by Joseph Liu, is available as a free eBook from the York Library.
- Optional Tertiary General Reference textbook, Microcontrollers and Microcomputers by Frederick Cady, 2010 (2nd Ed), is available as a paper book in the York Library.
- LabA_3215_2020_STUDENT_v3 (Verilog & FPGA)
- LabB_3215_2020_STUDENT_v3 (Verilog & FPGA)
- LabC_3215_ScavengerHunt_Student_v2 (no device)
- LabD_3215_ARM_GPIO_Student_2020_v5_annotate (LPC802 / 804)
- LabE_3215_InterruptsSwitch_ARM_2020_STUDENT_v2(LPC802 / 804)
- LabF_3215_SystemTime_ARM_2020_STUDENT_v3 (LPC802 / 804)
- LabG_3215_Timer_MRT_ARM_2020_STUDENT_v2 (LPC802 / 804)
- LabH_3215_7Segment_and_CTimer_ARM_Student_v5 (LPC802 / 804)
- LabI_3215_ADC_Student_Version. (LPC802 / 804)
James Andrew Smith is an associate professor in Electrical Engineering and Computer Science Department in York University's Lassonde School. He lives in Toronto, Canada. While on sabbatical in 2018-19 with his wife and kids he lived in Strasbourg, France and taught at the INSA Strasbourg and Hochschule Karlsruhe and wrote about his personal and professional perspectives. You can find him on Twitter.