分享到plurk 分享到twitter 分享到facebook

版本 2a005e4d805b211315beefc5b43551028a7bf60c

embedded/schedule

Changes from 2a005e4d805b211315beefc5b43551028a7bf60c to 41c59787a2a7d6f9c6c4fe637e9efe23f605448a

---
title: 課程進度與開放資源
categories: embedded, arm, stm32, rtos, kernel, linux, ncku
toc: no
...

- Instructor: `Jim Huang</User/jserv>`_ (黃敬群) <jserv.tw@gmail.com>
- 討論區: https://www.facebook.com/groups/ncku.embedded2015
- 共筆: https://embedded2015.hackpad.com
- 參考硬體平台: `STM32</embedded/STM32F429>`_, 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   `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   .
#17   Jun 16  `2015q1:Group Presentation(8)`_                *
#18   Jun 23   .
====  ====     =======                                 ==========

.. _`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
.. _`Lab 38`: Lab38
.. _`Lab 39`: Lab39
.. _`Lab 40`: Lab40
.. _`Lab 41`: Lab41
.. _`Lab 42`: Lab42
.. _`Lab 43`: Lab43

進階嵌入式系統開發與實作 (Fall 2014)
------------------------------------------------------
.. image:: /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)
------------------------------------------------------
.. 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