[爆卦]嵌入式作業系統交大是什麼?優點缺點精華區懶人包

為什麼這篇嵌入式作業系統交大鄉民發文收入到精華區:因為在嵌入式作業系統交大這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者neoneon (紅茶を飲む程度の能力)看板NCTU-Teacher標題Fw: [心得] 曹孝櫟...

嵌入式作業系統交大 在 工具王 阿璋 Instagram 的最佳貼文

2021-04-04 21:34:22

【#工程師之路】該讀研究所嗎?一定要思考5個面向!  欸對,出國交換之後,你可能也會考慮「到底該不該讀研究所」? 學士文憑普及的年代,碩士學歷已經慢慢成必要的條件了,花上兩年時間讀研究所、繼續停留在學生時期👨‍🎓 當其他同學都已經步入社會,你還在校園生活面對論文,真的值得嗎❓  ✔️我覺得...


※ [本文轉錄自 neoneon 信箱]

作者: [email protected] ("愛宕有機奈米負離子貓")
標題: [心得] 曹孝櫟 - 嵌入式系統設計概論與實作
時間: Sun Jul 10 11:11:33 2016

作者: shaform (回不去的旅程) 看板: NCTU-Teacher
標題: [心得] 曹孝櫟 - 嵌入式系統設計概論與實作
時間: 2012/07/03 Tue 22:36:48


網誌好讀版: http://wp.me/pJ4X-hB


-----------------------------------------------

⊕課名⊕

嵌入式系統設計概論與實作


▲教授▲

曹孝櫟


★修課年度★(請加註開課單位 如:大三通識、XX系選修、XX所)

100下 資工系 大三選修


£教了什麼£(課程大概內容。或是額外學會了什麼東西。)

上課時針對嵌入式系統各方面探討,
包含 bootloader 原理,OS,硬體,開發,業界情況
一些嵌入式作業系統、開發工具

實驗用的板子是是 ARM 平台,並常使用 linux 系統
所以也會提到這部份的課題

在 OCW 網站上有影音可看:
http://ocw.nctu.edu.tw/riki_detail.php?pgid=246&cgid=12


實驗部份主要是利用 PCM7230 板子做實驗,
包含燒錄開機程式和作業系統等等。

##
PCM7230:
http://www.kingpronet.com.tw/product/show.php?id=136
##

最後的實驗和專題則是在 Openmoko 手機平台上進行。
不過老師說每年不一定一樣。

老師上課時有提到一本教科書
Real-Time Concepts for Embedded Systems

內容主要是嵌入式系統實做的一些概念。

如果要跟實驗比較相關的話,推薦
Building Embedded Linux Systems ISBN: 0-596-52968-6
尤其對實驗1非常有幫助。


◆上課方式◆(投影片、團體討論、老師教學風格)

上課主要是使用投影片上課。
老師非常能言善道,有時一張投影片就可以講一節課。
說話速度很快,內容也很有趣,有時會有一些經驗談。

雖然因為不點名,而且上課內容跟實驗內容也沒有絕對關係,
加上又不考試,所以後期學生較少。

然而其實是很值得一聽的。

實驗的方面是以兩人為一組,每組會發一份板子等實驗用具。
要自己找時間去做,然後在星期三晚上去 demo。

由於一開始的實驗需要用到 RS232 和 parallel port,
但是最近的電腦很少支援。

所以也有額外開放時間讓同學到實驗教室使用電腦。


▼考試作業▼

沒有期中期末考和小考

所有評分就由 8 次 lab 和最後的期末 project 決定

Labs 80%
Final Project 20%

每次實驗都需繳交報告,有時也得繳交原始碼。

期末專題的部份,需繳交 proposal, slides, report
最後以簡報方式介紹自己的專題,並實際 demo。


有時候lab會有額外的 bonus 可以做
不過最後lab評分似乎是看大家做的情形來決定分數
所以如果大部分的人都有做 bonus 的話,就得做完所有 bonus 才能得到滿分

本次課程中僅有lab3的bonus可以讓分數超過該次實驗的滿分

一開始的實驗因為剛在熟悉環境所以每兩個星期交一次,
後來的實驗就是每星期一次了。


Lab 主題如下:

Lab 1 - Environment Setup/System Installation/Hello World

在 PC 上建立 PCM7230 平台的 toolchain
包含 gcc cross compiler, 編譯 glibc

以及燒錄開機程式, linux kernel ,檔案系統等等
並執行 hello world 程式。

Bonus:
1.撰寫 echo 程式透過 RS232 和 host 溝通
2.設定開機時自動執行程式

Lab 2 - Bootloader

重新編譯 Intrinsyc i-boot-lite bootloader,
加上自訂訊息,以及新增多重開機功能。
實際燒錄至板子上。

Bonus: 研究 bootloader 的組語程式碼,並加上註解說明程式流程

Lab 3 - Non-OS Embedded Application

移除 iboot bootloader 不必要功能,縮減大小。
新增檔案加密功能,可以加密放置在 CompactFlash Card 上的。

Bonus:
1.在 CF Card 插入時自動加密其上特定或所有檔案。
2.將 UBoot bootloader 移植到 PCM7230 平台上
3.修改 UBoot,使其可以有監聽網路封包的功能

Lab 4 - Windows CE

透過 Windows CE .NET Platform Builder 4.2
編譯並安裝 Windows CE 至板子上

透過 eMbedded Visual C++ 4.0
撰寫 hello world 程式至板子上

Bonus:
1.縮減WinCE作業系統大小
2.開機時自動執行hello world


Lab 5 - Linux Kernel and Root Filesystem

重新編譯 Linux 核心,並修改檔案系統,安裝 bash
設定開機時自動執行程式
Bonus: 透過各種方法縮減核心大小

Lab 6 - Interrupt Tracing and Simple Device Driver Programming

在linux核心中插入訊息,觀察中斷發生流程。
編譯範例驅動程式,觀察滑鼠移動時的印出訊息。

Lab 7 - Network Packet Tracing

修改linux核心以及/proc檔案系統,實做簡易網路封包監聽功能

Lab 8 - Burning U-boot/Kernel/Root Filesystem for Openmoko

利用 Openmoko 官方提供的工具燒錄 bootloader
/ kernel / root filesystem
至 Neo FreeRunner 手機上

然後執行範例程式,觀察重力加速器的數值。

Final Project -
利用Openmoko手機平台,配合至少一種感應器,實做創意專題。
也提供材料費可以購買外裝感應器。


¥其他¥(是否注重出席率or嚴禁遲到?需要的基礎?)

自己覺得整個課程最難的地方其實是第一個實驗,

要安裝 linux 作業系統(也可安裝在 Virtual machine 上)

而且因為要建立的 toolchain 平台是非常古老的版本,
所以常會有奇妙的相容性必須解決,
或者得使用非常古老的 linux 作業系統。

途中常常要自己 Google 才能找到答案。

##
由於 RS232 的接頭實在太難找,但一開始沒有開放電腦教室,
我們還曾去順發購買線材,從主機板上剛好有的 RS232 接頭接出來 。

(如果主機板完全沒有RS232的話,
想買RS232卡會非常貴,不切實際 XD)
##

後期的實驗大致上只要照著實驗講義做就不會有問題,

如果有問題,通常是硬體有問體。

(確實也曾遇到不少次硬體問題)

不過在做 WinCE 實驗時,
會有一些軟體似乎要在 Windows XP 上才能跑。
(或者也可能是 32-bit / 64-bit等問題)

所以感覺修這堂課也重灌了很多次作業系統 (笑)


¢最後想說的話¢

整體來說嵌入式其實不像之前版上說得那麼辛苦,
至少跟這學期的編譯器和人工智慧比起來似乎輕鬆不少(?)

這學期也要感謝組員的幫忙所以才那麼順利 \0.0/


&誰適合修這門課&

都可以喔^^

--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: shaform
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: linux1.cs.nctu.edu.tw
☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB
gxlkhhc:推導師 07/03 22:46
yukuro:感覺裝virtual box很重要,不然重灌作業系統就糟了? 07/03 22:50
super9817020:推推~~ virtual machine建功~~ 07/03 23:32
CMturtle:推薦這篇文章 07/04 07:46
keke0421:感謝分享:) 07/04 22:26
tzrae:謝謝分享 07/04 22:27
jk4837:推薦這篇文章 07/10 00:08
作者從 linux1.cs.nctu.edu.tw 修改文章於 2013/01/03 Thu 10:32:16
jpopaholic:這門課人品考驗很高,當時把整個組件都換過一遍才成功 01/09 04:58


※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: neoneon (106.105.175.48), 07/12/2016 02:32:55

你可能也想看看

搜尋相關網站