Difference between revisions of "ECE497 Calendar and Exercises"

From eLinux.org
Jump to: navigation, search
m (Week 2: Greened)
m
 
(153 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:ECE497]]
+
The calendar is a Google Doc [https://docs.google.com/document/d/1ctqDl0_h6qM0YMfb1wjagi5AyDgUL96TpVpn6SpO0To/edit?usp=sharing here].
[[Category:BeagleBoard]]
 
  
Here's what you'll need to do for the class.  Unless stated otherwise these are individual exercises, not team.
+
{{YoderFoot}}
 
 
I'm updating this from last year, so be sure to check the year to be sure it's been refreshed.
 
 
 
'''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://focus.ti.com/lit/ds/symlink/dm3730.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
 
|
 
| Pulse Width Modulation
 
| 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]]
 
|}
 
 
 
Old Week 1
 
{| style="color:red; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 1-2
 
| 8
 
| 2.1-2.3.5
 
| Booting, Memory Map, Cross-Development
 
|
 
|
 
|-
 
| 1-3
 
| 10-Mar
 
| 3.2.13, 4.1-4.3.2
 
| Processor Basics, TI ARM, The Kernel
 
| Bring a printed copy of the Beagle version of Listing 2-1 on page 15.  This is a copy you have generated, not a copy of mine.
 
|
 
|-
 
| 1-4
 
| 11
 
|
 
| Lab time
 
| Compile and run Listing 2-4 on your host computer.
 
| [[ECE497 Listings for Embedded Linux Primer]]
 
|-
 
|
 
| "
 
|
 
|
 
| 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://focus.ti.com/lit/ug/sprugn4h/sprugn4h.pdf DM3730 Technical Reference Manual]
 
[http://beagle.s3.amazonaws.com/design/xM-A/BB_xM_SRM_A2_01.pdf BeagleBoard-xM System Reference Manual]
 
|}
 
 
 
== Week 2 ==
 
 
 
{| style="color:blue; background-color:#ffcccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 2-1
 
| 5-Dec
 
|
 
| I2C
 
| 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]]
 
[[EBC Exercise 01 Using bitbake for Kernel and U-boot]]
 
|-
 
| 2-2
 
| 6
 
|
 
| The GNU Project Debugger (gdb)
 
| PWM
 
| [[EBC Exercise 04 Pulse Width Modulation]]
 
|-
 
| 2-3
 
| 8
 
|
 
| make
 
| I2C
 
| [[EBC Exercise 05 I2C]]
 
|-
 
| 2-4
 
| 9
 
|
 
| Advanced Linux Sound Architecture (ALSA)
 
| gdb
 
| [[EBC Exercise 06 gdb Debugging]]
 
|}
 
 
 
Old Week 2
 
{| style="color:red; background-color:#ffcccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 2-1
 
| 14-Mar
 
|
 
|
 
| 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.
 
| [[ECE497 Listings for Embedded Linux Primer]]
 
|-
 
| 2-3
 
| 17
 
|
 
| git
 
| Lab04 git
 
| [[ECE497 Lab03 Git]]
 
|-
 
| 2-4
 
| 18
 
| 4.33-4.5, 5.1-5.2
 
| Adding to the Kernel makefile, Kernel Initialization
 
| Configuring the Kernel Lab
 
| [[ECE497 Lab04 Configuring the Kernel]]
 
|-
 
|
 
| "
 
|
 
|
 
| 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?
 
| [[ECE497 Lab05 Kconfig Edits‎]]
 
|}
 
 
 
== Week 3 ==
 
 
 
{| style="color:green; background-color:#ffccff;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 3-1
 
| 12
 
|
 
| Using the DSP (c6run)
 
| make
 
| [[EBC Exercise 07a make]], [[EBC Exercise 07b make with variables]]
 
|-
 
| 3-2
 
| 13
 
|
 
| Video Processing
 
|
 
|
 
|-
 
| 3-3
 
| 15
 
|
 
|
 
| ALSA
 
| [[EBC Exercise 08 Using ALSA for Audio Processing]]
 
|-
 
| 3-4
 
| 16
 
|
 
|
 
| c6run
 
| [[EBC Exercise 09 Using the DSP for Audio Processing]]
 
|}
 
 
 
Week 3 Old
 
 
 
{| style="color:red; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 3-1
 
| 21
 
| 5.3-5.6
 
| Command Line Processing, __setup Macro,
 
Google Summer of Code (GSoC) 28-Mar to 8-Apr
 
|
 
|
 
|-
 
|
 
| "
 
| 6.1-6.3
 
| System Initialization
 
| Make <code>x11vnc</code> start on bootup.
 
|
 
|-
 
| 3-2
 
| 22
 
| 6.4-6.7
 
| Initial RAM Disk, Using initramfs, Shutdown
 
|
 
|
 
|-
 
| 3-3
 
| 24
 
| 7.1-7.3
 
| Bootloaders, Das U-Boot
 
| Modify the prompt in U-boot to include you initials.
 
| [[ECE497 Lab06 Configuring U-boot]]
 
|-
 
| 3-4
 
| 25
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 3-5
 
| 25-27, Mar-2011
 
|
 
| Indiana LinuxFest is a community F/OSS conference, which is showcasing the best the community has to offer in the way of Free and Open Source Software, Open Hardware, and Free Culture. We are also highlighting the best and brightest from all of these communities from the hobbyist to professional level.
 
 
 
I'll be presenting at this on Saturday afternoon.
 
|
 
| [http://www.indianalinux.org/cms/ Indiana LinuxFest]
 
|}
 
 
 
== Week 4 ==
 
 
 
{|style="color:green; background-color:#ccccff;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 4-1
 
| 19
 
|
 
|
 
|
 
|
 
|-
 
| 4-2
 
| 20
 
|
 
|
 
| Video through
 
| [[EBC Exercise 10 The Display SubSystem (DSS) Writing to the Framebuffer]]
 
|-
 
| 4-3
 
| 5-Jan-2012
 
|
 
|
 
|
 
|
 
|-
 
| 4-4
 
| 6
 
|
 
|
 
|
 
|
 
|}
 
 
 
Week 4 Old
 
 
 
{|style="color:red; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 4-1
 
| 28-Mar
 
|
 
| Report for LinuxFest, Check on Progress
 
|
 
|
 
|-
 
| 4-2
 
| 29
 
| 8.1-8.4
 
| Device Driver Basics, Driver Methods
 
| Follow the example in 8.1-8.2 to write a kernel module.
 
| [[ECE497 Lab08 Device Drivers]]
 
|-
 
| 4-3
 
| 31
 
| 11
 
| BusyBox
 
| Reconfigure BusyBox
 
| [[ECE497 Lab07 Configuring BusyBox]]
 
|-
 
| 4-4
 
| 1-Apr-2011
 
|
 
| '''No Class'''
 
|
 
|
 
|}
 
 
 
== Week 5 ==
 
 
 
{|style="color:green; background-color:#ccffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 5-1
 
| 4-Apr
 
| 8.1-8.4
 
| More Device Drivers
 
| Follow the example in 8.3-8.4 to write a kernel module that does more.  Use dynamic major number allocation.
 
| [[ECE497 Lab08 Device Drivers]]
 
|-
 
| 5-2
 
| 5
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 5-3
 
| 7
 
|
 
| Guest Speaker.  . Alan Hastings (TI Fellow, Analog and Power Systems IC Designer with Layout and Processing expertise)
 
 
 
'''Digital in Analog Designs'''
 
When incorporating digital into analog and mixed-signal designs, the standard methods of design, validation, and testing simply don’t work well.  The circuits are often partially or fully asynchronous and test coverage is often much less than we would like.  These problems will be presented with some insight into how digital designers could solve these problems in their designs.
 
|
 
|
 
|-
 
| 5-4
 
| 7
 
|
 
| Open Lab.  Work out lingering problems.
 
|
 
|
 
|}
 
 
 
== Week 6 ==
 
 
 
{| style="color:green; background-color:#ccffff;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 6-1
 
| 11
 
| 13, 15
 
| Debugging Tools: gdb, cbrowser/cscope, tracing, profiling
 
| Play with gdb
 
| [[ECE497 Lab09 Development Tools]]
 
|-
 
| 6-2
 
| 12
 
| OMAP_Workshop, p109-156
 
| Installation and gMake
 
| DaVinci Workshop - Lab 05, gMake
 
| [[ECE497 Lab10 gMake]]
 
|-
 
| 6-3
 
| 14
 
| OMAP_Workshop, p159-170
 
| Lab 10, Using the OSS Driver
 
| DaVinci Workshop - Lab 06, Intro to Device Drivers
 
| [[ECE497 Lab11 Using the Open Sound System (OSS)]]
 
|-
 
| 6-4
 
| 15
 
|
 
| '''No Class'''
 
|
 
|
 
|}
 
 
 
== Week 7 ==
 
 
 
{| style="color:green; background-color:#cccccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 7-1
 
| 25
 
| OMAP_Workshop, p200-218
 
| The Display SubSystem (DSS)
 
| Inspect code to read video from a web cam, write video to the display.  Write code to read from the web cam and write to the display.
 
| [[ECE497 Lab12 The Display SubSystem (DSS)]]
 
|-
 
| 7-2
 
| 26
 
|
 
|
 
| Lab12
 
| [[ECE497 Lab12 The Display SubSystem (DSS)]]
 
|-
 
| 7-3
 
| 28
 
|
 
| Using the DSP
 
| Install c6run and compile and run the examples.
 
| [[ECE497 Lab13 Using the DSP via c6run]]
 
|-
 
| 7-4
 
| 29
 
|
 
| '''No Class'''
 
|
 
|
 
|}
 
 
 
== Week 8 ==
 
 
 
{| style="color:green; background-color:#ffcccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 8-1
 
| 2-May-2011
 
| GStreamer
 
|
 
|
 
| [http://gstreamer.freedesktop.org/ GStreamer]
 
|-
 
| 8-2
 
| 3
 
| OMAP_Workshop, p219-248 (optional)
 
| Multithread
 
| Status Report
 
| [[ECE497 Status Report]]
 
|-
 
| 8-3
 
| 5
 
|
 
| Work Day, come to class
 
|
 
|
 
|-
 
| 8-4
 
| 6
 
|
 
| '''No Class'''
 
|
 
|
 
|}
 
 
 
== Week 9 ==
 
 
 
{| style="color:green; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 9-1
 
| 9
 
|
 
| Project Time
 
|
 
|
 
|-
 
| 9-2
 
| 10
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 9-3
 
| 12
 
|
 
| ALSA
 
|
 
|
 
|-
 
| 8-4
 
| 13
 
|
 
| Project Time
 
|
 
|
 
|}
 
 
 
== Week 10 ==
 
 
 
{| style="color:green; background-color:#cccccc;" cellpadding="10" cellspacing="0" border="1"
 
! Day !! Date !! Reading !! Topic !! Exercise !! Links
 
|-
 
| 10-1
 
| 16
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 10-2
 
| 17
 
|
 
| Project Presentations
 
| Demos all period
 
|
 
|-
 
| 10-3
 
| 19
 
|
 
| '''No Class'''
 
|
 
|
 
|-
 
| 10-4
 
| 20
 
|
 
| '''No Class'''
 
|
 
|
 
|}
 

Latest revision as of 08:16, 22 July 2020

The calendar is a Google Doc here.




thumb‎ Embedded Linux Class by Mark A. Yoder