- Course ID: 215042
- Time: Friday 08:10-11:00
- Classroom: TC-301
- Course Name: Embedded System Design (嵌入式系統設計)
- 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.
- Prerequisite: Each student must be acquainted with
C language programming, and own a
Nordic
nRF52840 Development Kit.
- Target Students: g
- Upper-limit: 4 students
- Instructor: Dr. Quincy Wu
- Teaching Approach: Lectures & Hands-On Exercises
- TA:
- Credit: 3
- 彈性教學 (Flexible Teaching):
以本學期課程為範圍,以二至三人為一組,參考網路資源,討論並完成期末專題(六小時)
。程式及簡報繳交期限在五月底前。
- Grading Criteria:
- Oral Presentation (40%)
- Midterm/Final Exams (20%)
- Term Project (40%)
- Textbook:
- References:
- Brian Amos, Jim Yuill, Penn Linder,
"Hands-On RTOS with Micro-controllers", 2nd Edition, Packt Publishing,
February 2024. (454 pages; ISBN:978-1803237725)
- Agenda
- Week 1 -
An Introduction
- Week 2 -
A Review of RTOS Fundamentals
- Week 3 -
Zephyr RTOS Application Development Environments and Zephyr
Application Building Principles
- Week 4 -
Zephyr RTOS Multithreading
- Week 5 -
Message Queues, Pipes, Mailboxes, and Workqueues
- Week 6 -
Using Filesystems in Zephyr Applications
- Week 7 -
Midterm Exam
- Week 8 -
Term Project Discussion
- Week 9 -
Developing Zephyr BLE Applications
- Week 10 -
Zephyr RTOS and Ethernet, Wi-Fi, and TCP/IP
- Week 11 -
Understanding and Working with the Device Tree in General and SPI
and I2C in Particular
- Week 12 -
Building Zephyr RTOS Applications Using Renode
- Week 13 -
Uderstanding and Using the Zephyr ZBus in Application Development
- Week 14 -
Zephyr RTOS Wi-Fi Applications
- Week 15 -
Final Exam
- Week 16 -
Term Project Demonstration
- Educational Goals:
- 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
- 配合國家科技發展,培養具備前瞻資訊科技研發潛能的人才
-
配合全球永續發展潮流,培養具備國際視野、工程倫理、人文關懷及社會責任的科技人才
- Core Capabilities:
- 具備資訊科學基礎數理知識並應用於發掘、分析與解釋數據的能力
- 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
- 具備使用英文閱讀資訊領域技術文件及學術論文的能力
- 具備團隊合作及獨立執行資訊工程領域學術研究的能力
- 理解資訊工程專業倫理、敬業態度、環境保護及社會責任
- TA協助事項
- 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.
- 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.
- 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
- nRF54L15-DK
(US$39,
NT$1334,
NT$1490.65)
- Nordic nRF52840
- nRF52840 DK - Development kit for nRF52811 and
nRF52840 SoCs
($46.37)
- nRF
Connect SDK - Main software development kit for the nRF
52840 SoC and other nRF52 Series SoCs
- [Course] Firmware
Development - nRF Connect SDK Fundamentals
- Zephyr RTOS
- Nordic Webinars
- DevZone - Tech Support
Center & Online Community
- DevAcademy - Online
Learning Platform
- [YouTube] Future-proofing IoT
development with nRF Connect SDK (1:10:01)
- Zephyr RTOS