Marquette University embeded system course



 

Laboratory Projects

For the practical laboratory component of COSC 198, students split into teams of six. In the rst portion of the term, the teams worked in parallel on competing implementations of the same prescribed embedded system software components, and then presented their work to the rest of the class in a \bake-o " format. In the latter half of the term, the teams were allowed (in consultation with the professor) to brainstorm their own project goals, and then pursue an assigned subset.
Team work throughout the term emphasized best practice software design principles, including revision control and collaboration tools, testsuite validation, regular design reviews, and group code reviews. Laboratory projects included:

- Ethernet device driver. Completion of an asyncronous device driver on the Embedded Xinu / Linksys WRT-54GL platform, including DMA pool management and O/S bu ering.
- Packet sni er for receiving, classifying, and displaying various types of network traffic.
 - ARP (Address Resolution Protocol) and ICMP (Internet Control Message Protocol), two key underlying pieces of the modern TCP/IP Internet. Teams implemented enough of these protocols to support ping and traceroute primitives from their embedded operating system kernels.
- UDP (User Datagram Protocol), the work horse of unreliable network communication. Students implemented enough of UDP to support their own UDP service clients, including DHCP and rdate.

At this point, the teams went their separate ways based upon their interests. One group proceeded to implement a working subset of TCP (Transmission Control Protocol), the reliability layer of Internet communication, allowing their embedded operating system to establish connections and exchange data with many other external services. Another group pursued memory protection, a mechanism using the virtual memory hardware of the underlying architecture to guarantee memory isolation between processes in the embedded operating system. While neither team were entirely successful in achieving their advanced goals, each of the teams met key benchmarks and ended the semester with substantial accomplishment. Both of these nal projects are of the level typically found in second-year graduate-level systems courses at some other Universities.

<<Previous



Copyright 2010, NEXOS. Read Privacy Polity Terms and conditions
s