Abstract

The sequence of assignments outlined in this work targets university level computer science and computer engineering students who are familiar with C and some form of assembly. First, the students build a preemptive mini-operating system with support for multiple thread contexts. Next, the students add in synchronization primitives for sharing values between threads. After the synchronization primitives, the next assignment is to write code to read data from a Linux-compatible filesystem. The final assignment is to put everything together and construct a music player that can play music files stored on a flash memory card. Students also learn about efficient software design when working in a memory-constrained environment such as the Arduino. The end result of the assignments is a music player that students can feel proud of and they fully understand the software behind its operation having built the software essentially from scratch.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.