單元二:嵌入式Azure RTOS ThreadX即時作業系統移植與開發
嵌入式Azure RTOS是一款適用於深度內嵌應用程式設計的進階即時作業系統,它是一個開源RTOS,核心為ThreadX即時內核。其優點有提供進階排程、通訊、同步處理、定時器、記憶體管理和中斷管理功能。經過嚴格的測試,通過了工業認證IEC-61508 SIL 4、醫療認證IEC-62304 Class C、汽車認證IEC-61508 ASIL D和運輸/鐵路認證EN50128,因此本課程中主要使用之Azure RTOS ThreadX 與GUIX皆可用於安全關鍵型系統。
此外,Azure RTOS ThreadX有許多進階功能:包括其picokernel™架構、先佔臨界值™排程、事件鏈結、執行分析、™效能計量,以及系統事件追蹤。同時結合其較佳的易於使用性,是內嵌應用程式的理想選擇,種種優勢讓Azure RTOS ThreadX 即時作業系統可以使用在通信、工業、醫療、汽車電子、運輸/鐵路等等領域。
本課程將Open Source之即時內核Azure RTOS ThreadX與ARM Cortex M3 / M4 / M7 作一完美結合,以發揮ARM-Cortex M3 / M4 / M7 CPU的特點。
v 課程目標:
1. 特別增加各種Azure RTOS ThreadX實務LAB Demo,包含多任務程式開發/按鍵輸入/GPIO輸出、任務間通信實驗、串列介面實作、SPI介面實作及LCD控制應用,以適用於業界不同之需求。
2. 瞭解 Azure RTOS ThreadX 即時作業系統的工作原理與移植方式。
v 適合對象:
1. 熟悉 C & C++ 語言、數位邏輯。
2. 建議需上過【單元一】嵌入式物聯網ARM Cortex-Mx系統韌體開發。
序
|
日期
|
課程內容
|
1
|
114/03/05
(三)
09:30-17:30
|
(1) Azure RTOS ThreadX分析及移植:即時作業系統及Azure RTOS ThreadX 概述、分析及安裝、配置與移植
(2) Threads and stacks、priorities、preemption、Context switches概念
(3) 內核資料結構與內核調度演算法、Azure RTOS ThreadX之Scheduling
(4) 系統中斷處理、系統移植方法
★【LAB】Azure RTOS ThreadX 在STM32開發板上的移植、分析移植的關鍵代碼
(5) Azure RTOS ThreadX應用程式架構
|
2
|
114/03/12
(三)
09:30-17:30
|
(1) 記憶體管理、多任務(ThreadX Tasks)程式開發
(2) ThreadX RTOS的Interrupt 與 Application timer
(3) Wait Abort 來中斷執行緒掛起
★【基礎LAB】多任務程式控制LED,閃爍時間不同
(4) 使用counting semaphore進行event notification
|
3
|
114/03/19
(三)
09:30-17:30
|
(1) 使用event flags group同步 ThreadX 的threads
(2) 使用message queues進行IPC(inter-thread communication)通訊
(3) 使用event-chaining掛起 ThreadX 中的multiple objects
(4) ThreadX priority inversion solutions
★【串列介面LAB】串列介面控制應用程式。
★【SPI介面LAB】多任務Task:一Task執行自周邊(例如I2C或SPI)介面讀入數值,藉任務間通信控制另一Task之LED。
★【進階LAB】網路控制應用程式。
|
※ 因不可預測之突發因素,主辦單位得保留課程之變更權利。