1. Course ID: 215042
  2. Time: Friday 08:10-11:00
  3. Classroom: TC-301
  4. Course Name: Embedded System Design (嵌入式系統設計)
  5. Overview: The term Real-Time Operating System (RTOS) is used when referring to an operating system designed for use in embedded microprocessors or controllers. The "Real Time" part refers to the ability to implement applications that can rapidly respond to external events in a deterministic and predictable manner. RTOS-based applications have to meet strict deadline constraints while meeting the requirements of the application. One way of ensuring that urgent operations are handled reliably is to set task priorities on each task and to assign higher priorities to those tasks that need to respond in a more timely manner. This course covers the foundations of programming embedded systems applications using Zephyr's Kernel services. After introducing the Zephyr architecture as well as the Zephyr build and configuration processes, the course will focus on multi-tasking and inter-process communication using the Zephyr Kernel Services API.
  6. Prerequisite: Each student must be acquainted with C language programming, and own a Nordic nRF52840 Development Kit.
  7. Target Students: g
  8. Upper-limit: 4 students
  9. Instructor: Dr. Quincy Wu
  10. Teaching Approach: Lectures & Hands-On Exercises
  11. TA:
  12. Credit: 3
  13. 彈性教學 (Flexible Teaching): 以本學期課程為範圍,以二至三人為一組,參考網路資源,討論並完成期末專題(六小時) 。程式及簡報繳交期限在五月底前。
  14. Grading Criteria:
  15. Textbook:
  16. References:
  17. Agenda
    1. Week 1 - An Introduction
    2. Week 2 - A Review of RTOS Fundamentals
    3. Week 3 - Zephyr RTOS Application Development Environments and Zephyr Application Building Principles
    4. Week 4 - Zephyr RTOS Multithreading
    5. Week 5 - Message Queues, Pipes, Mailboxes, and Workqueues
    6. Week 6 - Using Filesystems in Zephyr Applications
    7. Week 7 - Midterm Exam
    8. Week 8 - Term Project Discussion
    9. Week 9 - Developing Zephyr BLE Applications
    10. Week 10 - Zephyr RTOS and Ethernet, Wi-Fi, and TCP/IP
    11. Week 11 - Understanding and Working with the Device Tree in General and SPI and I2C in Particular
    12. Week 12 - Building Zephyr RTOS Applications Using Renode
    13. Week 13 - Uderstanding and Using the Zephyr ZBus in Application Development
    14. Week 14 - Zephyr RTOS Wi-Fi Applications
    15. Week 15 - Final Exam
    16. Week 16 - Term Project Demonstration
  18. Educational Goals:
    1. 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
    2. 配合國家科技發展,培養具備前瞻資訊科技研發潛能的人才
    3. 配合全球永續發展潮流,培養具備國際視野、工程倫理、人文關懷及社會責任的科技人才
  19. Core Capabilities:
    1. 具備資訊科學基礎數理知識並應用於發掘、分析與解釋數據的能力
    2. 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
    3. 具備使用英文閱讀資訊領域技術文件及學術論文的能力
    4. 具備團隊合作及獨立執行資訊工程領域學術研究的能力
    5. 理解資訊工程專業倫理、敬業態度、環境保護及社會責任
  20. TA協助事項
    1. Homework Evaluation: Assess and provide constructive feedback on student homework assignments. Ensure timely and accurate grading, offering guidance to help students understand and learn from their mistakes.
    2. Presentation Rehearsals: Assist students in preparing and rehearsing their presentations. Provide tips on public speaking, structure, and content delivery to enhance their confidence and performance.
    3. Hands-On Assistance: Offer in-class support during practical sessions, guiding students through exercises and projects. Address individual queries and provide personalized assistance to ensure comprehension and skill development.

Related Links

  1. nRF54L15-DK (US$39, NT$1334, NT$1490.65)
  2. Nordic nRF52840
  3. nRF52840 DK - Development kit for nRF52811 and nRF52840 SoCs ($46.37)
  4. nRF Connect SDK - Main software development kit for the nRF 52840 SoC and other nRF52 Series SoCs
  5. [Course] Firmware Development - nRF Connect SDK Fundamentals
  6. Zephyr RTOS
  7. Nordic Webinars
  8. DevZone - Tech Support Center & Online Community
  9. DevAcademy - Online Learning Platform
  10. [YouTube] Future-proofing IoT development with nRF Connect SDK (1:10:01)
  11. Zephyr RTOS