With embedded computer systems being a core topic in computer engineering, there are typically one or more courses in a program that provide varying coverage. Many universities offer introductory courses that focus on microcontroller-based systems and embedded programming. Advanced courses often do not have a common focus and are not available until the graduate level, leaving a gap in training undergraduates. At Iowa State University, the Department of Electrical and Computer Engineering developed a new senior-level design course on embedded systems design (CPRE 488) that bridges the content between the introductory course on microcontrollers (CPRE 211) and a graduate course on system-level design (CPRE 588). This paper presents the process of developing the integrated series of courses that spans early undergraduate to graduate levels, including the team approach used. The set of courses and the development process should be of interest to educators considering expanding or enhancing the curriculum in embedded systems.Index Terms -Embedded systems, Hardware-software codesign, Problem-based learning, System design methodology
-Traditionally, real-time systems are built for a very small set of mission-critical applications like space crafts, avionics and other distributed control systems. The various steps in building such systems include, characterizing the workload, designing scheduling algorithms and performing schedulability analysis. Conventional teaching methodologies for real-time systems have primarily focused on these topics and the choice is completely justified for the targeted traditional real-time systems. However with the evolution of small scale real-time embedded systems like cell phones, PDAs, sensor motes and other portable control systems primarily driven by a Real-Time Operating System (RTOS), the conventional teaching methods fall short in several ways. This is because, building such real-time embedded systems poses certain different design and implementation challenges branching out of the severe resource constraints that these devices should operate under.In order to keep pace with these changing trends, we have enhanced our real-time systems course in two different ways. First, we have included the relevant topics like compiler-level and operating systems-level energy aware real-time scheduling algorithms and further developed corresponding assignments and projects to reinforce student learning in these topics. We present some of these details here. Secondly, we have developed a series of laboratory experiments based on commercial RTOSs which give students a rich hands-on experience in building real-time embedded systems. We have tried two different RTOSs namely, RT-Linux and VxWorks in two consecutive years. In this paper, we present the similarities and differences between two the RTOS platforms and their impact on student learning.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.