Should I Wait and Take 460/560 First?
ECE 460/560 is a prerequisite for ECE 461/561. If you haven’t taken it, then you will be at a significant disadvantage compared with the other students. ECE 461/561 builds on the following expertise learned in ECE 460/560:
- Familiarity with platform hardware and software
- ARM Cortex M0+ CPU,
- Kinetis KL25Z MCU peripherals (especially timer/PWM, ADC, UART, SPI, GPIO),
- Expansion shield (with LCD, touch screen, audio output, uSD card interface, buck converter)
- Familiarity with toolchain: Keil Microvision Development Kit and debugger
- Familiarity with developing RTXv5 RTOS-based application software to target expansion shield
- Familiarity with using an Analog Discovery 2 as oscilloscope and logic analyzer
If you haven’t had 460/560 already, have little free time and little embedded system development experience and are worried about your background, I encourage you to wait a year for 461/561, and take 460/560 first. I’m not planning to retire in this decade.
If you do commit yourself to taking the course, you can gain some familiarity with much of the platform (CPU, KL25Z MCU and peripherals, but not the expansion shield) by working through my ESF textbook and its sample code and following other guidance on this page.
Materials Required
Texts
These textbooks are required for ECE 460/560 (and therefore ECE 461/561 as well):
Embedded Systems Fundamentals with ARM Cortex-M Microcontrollers – Alexander G. Dean
Edition: 1st
ISBN: 978-1911531036
Web Links: Book website, Arm University GitHub (for pdf), Amazon
Cost: Free PDF, or printed copy for ~$40
Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems – David J. Agans
Edition: 1st
ISBN: 9780814474570
Web Link: Amazon
Cost: $15
Components
You will be provided with a FRDM-KL25Z MCU evaluation board and expansion shield to use for the semester. They must be returned working at the end of the semester.
Test Equipment
You are expected to have a logic analyzer (at least four channels) and an oscilloscope (at least two channels with differential inputs) to view and decode I2C, SPI and serial communications, as well as processor activity using twiddle bits and current consumption (with a sense resistor). These are especially valuable when using the real-time kernel and evaluating system activity.
An Analog Discovery 3 (AD3) or AD2 and the free Waveforms program are strongly recommended; the expansion shield plugs in directly to the AD, simplifying development. The AD capabilities include an oscilloscope and logic analyzer. A discounted price of $249 is available for students who qualify for academic pricing (https://digilent.com/shop/academic/). Check with the instructor if you wish to use a different device.
You are expected to have a digital multimeter. The multimeter is needed for general troubleshooting and measurements.
Homework 0 (includes software IDE installation)
The goal of this lab is to get you up to speed quickly on the Keil MDK-ARM integrated development environment and FRDM-KL25Z board.
- ESA Lab 1 (PHW 1)
- ESA PHW 1 rev. 4 – Keil apnt_232_v3.2 Note: On page 4 at 2) Install The KL25 Software Pack, you must select the KL25Z device even though it has been deprecated.