Difference between revisions of "ECE497 Calendar and Exercises"

From eLinux.org
Jump to: navigation, search
m (Week 8)
m
(83 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:ECE497]]
+
[[Category:ECE497 |Calendar]]
[[Category:BeagleBoard]]
 
  
Here's what you'll need to do for the class. Unless stated otherwise these are individual exercises, not team.
+
The calendar is a Google Doc [https://docs.google.com/document/d/1rXURfhND3nACQ2luxa1d8IQkoNpXuqi5OYUYXoqaMHo/edit?usp=sharing here].
  
I'm updating this from last year, so be sure to check the year to be sure it's been refreshed.
+
{{YoderFoot}}
 
 
'''The Date the Exercise appears is the date it is due.'''
 
 
 
== Week 1 ==
 
 
 
{| style="color:blue; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic (happens on date given)!! Exercise (due on date given)!! Links
 
|-
 
| 1-1
 
| 28-Nov-2011
 
|
 
| Introduction, Demos
 
|
 
# Create a user name on [http://elinux.org eLinux.org]
 
# Add your name to the [[ECE497 Editing a Wiki]] page.
 
# Edit your User page on eLinux and add '''<nowiki>[[Category:ECE497]]</nowiki>''' to it. This will make it appear on the Category page.  Check out [[User:Mayhewsw]] for ideas of what else to put on your User page.
 
# Add your user name to [[ECE497 Contributions]].
 
| [[ECE497 Editing a Wiki]], [[ECE497 Contributions]]
 
|-
 
| 1-2
 
| 29
 
|
 
| General Purpose IO, LEDs and push buttons.
 
| Set up a Beagle, demo in class.
 
| [[EBC Exercise 00 Installing Angstrom on SD]]
 
|-
 
|
 
| "
 
|
 
|
 
| Download the  BeagleBoard-xM System Reference Manual.  Be sure it's for the '''xM'''.
 
| [http://beagleboard.org/ BeagleBoard-xM System Reference Manual]
 
|-
 
|
 
| "
 
|
 
|
 
| Download the DM3730 Technical Reference Manual.  Be sure you have the right one, it's some 3,600+ pages long.
 
| [http://www.ti.com/lit/ug/sprugn4n/sprugn4n.pdf DM3730 Technical Reference Manual]
 
|-
 
| 1-3
 
| 1-Dec-2011
 
|
 
| Interrupts and gpio
 
| Set up host computer. Install Linux in a virtual machine on your laptop, do a native install or request access to the "Cloud".  I suggest Ubuntu 10.4 LTS.  Some of the TI software may require it.
 
| [[EBC Exercise 00 Setting Up Hardware and Software]]
 
|-
 
| 1-4
 
| 2
 
|
 
| Debugging via gdb
 
| Read a push button and flash an LED.  Write a short memo that answers the 11 questions in [[EBC_Exercise_02_Flashing_an_LED#Measuring_a_gpio_pin_on_an_Oscilloscope | this]] section.  Only do those under the '''<span style="color:green">green</span>''' heading.
 
| [[EBC Exercise 02 Flashing an LED]]
 
|-
 
|
 
| "
 
|
 
|
 
| Add your project ideas
 
| [[ECE497 Project Ideas]]
 
|}
 
 
 
== Week 2 ==
 
 
 
{| style="color:blue; background-color:#ffcccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 2-1
 
| 5-Dec
 
|
 
| Pulse Width Modulation
 
| gpio via polling and interrupts. Write a short memo that answers the questions in [[EBC Exercise 03 gpio Polling and Interrupts | this]] section.  Only do those under the '''<span style="color:green">green</span>''' headings.
 
| [[EBC Exercise 03 gpio Polling and Interrupts]]
 
|-
 
| 2-2
 
| 6
 
| gdb
 
| I2C
 
|
 
| [[EBC Exercise 06 gdb Debugging]]
 
|-
 
| 2-3
 
| 8
 
|
 
| make
 
|
 
|
 
|-
 
| 2-4
 
| 9
 
|
 
| git
 
|
 
| [[EBC Exercise 01 Using bitbake for Kernel and U-boot]]
 
|}
 
 
 
== Week 3 ==
 
 
 
{| style="color:blue; background-color:#ffccff;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 3-1
 
| 12
 
|
 
| i2c lab
 
| I2C: Do the <span style="color:green">green</span> section [[EBC_Exercise_05_I2C#Assignment | here]]
 
make
 
| [[EBC Exercise 07a make]],
 
[[EBC Exercise 07b make with variables]]
 
|-
 
| 3-2
 
| 13
 
|
 
| Advanced Linux Sound Architecture (ALSA)
 
| git
 
| [[EBC Exercise 05 I2C]], [[EBC Exercise 07c git]]
 
|-
 
| 3-3
 
| 15
 
|
 
| Using the DSP (c6run)
 
|
 
|
 
|-
 
| 3-4
 
| 16
 
|
 
| Lab Time
 
|
 
|
 
|}
 
 
 
== Week 4 ==
 
 
 
{|style="color:blue; background-color:#ccccff;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 4-1
 
| 19
 
|
 
| Lab Time
 
|
 
|
 
|-
 
| 4-2
 
| 20
 
|
 
| Lab Time
 
| ALSA
 
| [[EBC Exercise 08 Using ALSA for Audio Processing]]
 
|-
 
| 4-3
 
| 5-Jan-2012
 
|
 
| Video Processing,
 
bitbaking 2.6.32 kernel
 
|
 
|
 
|-
 
| 4-4
 
| 6
 
|
 
| Threads
 
| c6run.  Do the <span style="color:green">green</span> things [[EBC_Exercise_09_Using_the_DSP_for_Audio_Processing#Assignment_-_Experiment_with_the_code | here]]
 
| [[EBC Exercise 09 Using the DSP for Audio Processing]]
 
|}
 
 
 
== Week 5 ==
 
 
 
{| style="color:blue; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 5-1
 
| 9-Jan-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]],
 
 
 
[[EBC Exercise 10a DSS2 and sysfs]]
 
|-
 
| 5-2
 
| 10
 
| 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]],
 
[[EBC Exercise 11 Running Audio and Video]]
 
|-
 
| 5-3
 
| 12
 
| 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.
 
| [http://www.ti.com/lit/ug/sprugn4n/sprugn4n.pdf DM3730 Technical Reference Manual]
 
[http://beagleboard.org/ BeagleBoard-xM System Reference Manual]
 
|-
 
| 5-4
 
| 13
 
| 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]]
 
|}
 
 
 
== Week 6 ==
 
 
 
{| style="color:blue; background-color:#ffcccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 6-1
 
| 16-Jan
 
| 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]]
 
|-
 
| 6-2
 
| 17
 
| 7.1-7.3
 
| Bootloaders, Das U-Boot
 
|
 
|
 
|-
 
| 6-3
 
| 19
 
| 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]]
 
|-
 
| 6-4
 
| 20
 
| 8.1-8.4
 
| More Device Drivers
 
| Project Status Report, update your project status page.
 
| [[ECE497 Contributions and Project Status]]
 
|}
 
 
 
== Week 8 ==
 
 
 
{| style="color:blue; background-color:#cccccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 7-1
 
| 23
 
| 11
 
| BusyBox
 
| Follow the example in 8.1-8.2 to write a kernel module.
 
| [[EBC Exercise 16 Device Drivers]]
 
|-
 
| 7-2
 
| 24
 
| [http://gstreamer.freedesktop.org/ GStreamer]
 
| GStreamer
 
| 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]]
 
|-
 
| 7-3
 
| 26
 
|
 
| Remote Debugging
 
| Reconfigure BusyBox
 
| [[EBC Exercise 17 Configuring BusyBox]]
 
|-
 
| 7-4
 
| 27
 
|
 
|
 
| Project Status Report, update your project status page.
 
| [[ECE497 Contributions and Project Status]]
 
|}
 
 
 
== Week 9 ==
 
 
 
{| style="color:blue; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 9-1
 
| 6
 
|
 
| Project Time
 
| Remote debugging with gdb, cbrowser/cscope and strace
 
| [[EBC Exercise 18 Remote gdb and more]]
 
|-
 
| 9-2
 
| 7
 
|
 
|
 
|
 
|
 
|-
 
| 9-3
 
| 9
 
|
 
| Project Time
 
| Project Status Report, update your project status page.
 
| [[ECE497 Contributions and Project Status]]
 
|-
 
| 9-4
 
| 10
 
|
 
|
 
| Project Presentations
 
| Demos all period
 
|}
 
 
 
== Week 10 ==
 
 
 
{| style="color:blue; background-color:#cccccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 10-1
 
| 13
 
|
 
| Project Presentations
 
| Demos all period
 
|
 
|-
 
| 10-2
 
| 14
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 10-3
 
| 16
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 10-4
 
| 17
 
|
 
| '''No Class'''
 
|
 
|
 
|}
 

Revision as of 10:33, 31 August 2016


The calendar is a Google Doc here.




thumb‎ Embedded Linux Class by Mark A. Yoder