ECE497 Calendar and Exercises
Embedded Linux Class by Mark A. Yoder
Here's what you'll need to do for the class. Unless stated otherwise these are individual exercises, not team.
I'm updating this from last year, so be sure to check the year to be sure it's been refreshed. If the background is white, it hasn't been updated.
All assignments are due the start of the following week. Initially that is a Thursday!
|1-1||30-Aug-2012||Introductions, Demos||Fire up your Beagle and see it work. Do everything in Exercise 09. Due Friday.
EBC Exercise 01 Start Here gives an overview of what we'll be doing over the next few days. Start setting up your Linux development computer now. You can do either a native install, or a virtual machine. Here and here are some notes in virtual machine installs. They are out of date. Feel free to update them.
I suggest Ubuntu 12.04 LTS. Some of the TI software may require it. I may not be able to help with other versions of distributions.
|ECE497 - 32-bit Embedded Linux, Rose-Hulman
EBC Exercise 02 Out-of-the-Box, Bone
|1-2||31||General Purpose IO, LEDs and push buttons.||Set up a Beagle, demo in class. Get reference manuals and clone git repository.||EBC Exercise 03 Installing a Beagle OS
EBC Exercise 05 Getting Exercise Support Materials
|1-3||3-Sept-2012||Interrupts and gpio||EBC Exercise 08 Installing Development Tools|
|1-4||4||i2c, git||EBC Exercise 16 git|
|"||Add your project ideas||ECE497 Project Ideas|
|2-1||6-Sept||Pulse Width Modulation||EBC Exercise 12 I2C|
|2-2||7||Lab Time, Mini Project 01||Measure gpio and pwm with oscilloscope.||EBC Mini Project 01|
|2-3||10||gdb, Lab Time||EBC Exercise 14 gdb Debugging|
|3-1||13||make, Mini Project 02||Flash ETC 2012 image on SD card for xM||EBC Exercise 15 make|
|3-2||14||Advanced Linux Sound Architecture (ALSA)||EBC Exercise 17 Using ALSA for Audio Processing|
|3-3||17||Using the DSP (c6run)||EBC Exercise 18 Using the DSP for Audio Processing|
|3-4||18||Lab Time, Mini Project 1 demo time|
|4-1||20||Video Processing||EBC Exercise 19 DSS2 and sysfs|
|4-3||24||Threads||EBC Exercise 21 Running Audio and Video|
|6-1||27-Sept-2012||2.1-2.3.5||Booting, Memory Map, Cross-Development||Video through||EBC Exercise 01 Using bitbake for Kernel and U-boot#Finding the Correct Kernel,
EBC Exercise 10 The Display SubSystem (DSS) Writing to the Framebuffer,
|6-2||28||3.2.13, 4.1-4.3.2||Processor Basics, TI ARM, The Kernel||Reproduce every listing each day's reading assignment. See my Listing page as an example. Note any interesting differences between your listing and the book and my listings. Keep a printed copy in a notebook. Bring to class and I'll check them during lab time.||EBC Listings for Embedded Linux Primer,|
|6-3||1-Oct-2012||4.3.3-4.5, 5.1-5.2||Adding to the Kernel makefile, Kernel Initialization||Compile and run Listing 2-4 (Hello World, embedded style) on your host computer, Beagle ARM and Beagle DSP. Compare the results.||EBC Exercise 12 Cross-Compiling and Finding the Right Kernel|
|"||"||Find the Beagle version of Figure 2-5 on page 25. Be sure to find a numeric value for the starting address of the POP SDRAM. Note where you found this information.||DM3730 Technical Reference Manual|
|6-4||2||5.3-5.6||Command Line Processing, __setup Macro||Configuring the Kernel Lab||EBC Exercise 13 Configuring the Kernel|
|"||6.1-6.3||System Initialization||Project Status Report, update your project status page.||ECE497 Contributions and Project Status|
|7-1||4||6.4-6.7||Initial RAM Disk, Using initramfs, Shutdown||Here's a challenge for today's lab. Modify the correct Kconfig file so you have the option shown in the link. What changes would you have to make the the makefile for your new code to compile?||EBC Exercise 13 Configuring the Kernel|
|7-2||5||7.1-7.3||Bootloaders, Das U-Boot|
|7-3||8||8.1-8.4||Device Driver Basics, Driver Methods||Modify the prompt in U-boot to include you initials.||EBC Exercise 15 Configuring U-boot|
|7-4||9||8.1-8.4||More Device Drivers||Project Status Report, update your project status page.||ECE497 Contributions and Project Status|
|8-1||11||BusyBox||Follow the example in 8.1-8.2 to write a kernel module.||EBC Exercise 16 Device Drivers|
|8-2||12||GStreamer||GStreamer (Cheat Sheet,||Follow the example in 8.3-8.4 to write a kernel module that does more. Use dynamic major number allocation.||EBC Exercise 16 Device Drivers|
|8-3||15||Remote Debugging||Reconfigure BusyBox||EBC Exercise 17 Configuring BusyBox|
|8-4||16||Project Status Report, update your project status page.||ECE497 Contributions and Project Status|
|9-1||18||Project Time||Remote debugging with gdb, cbrowser/cscope and strace||EBC Exercise 18 Remote gdb and more|
|9-2||19||GStreamer||EBC Exercise 19 GStreamer|
|9-3||22||Project Time||Project Status Report, update your project status page.||ECE497 Contributions and Project Status|
|9-4||24||Project Presentations||Demos all period|
|10-1||13||Project Presentations||Demos all period|
Embedded Linux Class by Mark A. Yoder