\setcounter{numTAs}{0} \setcounter{totalSections}{1} \def\secNum{{"All",""}} \def\tenSchFileName{{"",""}} \def\classTime{{"Thursday 3:00 pm - 5:30 pm",""}} \def\classRm{{"in CEER 212 (001) or ZOOM (DL): 95561361606",""}} \def\classLive{{"",""}} \def\classInstructor{{"Xiaofang Maggie Wang",""}} \def\classInstrContact{{"Blackboard: https://elearning.villanova.edu",""}} \def\classInstrOffHrs{{"Wednesday 3:30 - 4:30 PM on ZOOM 6105193830",""}} \def\classInstrLive{{"",""}} \def\TA{{{""},{""}}} \def\TAEmail{{{""},{""}}} \def\TAOffHrs{{{""},{""}}} \def\TARoom{{{""},{""}}} \newcommand\semester{Spring 2022} \newcommand\rsemester{202230} \newcommand\courseNum{ECE 8448} \newcommand\courseName{Embedded Systems Architecture} \newcommand\courseCoordinator{Xiaofang Maggie Wang} \newcommand\credits{3} \newcommand\contactHrs{3} \newcommand\lecture{1} \newcommand\lab{0} \newcommand\undergradCourse{0} \newcommand\isFreshmanCourse{0} \newcommand\isCustomElecPolicy{0} \newcommand\isClassLive{0} \newcommand\isLabLive{0} \newcommand\meetingMiscExists{0} \newcommand\isClassInstrLive{0} \newcommand\isLabInstrLive{0} \newcommand\instrMiscExists{0} \newcommand\hasTARoom{0} \newcommand\meetingDesc{} \newcommand\meetingMisc{Special notes on meeting info go here, if specified} \newcommand\instructorMisc{Special notes on instructor(s), TA(s) go here, if specified} \newcommand\textBookExists{0} \newcommand\textBookReqd{0} \newcommand\textBookMiscExists{0} \newcommand\referencesExist{1} \newcommand\txtBkAuthExists{0} \newcommand\txtBkPublExists{0} \newcommand\txtBkYrExists{0} \newcommand\txtBkISBNExists{0} \newcommand\textBookTitle{} \newcommand\textBookAuth{} \newcommand\textBookPub{} \newcommand\textBookYr{} \newcommand\textBookISBN{} \newcommand\supplMaterials{} \newcommand\refPapers{1. An Embedded Software Primer, by David Simon, Addison-Wesley Professional.\\ 2. ARM System Developer's Guide: Designing and Optimizing System Software, by Andrew Sloss et al., Morgan Kaufmann, 2004.\\ 3. Intel Cyclone V ARM SoC and DE10-Standard development kit technical documents.\\ 4. More references are available through the course References folder.\\} \newcommand\textBookMisc{Special notes on textbook(s) go here, if specified} \newcommand\catalogDesc{An introductory course on software and architecture aspects of embedded systems. Topics include: embedded processor architecture, software architecture and development, communicating with and controlling I/O devices, firmware and embedded operating systems, buses and embedded networks, memory technology and design, and low power design. Hands-on assignments using an ARM SoC development kit will be used to experiment the theory and to build engineering skills. \textbf{Required background:} Fundamentals of Computer Engineering, computer architecture, processor assembly and C programming.} \newcommand\preReqs{None} \newcommand\coReqs{None} \newcommand\coreRequirement{} \newcommand\courseExpectation{After finishing the course, students will \newline • Understand the special requirements that are imposed on embedded systems \\ • Understand the key instruction set architecture (ISA) features of embedded processors, particularly ARM processors \\ • Understand how architectural and implementation decisions influence performance and power consumption \\ • Have the knowledge of special features of programming embedded processors \\ • Write more efficient code for embedded systems\\ • Understand how microprocessors, memory, peripheral components and buses interact in an embedded system \\ • Understand the role of the compiler in the embedded system design process \\ • Understand the properties of real-time operating systems, including real-time scheduling policies\\ • Have improved engineering system design and implementation techniques \\ • Have hands-on experience with industrial standard development software and hardware. \\ • Understand key state-of-art issues for embedded systems\\ } \newcommand\ABETOutOne{0} \newcommand\ABETOutTwo{0} \newcommand\ABETOutThree{0} \newcommand\ABETOutFour{0} \newcommand\ABETOutFive{0} \newcommand\ABETOutSix{0} \newcommand\ABETOutSeven{0} \newcommand\covTopics{\item Please refer to below the tentative schedule of topics.} \newcommand\isScheduleExternal{0} \newcommand\isScheduleCommon{1} \newcommand\scheduleRows{18} \newcommand\scheduleCols{3} \newcommand\scheduleHeight{1} \newcommand\schedule{\begin{table}[h!] \centering \caption*{Tentative Schedule for \textbf{All Sections}} \vspace{0.05in} {\renewcommand{\arraystretch}{1.5} \small \begin{tabularx}{\linewidth}{c|c|X} \toprule \large \textbf{Week} & \large \textbf{Date} & \large \textbf{Topics}\\ \midrule \midrule 1 & 01/13 & Course overview; Introduction to embedded systems\\ 2 & 01/20 & Embedded processor architecture: ARM; TutorialA: Using ARM processor on DE10 with Intel Monitor Program\\ 3 & 01/27 & Hardware platforms of embedded systems; TutorialC: My first HPS-FPGA\\ 4 & 02/03 & Software architectures for embedded systems\\ 5 & 02/10 & Communicating with \& controlling I/O devices\\ 6 & 02/17 & More about embedded software\\ 7 & 02/24 & Connectivity: embedded networks\\ \textcolor{teal}{8} & \textcolor{teal}{03/03} & \vspace{-5mm}\textcolor{teal}{Spring break, no class}\\ 9 & 03/10 & Lab time: Tutorial B: Using Linux and EDS on DE10\\ 10 & 03/17 & RTOS1: Firmware \& OS for embedded systems\\ 11 & 03/24 & RTOS2: Real-time scheduling policies\\ 12 & 03/31 & RTOS3: Semaphores and ISRs; Tutorial: IRQ with Linux on the DE10 Board\\ \textcolor{teal}{13} & \textcolor{teal}{04/07} & \vspace{-5mm}\textcolor{teal}{Easter Recess; no class}\\ 14 & 04/14 & Memory technology; Processor power management; TutorialD: Using HPS+FPGA+Linux\\ 15 & 04/21 & \textbf{Project presentations}\\ 16 & 04/28 & \textbf{Exam}\\ 17 & 05/05 & \textbf{Project files and report due}\\ \bottomrule \end{tabularx} } \end{table}} \newcommand\gradingPolicy{\begin{itemize} \item Homework/Lab Assignments -- 60\% \item Exam -- 20\% \item Project -- 20\% Detailed description and requirements will be posted in the Assignments folder \end{itemize} \\ Letter grade scale: A(94--100), A--(90--93), B+(87--89), B(83--86), B--(78--82), C+(74--77),\\ C(70--73), F(<70)} \newcommand\HWandLabPolicy{Homework assignments will be posted in the Bb Assignments folder. Late submissions will be accepted with a 10\% loss of the points per late day, unless approved by the instructor in advance. If you are unable to take the exam on the scheduled date, you must contact the instructor before the exam. Learning how to look for appropriate technical documentation, read and understand them efficiently in a focused manner is one of the essential engineering skills, and one of the objectives of the course. You are expected to develop troubleshooting and debug skills through vendor’s technical documentation and discussion forums when you have questions and problems with the assignments and project. In addition to the lectures, important references will be posted in the BB folder as needed.} \newcommand\AttendancePolicy{\textcolor{blue}{You are expected and assumed to attend class meetings in person if you are enrolled in Section 001, or participate through ZOOM or watch videos if you are in the DL section. You are responsible for all the material covered in class including handouts and class notes. All the people in the classroom are required to wear a mask all the time.} In-class students should inform the instructor if they plan to be late or absent from class. In all cases, students should be prepared to provide documentation to petition for excused absences to the appropriate Associate Dean. The form for requesting an excused absence can be found here (http://www1.villanova.edu/villanova/engineering/resources/policies/forms/studentAbsence.html). Absence from class does not release the student from work assigned. Students who miss an in-class obligation (exam, presentation, etc.) due to an excused absence will not be penalized - the instructor may offer a make-up test, arrange an alternative time for a presentation, exempt a student from the assignment, or provide another arrangement.} \newcommand\ElectronicsPolicy{\textcolor{red}{Since you opted for a customize electronics policy, you should edit this part. Your policy should address your general stance on recording of class sessions and the circumstances under which recording will be allowed or prohibited. If you generally prohibit recording, yet allow recording of certain classes for some reason, then ypu should notify all students that those classes will be recorded. If recording is permitted as an ADA accommodation for a student, you obviously should not identify that student(s).)}}