Difference between revisions of "Embedded Linux, Rose-Hulman"

From eLinux.org
Jump to: navigation, search
(Major rewrite to become the course day one handout)
m (Text)
Line 11: Line 11:
  
 
=== Text ===
 
=== Text ===
We'll be using the text '''Embedded Linux Primer'''[[http://books.google.com/books?id=x5UNQwAACAAJ]], by ''Christopher Hallina''n, published by Pearson Prentice Hall.  The link is for the 1<sup>st</sup> edition; however we are using a prepublication version of the 2<sup>nd</sup> edition.  It will be available in the bookstore around the first day of class.
+
We'll be using the text '''Embedded Linux Primer'''[[http://books.google.com/books?id=x5UNQwAACAAJ]], by ''Christopher Hallina''n, published by Pearson Prentice Hall.  The link is for the 1<sup>st</sup> edition; however we are using a prepublication version of the 2<sup>nd</sup> edition[[http://books.google.com/books?id=1U5yQAAACAAJ&source=gbs_book_other_versions_r&cad=2]].  It will be available in the bookstore around the first day of class.
  
 
=== Grades ===
 
=== Grades ===

Revision as of 07:12, 2 March 2010

Introduction

This Wiki is about a college-level embedded processor class being taught using the BeagleBoard. It's being taught by Professor Mark A. Yoder in the Electrical and Computer Engineering Department[[1]] at Rose-Hulman Institute of Technology[[2]]. Rose is a small, private, undergraduate engineering school that focuses on undergraduate education.

A major part of the class is learning how to work with and leverage off of the open source community. The course requires a major project which will either significantly contribute and an existing open source project, or launch a new one. Here's the official description of the course.

Course Description

ECE 597/CSSE XXX 32-bit Embedded Linux 4R-0L-4C S Pre: Consent of instructor

Brief introduction to Linux on a 32-bit embedded processor. Detailed study of what happens from power up the fully running X-Windows. Adapting Linux to a given application including: boot time reduction, power management and root filesystem support. Streaming media on an embedded processor. Using a DSP co-processor to improve performance. Design project. Previous Linux experience not required, but helpful. C programming, operating system and hardware experience required.

Text

We'll be using the text Embedded Linux Primer[[3]], by Christopher Hallinan, published by Pearson Prentice Hall. The link is for the 1st edition; however we are using a prepublication version of the 2nd edition[[4]]. It will be available in the bookstore around the first day of class.

Grades

Grades in the class aren't based on the traditional homework and exams, rather, they are based on a major Beagle-based project and your portfolio. Your portfolio is a collection of what you have contributed to the community.

Links

Since we are working with the open source community, you need to know where the action is. Here are some useful links to what's happening in the Beagle community.

  • BeagleBoard.org[[5]], the starting point for all thing Beagle.
  • Beagle Discussion Group[[6]], lot's of good information here, but you'll have to dig a bit. Subscribe and follow the discussion.
  • eLinux[[7]], this is where this page is being hosted. It's about embedded Linux in general, not just the BeagleBoard.
  • Free Electrons Beagle Board Training[[8]], some good labs about what makes embedded Linux run.

Project Ideas

Here are some links where you'll find ideas for your project.

  • ETechDays Community Lightning Talks[[9]], this is a one-day web-based conference where many project ideas are presented. One of our 2009-2010 senior design projects was found here.
  • Official list of Beagle Projects[[10]], there are many Beagle specific projects listed here. Many are inactive. List your project here one it running.
  • Augmented Reality Project[[11]], here's an idea that I think we can do on the Beagle. Rather than using augmented reality glasses, I'd suggest we use a TI DLP pico projector[[12]].
  • Android[[13]], this is one of a couple of efforts to port Google's Android OS[[14]] to the Beagle.

Getting Started Hint s

Here are some useful links of getting things going.

  • Linux Hints for Beagle[[15]], hints on handling video and USB devices.
  • Precompiled Angstrom Distribution[[16]], this is a good starting place to get Linux running on your Beagle. It's all pre-compiled and ready to run. The instructions below will point you to here.

Setting up your hardware and software

The Hardware

You need to need to come by my office to pick up a BeagleBoard. I have on Beagle per team, plus a couple of extras. If you got a rec C3 board earlier you need to come swap it for a rev C4. You also need to buy the Beagle Kit from Mark Crosby in room XXX. It's $40. You'll also need a USB mouse, keyboard and powered hub, plus an SD card and reader. 2G should be big enough. I suggest at least one card per person (not team). This will let you try new things without deleting the old.

The Software

We're using mostly open source software. Go to hereece597 Software Setup to see see how to get everything installed.

Setting up Linux on your host computer

Beagle: Installing Ubuntu in VMware Player

Setting up your BeagleBoard

Getting your Beagle running

Things I'm working on

Links I'm working on