本課程將帶領學員從零開始探索Raspberry Pi與ARM 架構的底層世界,在不依賴既有作業系統之下,直接進行Bare-metal開發。課程將從基礎的ARM架構原理、樹莓派硬體啟動流程,逐步使用C與組合語言撰寫驅動程式與系統核心,最後能實作屬於自己的「迷你作業系統」。透過這門課,學員能夠清楚處理器如何與硬體互動、如何進行資料輸入與輸出控制,進而掌握嵌入式系統開發的核心技能,助益學員真正打通硬體與軟體之間的任督二脈!!
主要目標是希冀培養學員ARM架構與嵌入式系統的實作能力,從開發環境建置到程式設計,逐步深入CPU模式、暫存器運作、輸入輸出控制、UART通訊、計時器應用與中斷處理,最終能完成實作任務切換與多工運作。
課程單元
課程大綱
課程時數
(一)環境建置
1.課程目標與學習架構說明
2.開發環境介紹與建置
-交叉編譯工具鏈(ARM GCC)
-Makefile & 專案目錄結構
3.樹莓派硬體資源檢介紹
4. QEMU模擬器與真機測試
1H
(二)ARM架構與組合語言基礎
1.ARM暫存器介紹
2.資料處理指令
3.記憶體存取指令
4.程式流程控制
(三)基礎硬體設定與Bootloader
1.簡單boot.S程式(含CPU模式設定)
2.ARM CPU模式與暫存器簡介(User, FIQ, IRQ, SVC, System, Abort, Undefined)
3.初始化堆疊SP(SVC模式)
2H
(四)GPIO與硬體控制
1.樹莓派週邊設備暫存器介紹
2.GPIO控制介紹(設定方向與輸出)
3.Button Polling 實作(讀取按鍵狀態)
(五)UART串列通訊實作
1.UART 初始化
2.UART輸入輸出函式設計與實作
(六) 計時器與時間管理
1.System Timer 硬體介紹
2.jiffies 計數器實作
3.delay 函式設計
(七)中斷與事件處理
1.中斷向量表設置
2.Timer中斷初始化與觸發
3.中斷處理與UART輸出
(八) 任務切換與多工基礎
1.儲存與還原暫存器內容
2.使用jiffies作為時間片觸發任務切換
3. Round-Robin多工系統示範與實作
楊講師
技術專長:C#、ASP.NET、JavaScript、jQuery、Java、Windows CE、Linux
微軟認證:MCT、MCSE、MCSD、MCPD、MCITP
上課時間:114/11/20(四)、11/27(四),09:00-16:00,共12小時。上課地點:工研院中興院區21館/新竹縣竹東鎮中興路四段195號(實際教室以上課通知為主)報名方式:◎線上報名:請學員前往工研院「產業學習網」報名課程◎信箱報名:將報名資訊填完並寄至VHsieh@itri.org.tw 謝小姐◎課程諮詢:有任何課程或報名上的問題,請洽服務專線03-5913417 謝小姐
為確保上課權益,報名後或開課前未收到任何通知信件,請學員務必來電詢問是否完成報名。我們會在開課前幾天發送上課通知,敬請學員留意信件。
因教材、講義製作及餐點等皆需提前準備,若您不克前來,請於開課前三日告知,以利行政作業進行並愛護資源。
若原報名者因故不克參加,但欲更換他人參加,敬請於開課前二日通知。
學員於開訓前退訓者,用將依其申請退還所繳上課費90%;若上課當天臨時取消則不退費。在培訓期間因個人因素無法繼續參與課程,若上課未逾總時數1/3,將退還所繳交上課費用之50%,上課已逾總時數1/3,則不予退費。
為保障講師智慧財產權,學員上課期間不得進行錄音、錄影及拍照。
如遇天災或不可抗力特殊原因導致無法開課時,主辦單位有權決定取消、 終止、修改或延後。
9/30上午場 (免費報名)人工智慧模型加速技術:GPU進階篇
9/30下午場 (免費報名)活用AMD Ryzen AI PC:CNN + LLM 應用攻略
10/13、10/20 運用大型語言模型打造RAG智能代理(新竹班)
10/18 打造AI工作流-n8n自動化應用與實務(假日班)
11/3、11/4 企業數據驅動決策力-Tableau與AI的高效應用
11/6 NVIDIA Jetson Nano AI入門與應用:深度學習與影像分析實作(台北班)
12/3 NVIDIA Jetson Nano AI入門與應用:深度學習與影像分析實作(新竹班)