--- title: Week #5 (Mar 18) :: ARM Cortex-M + RTOS Concepts toc: no ... 重大事項宣達 ------------- * 期中分組報告辦法 - 4 到 5 人一組 - 3 月 25 日上課結束前,向講師或助教登記 - 參考硬體為 [STM32F429 Discovery](http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090) 或 [Raspberry Pi](http://www.raspberrypi.org/) - 題目順序: [FreeRTOS](/embedded/freertos), [ChibiOS/RT](/embedded/chibios), [nuttx](/embedded/nuttx), [uClinux](/embedded/uclinux), [Xenomai](/embedded/xenomai), [rtenv-plus](/embedded/rtenv), [F9 microkernel](/embedded/f9-kernel) - 預先將報告題材更新於 wiki,報告時不透過任何簡報軟體進行,可參考去年的 [期中報告](/embedded/2013-w7) - 期中報告探討的對象皆為 open source operating system (含成大學生土製核心!),希望藉由期中報告建立一系列優質的中文文件 (繁體) - 每組需要涵蓋: 作業系統架構、硬體驅動原理 (特別在 [STM32F429 Discovery](http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090) 或 [Raspberry Pi](http://www.raspberrypi.org/))、效能表現 (context switch, interrupt latency, IPC throughput, realtime capability) * 期末專題:發表於 ETC (Embedded Technology Conference) - 「人在作,Google 在看」,我們會邀請同學未來可能的雇主、同事們來評分 * 去年的 [期末專題](/embedded/team2013) 水準 * 所有過程都公開 * 暫定 2014 年 6 月 14 日 - 形式 (1): 在嵌入式硬體 (部份修改) 上,針對設定的目標 (如透過機器手臂,快速解魔術方塊),開發出作業系統 * 可用現成的 open source kernel (建議為期中報告探討者) * 需要提及實際解決的問題,特別是與作業系統相關議題,如 semaphore, mutex, deadlock * 允許的硬體架構: ARM Cortex-M4F, ARM Cortex-A8/A9, ARM11 - 形式 (2): 不修改硬體,但整合、修改,與分析既有 open source 作業系統,試圖引入新的應用,如虛擬化技術 * 硬體架構同上,但可加上 Android 智慧型手機 (root!) 與 [ARM Cortex-A15 fast model](https://developer.arm.com/products/system-design/fast-models) - Hackpad: [想法和提案](https://embedded2014.hackpad.com/Final-Project-Ideas-fqgGqKUrmpQ) 教材 ----- * [Create your Own Robot](http://www.slideshare.net/ssuserb667a8/create-robot-kv) * [ARM Cortex-M3 Introduction](http://www.arm.com/files/pdf/CortexM3_Uni_Intro.pdf) * [The Architecture of Open Source Applications: FreeRTOS](http://www.aosabook.org/en/freertos.html) - [簡體中文翻譯](http://www.ituring.com.cn/article/4063) * [Study of an operating system: FreeRTOS](/embedded/FreeRTOS_Melot.pdf) * [FreeRTOS 即時核心實用指南](/embedded/FreeRTOS-manual-zh.pdf) 作業觀摩 --------- * Wen Liao - rtenv [GitHub](https://github.com/zzz0072/rtenv-1) - rtenv [Documentation](https://github.com/zzz0072/rtenv-1/tree/master/documentation)