--- title: 課程進度與開放資源 categories: embedded, arm, stm32, rtos, kernel, linux, ncku toc: no ... - Instructor: `Jim Huang`_ (黃敬群) - 討論區: https://www.facebook.com/groups/ncku.embedded2015 - 共筆: https://embedded2015.hackpad.com - 參考硬體平台: `STM32`_, STMicroelectronics 嵌入式作業系統設計與實作 (Spring 2015) ------------------------------------------------------ .. image:: /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 . #9 Apr 21 . #10 Apr 28 . #11 May 5 . #12 May 12 . #13 May 19 . #14 May 26 . #15 Jun 2 . #16 Jun 9 . #17 Jun 16 . #18 Jun 23 . #19 Jun 30 . ==== ==== ======= ========== .. _`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 .. _`Lab 38`: Lab38 .. _`Lab 39`: Lab39 .. _`Lab 40`: Lab40 .. _`Lab 41`: Lab41 .. _`Lab 42`: Lab42 進階嵌入式系統開發與實作 (Fall 2014) ------------------------------------------------------ .. image:: /embedded/logo-2012-small.png ==== ==== ======= ========== Week Date Subject Assignment ==== ==== ======= ========== #1 Sep 18 `2014q3 Overview`_ `Lab 31`_: 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++ 底層技術課程分享`_ #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) ------------------------------------------------------ .. image:: /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) ------------------------------------------------------ .. image:: /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) ------------------------------------------------------ .. image:: /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) ------------------------------------------------------ .. image:: /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`_s: Hardware + Unit Test #11 Nov 27 `Group Presentation (3)`_ `Lab 6`_s: 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