--- title: 課程進度與開放資源 categories: embedded, arm, stm32, rtos, kernel, linux, ncku toc: no ... - Instructor: [Jim Huang](/User/jserv) (黃敬群) `` * [Facebook 粉絲專頁](https://www.facebook.com/JservFans) (不要擔心提了笨問題,這就是專門和學生互動的) - 討論區: [https://www.facebook.com/groups/ncku.embedded2015](https://www.facebook.com/groups/ncku.embedded2015) - 共筆: [https://embedded2015.hackpad.com](https://embedded2015.hackpad.com) - 課程信箱: `` - 參考硬體平台: [STM32](/embedded/STM32F429), STMicroelectronics 進階嵌入式系統設計與實作 (Fall 2015) ------------------------------------------------------ ![](/embedded/logo-2012-small.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 | Sep 18 | [2015q3 Overview](https://embedded2015.hackpad.com/ep/pad/static/QXYBh2n9wLD) | = [2015q3: Homework1] ; [2015q3: Ext1](/embedded/2015q3h1ext) = | |#2 |Sep 25 | [2015q3:基本能力鑑定測驗] | - | |#3 |Oct 2 | [ARM Architecture and Optimization Concepts](https://embedded2015.hackpad.com/ep/pad/static/vq55AYjcDYY) | = [2015q3: Homework2] ; [2015q3: Homework3] = | |#4 |Oct 9 | 國定假日 | - | |#5 |Oct 16 | [Compilers + Calling Convention](https://embedded2015.hackpad.com/ep/pad/static/83hsxgJZcZd) | = [2015q3: Homework4] = | |#6 |Oct 23 | [專題演說](https://embedded2015.hackpad.com/ep/pad/static/jIMTMzNA9k3) | = [2015q3: Homework5] = | |#7 |Oct 30 | [Code Review](https://embedded2015.hackpad.com/ep/pad/static/xDmCCv0k00K) | = [2015q3: Homework6] = | |#8 |Nov 6 | [C Programming + ARM](https://embedded2015.hackpad.com/ep/pad/static/7ZSsa98cSKw) | = [2015q3: Homework7] = | |#9 |Nov 13 | [From Hello to Preemptive Scheduler](https://embedded2015.hackpad.com/ep/pad/static/RjDVuOb23bM) | - | |#10 |Nov 20 | Peripherals | * | |#11 |Nov 27 |Peripherals: [GPIO](/embedded/GPIO) | * | |#12 |Dec 4 | Peripherals: [ADC](/embedded/ADC) | * | |#13 |Dec 11 |Peripherals: [SPI](/embedded/SPI) | * | |#14 |Dec 18 |Peripherals: [USB](/embedded/USB) | * | |#15 |Dec 25 | OS: [FreeRTOS](/embedded/freertos) | * | |#16 |Jan 1 | Happy New Year! | * | |#17 |Jan 8 | Software Quality | * | |#18 |Jun 15 | Security Issues | * | [2015q3:基本能力鑑定測驗]: 2015q3w2 [2015q3: Homework1]: 2015q3h1 [2015q3: Homework2]: 2015q3h2 [2015q3: Homework3]: 2015q3h3 [2015q3: Homework4]: 2015q3h4 [2015q3: Homework5]: 2015q3h5 [2015q3: Homework6]: 2015q3h6 [2015q3: Homework7]: 2015q3h7 嵌入式作業系統設計與實作 (Spring 2015) ------------------------------------------------------ ![](/embedded-os.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 | Feb 24 |[2015q1 Overview] | * | |#2 |Mar 3 | [2015q1:基本能力鑑定測驗] | [Lab 38]: ARM Cross-Development Environment | |#3 |Mar 10 | [ARM Architecture + OS Concepts] | [Lab 39]: FreeRTOS | |#4 |Mar 17 | [ARM Exceptions/Interrupts] | [Lab 40]: Scheduling | |#5 |Mar 24 | [Embedded Linux Conference 2015] | [Lab 41]: 基礎觀念訓練 | |#6 |Mar 31 | [ARM and RTOS: Part I] | 確認 [Lab 38], [Lab 39], [Lab 40], [Lab 41] 均充分完成 | |#7 |Apr 7 | [ARM and RTOS: Part II] | [Lab 42]: Mini ARM OS | |#8 |Apr 14 | [From Hello to Preemptive Scheduler] | [Lab 42]: Mini ARM OS | |#9 |Apr 21 | [Kernel Concepts and Threading] | [Lab 43]: Runtime Behavior | |#10 |Apr 28 | [2015q1:Group Presentation(1)] | * | |#11 |May 5 | [2015q1:Group Presentation(2)] | * | |#12 |May 12 | [2015q1:Group Presentation(3)] | * | |#13 |May 19 | [2015q1:Group Presentation(4)] | * | |#14 |May 26 | [2015q1:Group Presentation(5)] | * | |#15 |Jun 2 | [2015q1:Group Presentation(6)] | * | |#16 |Jun 9 | [2015q1:Group Presentation(7)] | * | |#17 |Jun 16 | [2015q1:Group Presentation(8)] | * | |#18 |Jun 23 | [2015q1:Group Presentation(9)] | * | [2015q1 Overview]: 2015q1w1 [2015q1:基本能力鑑定測驗]: 2015q1w2 [ARM Architecture + OS Concepts]: 2015q1w3 [ARM Exceptions/Interrupts]: 2015q1w4 [Embedded Linux Conference 2015]: http://events.linuxfoundation.org/events/embedded-linux-conference [ARM and RTOS: Part I]: 2015q1w6 [ARM and RTOS: Part II]: 2015q1w7 [From Hello to Preemptive Scheduler]: 2015q1w8 [Kernel Concepts and Threading]: 2015q1w9 [2015q1:Group Presentation(1)]: 2015q1w10 [2015q1:Group Presentation(2)]: 2015q1w11 [2015q1:Group Presentation(3)]: 2015q1w12 [2015q1:Group Presentation(4)]: 2015q1w13 [2015q1:Group Presentation(5)]: 2015q1w14 [2015q1:Group Presentation(6)]: 2015q1w15 [2015q1:Group Presentation(7)]: 2015q1w16 [2015q1:Group Presentation(8)]: 2015q1w17 [2015q1:Group Presentation(9)]: 2015q1w18 [Lab 38]: Lab38 [Lab 39]: Lab39 [Lab 40]: Lab40 [Lab 41]: Lab41 [Lab 42]: Lab42 [Lab 43]: Lab43 進階嵌入式系統開發與實作 (Fall 2014) ------------------------------------------------------ ![](/embedded/logo-2012-small.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 |Sep 18 | [2014q3 Overview] | [Lab 31](https://embedded2014.hackpad.com/2014q3-Week-1-mQLneatLPcT): ARM Environment | |#2 |Sep 25 | [ARM Architecture (cont)] | [Lab 32]: QEMU + FreeRTOS | |#3 |Oct 2 | [ARM Architecture (cont2)] | [Lab 33]: GDB + FreeRTOS | |#4 |Oct 9 | [ARM Architecture and Interface] | [Lab 34]: Buffer overflow | |#5 |Oct 16 | [Hardware Concepts Review] | [Lab 35]: STM32F429 | |#6 |Oct 23 | [Code Review for Lab 32-33] | [Lab 35]: STM32F429 | |#7 |Oct 30 | [Code Review + ELF] | [Lab 36]: ELF | |#8 |Nov 6 | [Interrupt/Exceptions + RTOS] | [Lab 37]: Memory allocation | |#9 |Nov 13 | [2014q3:Group Presentation (1)] | - | |#10 |Nov 20 | [2014q3:Group Presentation (2)] | - | |#11 |Nov 27 | [2014q3:Group Presentation (3)] | - | |#12 |Dec 4 | [2014q3:Group Presentation (4)] | - | |#13 |Dec 11 | [2014q3:Group Presentation (5)] | [侯捷 C++ 底層技術課程分享](https://www.facebook.com/events/481983738609693/) | |#14 |Dec 18 | [2014q3:Group Presentation (6)] | - | |#15 |Dec 25 | [2014q3:Group Presentation (7)] | - | |#16 |Jan 1 | Happy New Year! | - | |#17 |Jan 8 | [2014q3:Group Presentation (8)] | - | |#18 |Jan 15 | [2014q3:Group Presentation (9)] | - | |#18 |Jan 17 | 期末展示 | - | [2014q3 Overview]: 2014q3w1 [ARM Architecture (cont)]: 2014q3w2 [ARM Architecture (cont2)]: 2014q3w3 [ARM Architecture and Interface]: 2014q3w4 [Hardware Concepts Review]: 2014q3w5 [Code Review for Lab 32-33]: 2014q3w6 [Code Review + ELF]: 2014q3w7 [Interrupt/Exceptions + RTOS]: 2014q3w8 [2014q3:Group Presentation (1)]: 2014q3w9 [2014q3:Group Presentation (2)]: 2014q3w10 [2014q3:Group Presentation (3)]: 2014q3w11 [2014q3:Group Presentation (4)]: 2014q3w12 [2014q3:Group Presentation (5)]: 2014q3w13 [2014q3:Group Presentation (6)]: 2014q3w14 [2014q3:Group Presentation (7)]: 2014q3w15 [2014q3:Group Presentation (8)]: 2014q3w17 [2014q3:Group Presentation (9)]: 2014q3w18 [Lab 32]: Lab32 [Lab 33]: Lab33 [Lab 34]: Lab34 [Lab 35]: Lab35 [Lab 36]: Lab36 [Lab 37]: Lab37 嵌入式作業系統設計與實作 (Spring 2014) ------------------------------------------------------ ![](/embedded-os.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 |Feb 18 | [Overview: Embedded Systems and OS] | [Lab 25] | |#2 |Feb 25 | [ARM Architecture Evolution] | [Lab 26] | |#3 |Mar 4 | [Case: Quadcopter] | [Lab 27] | |#4 |Mar 11 | [Assignment Review] | [Lab 28] | |#5 |Mar 18 | [ARM Cortex-M + RTOS Concepts] | [Lab 29] | |#6 |Mar 25 | [ARM I/O, Interrupt, Exception] | [Lab 30] | |#7 |Apr 1 | 春假 | : | |#8 |Apr 8 | [Advanced OS Design issues] | : | |#9 |Apr 15 | [Group Presentation (a)] | : | |#10 |Apr 22 | [Group Presentation (b)] | : | |#11 |Apr 29 | [Group Presentation (c)] | : | |#12 |May 6 | [Group Presentation (d)] | : | |#13 |May 13 | [Group Presentation (d)] | : | |#14 |May 20 | [Group Presentation (f)] | : | |#15 |May 27 | [Group Presentation (g)] | : | |#16 |Jun 3 | [Group Presentation (h)] | : | |#17 |Jun 10 | Talk: 雲、端、架構 | : | |#18 |June 17 | Group Presentation | : | |#18 |Jun 21 | Embedded Technology Conference | : | [Overview: Embedded Systems and OS]: 2014-w1 [ARM Architecture Evolution]: 2014-w2 [Case: Quadcopter]: 2014-w3 [Assignment Review]: 2014-w4 [ARM Cortex-M + RTOS Concepts]: 2014-w5 [ARM I/O, Interrupt, Exception]: 2014-w6 [Advanced OS Design issues]: 2014-w8 [Group Presentation (a)]: 2014-w9 [Group Presentation (b)]: 2014-w10 [Group Presentation (c)]: 2014-w11 [Group Presentation (d)]: 2014-w12 [Group Presentation (f)]: 2014-w14 [Group Presentation (g)]: 2014-w15 [Group Presentation (h)]: 2014-w16 [Lab 25]: Lab25 [Lab 26]: Lab26 [Lab 27]: Lab27 [Lab 28]: Lab28 [Lab 29]: Lab29 [Lab 30]: Lab30 進階嵌入式系統開發與實作 (Fall 2013) ------------------------------------------------------ ![](/embedded/logo-2012-small.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 |Sep 17 | [Overview: Embedded in our world] | [Lab 19]: QEMU | |#2 |Sep 23 | [ARM Architecture and SoC] | [Lab 20]: GNU Toolchain | |#3 |Oct 1 | [Operating Systems for Embedded] | [Lab 20]: GNU Toolchain | |#4 |Oct 8 | [ARM: Instructions] | [Lab 21]: RTOS (1) | |#5 |Oct 15 | [ARM: Toolchain and Peripherals] | [Lab 22]: RTOS (2) | |#6 |Oct 22 | [ARM: Interrupts and Exceptions] | [Lab 23]: RTOS (3) | |#7 |Oct 29 | [Code Review] | - | |#8 |Nov 5 | [Code Review + Group Presentation(1)] | [Lab 24]: Hardware | |#9 |Nov 12 | [3D Printer + Group Presentation(2)] | - | |#10 |Nov 19 | [Group Presentation(3)] | - | |#11 |Nov 26 | [Speech + Group Presentation(4)] | - | |#12 |Dec 3 | [Group Presentation(5)] | - | |#13 |Dec 10 | [Group Presentation(6)] | - | |#14 |Dec 17 | [Group Presentation(7)] | - | |#15 |Dec 24 | [Group Presentation(8)] | - | |#16 |Dec 31 | [Group Presentation(9)] | - | |#17 |Jan 7 | [Group Presentation(10)] | - | |#18 |Jan 12 | 期末展示 | - | [Overview: Embedded in our world]: 2013-w1 [ARM Architecture and SoC]: 2013-w2 [Operating Systems for Embedded]: 2013-w3 [ARM: Instructions]: 2013-w4 [ARM: Toolchain and Peripherals]: 2013-w5 [ARM: Interrupts and Exceptions]: 2013-w6 [Code Review]: 2013-w7 [Code Review + Group Presentation(1)]: 2013-w8 [3D Printer + Group Presentation(2)]: 2013-w9 [Group Presentation(3)]: 2013-w10 [Speech + Group Presentation(4)]: 2013-w11 [Group Presentation(5)]: 2013-w7 [Group Presentation(6)]: 2013-w7 [Group Presentation(7)]: 2013-w7 [Group Presentation(8)]: 2013-w15 [Group Presentation(9)]: 2013-w7 [Group Presentation(10)]: 2013-w7 [Lab 19]: Lab19 [Lab 20]: Lab20 [Lab 21]: Lab21 [Lab 22]: Lab22 [Lab 23]: Lab23 [Lab 24]: Lab24 [Lab 25]: Lab25 [Lab 26]: Lab26 嵌入式作業系統設計與實作 (Spring 2013) ------------------------------------------------------ ![](/embedded/logo-2012-small.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 |Feb 19 | [課程介紹 + 期初考] |#2 |Feb 26 | [Embedded Operating System Concepts] | [Lab 8] : GNU Toolchain + RTOS ([Sol 8]) | |#3 |Mar 5 | [RTOS Characteristics] | [Lab 9] : Multitasking programming ([Sol 9]) | |#4 |Mar 12 | [從火星探測號談 scheduling] | [Lab 10] : Priority Inversion ([Sol 10]) | |#5 |Mar 19 | [ARM Architecture Intro] | [Lab 11]: Build RTOS for ARM ([Sol 11]) | |#6 |Mar 26 | [ARM Architecture Intro] + 月考 | [Lab 12]: RTOS Visualization ([Sol 12]) | |#7 |Apr 2 | 春假 | | |#8 |Apr 9 | [ARM and Assignment Review] | [Lab 13]: ARM Programming with GNU Toolchain ([Sol 11]) | |#9 |Apr 16 | [I/O, Interrupt, Exception (ARM)] | [Lab 14]: OS and BSP Porting ([Sol 14]) | |#10 |Apr 23 | [RTOS Evaluation] | [Lab 15]: Benchmarking concepts | |#11 |Apr 30 | [Case Study: Train control] + 月考 | [Lab 15]: Validation and benchmarking | |#12 |May 7 | [Tickless scheduling] | [Lab 16]: Hardware Enablement | |#13 |May 14 | [Embedded Kernel Design Review] | [Lab 17]: Tickless scheduling for ARM hardware | |#14 |May 21 | [Embedded Kernel Design Review-2] | [Lab 18]: OS Evaluation for ARM | |#15 |May 28 | [Automotive Linux Summit (Spring)] +月考| | |#16 |Jun 4 | Open Discussion | | |#17 |Jun 11 | The End | | [課程介紹 + 期初考]: 2013w1 [Embedded Operating System Concepts]: 2013w2 [RTOS Characteristics]: 2013w3 [從火星探測號談 scheduling]: 2013w4 [ARM Architecture Intro]: 2013w5 [ARM and Assignment Review]: 2013w8 [I/O, Interrupt, Exception (ARM)]: 2013w9 [RTOS Evaluation]: 2013w10 [Case Study: Train control]: 2013w11 [Tickless scheduling]: 2013w12 [Embedded Kernel Design Review]: 2013w13 [Embedded Kernel Design Review-2]: 2013w14 [Lab 8]: Lab8 [Sol 8]: Sol8 [Lab 9]: Lab9 [Sol 9]: Sol9 [Lab 10]: Lab10 [Sol 10]: Sol10 [Lab 11]: Lab11 [Sol 11]: Sol11 [Lab 12]: Lab12 [Sol 12]: Sol12 [Lab 13]: Lab13 [Lab 14]: Lab14 [Sol 14]: Sol14 [Lab 15]: Lab15 [Lab 16]: Lab16 [Lab 17]: Lab17 [Lab 18]: Lab18 [Automotive Linux Summit (Spring)]: http://events.linuxfoundation.org/events/automotive-linux-summit-spring [LinuxCon Japan]: http://events.linuxfoundation.org/events/linuxcon-japan 進階嵌入式系統開發與實作 (Fall 2012) ------------------------------------------------------ ![](/embedded/logo-2012-small.png) |Week |Date |Subject |Assignment| |:----|:----|:----|:----| |#1 |Sep 18 | [Overview: Embedded - Why and How] | [Lab 1]: QEMU | |#2 |Sep 25 | [ARM Architecture] (Basic) | [Lab 2]: GNU Toolchain + QEMU/ARM | |#3 |Oct 2 | [Realtime Operating System] (Basic) | [Lab 2]s: GNU Toolchain + QEMU/ARM | |#4 |Oct 9 | [Timer, Interrupt, Exception in ARM] | [Lab 3]: GNU Toolchain + RTOS | |#5 |Oct 16 | [RTOS Design and Implementation] | [Lab 4]: RTOS for MCU | |#6 |Oct 23 | [Code review of Lab assignments] | [Lab 5]: RTOS modifications | |#7 |Oct 30 | [Peripherals and hardware interface] | [Lab 6]: Hardware | |#8 |Nov 6 | [Embedded Linux Conference Europe] | 分組準備與討論 | |#9 |Nov 13 | [Group Presentation (1)] | 分組準備與討論 | |#10 |Nov 20 | [Group Presentation (2)] | [Lab 6]: Hardware + Unit Test | |#11 |Nov 27 | [Group Presentation (3)] | [Lab 6]: Hardware + On-Chip Debugger | |#12 |Dec 4 | [Group Presentation (4)] | [Lab 7]: On-Chip Debugger + semihosting | |#13 |Dec 11 | [Group Presentation (5)] | Hack! | |#14 |Dec 18 | [Group Presentation (6)] | Hack! | |#15 |Dec 25 | [Group Presentation (7)] | Hack! | |#16 |Jan 1 | Happy New Year - 2013 | N/A | |#17 |Jan 8 | Final project review (and vote) | N/A | |#18 |Jan 15 | Make Your Own System (and profit) | DONE | [Overview: Embedded - Why and How]: 2012w1 [ARM Architecture]: 2012w2 [Realtime Operating System]: 2012w3 [Timer, Interrupt, Exception in ARM]: 2012w4 [RTOS Design and Implementation]: 2012w5 [Code review of Lab assignments]: https://gitcafe.com/embedded2012/P-jserv [Peripherals and hardware interface]: 2012w7 [ARM Cortex-M series]: 2012w7 [Microkernel overview]: 2012w12 [Embedded Linux Conference Europe]: https://events.linuxfoundation.org/events/embedded-linux-conference-europe [Group Presentation (1)]: 2012w9 [Group Presentation (2)]: 2012w10 [Group Presentation (3)]: 2012w11 [Group Presentation (4)]: 2012w12 [Group Presentation (5)]: 2012w13 [Group Presentation (6)]: 2012w14 [Group Presentation (7)]: 2012w15 [Lab 1]: Lab1 [Lab 2]: Lab2 [Lab 3]: Lab3 [Lab 4]: Lab4 [Lab 5]: Lab5 [Lab 6]: Lab6 [Lab 7]: Lab7