單元一:嵌入式物聯網ARM Cortex-Mx系統韌體開發
現今產業越來越多的AIoT應用需要高效能、功能豐富且高度整合的微控制器。早期的Cotex M3/M4等級的MCU已經逐漸無法勝任,CM3/4在高效能、功能豐富且高度整合的應用上也不適用。ST公司在2020年發布的STM32H7xx系列的高效能MCU、並推出STM32Cube生態系統和硬體工具可以開發高效能、功能豐富且高度整合的應用程式。
STM32H7的自帶週邊比較之前的任何STM3型號功能都要強勁,更換了ADC、DMA、USART ...等重要週邊設備。如ADC換成了3.6Msps 16位元分辨率、USART支援Baud-Rate自適應…等等。與之前STM32F1、F4系列晶片在週邊的設定技術就有一定程度的不同,因此初學Cortex Mx或有經驗的工程師,希望快速進入AIoT高效能、功能豐富且高度整合的應用設計工程師,首選使用與學習STM32H7系列的MPU微控制器。
STM32H7/CM7晶片功能強大,軟體複雜度也相對提高許多,適合用於高效能Edge AIoT應用或具有大量通信需求的應用:如工業控制、醫療儀器、資料處理和網路通訊產品。
課程特色:
1、瞭解Cortex-M7系列結構及其指令集,及熟悉Cortex-M7系列結構之嵌入式程式設計的方法。
2、瞭解STM32處理器各個介面開發的原理。
適合對象:熟悉 C & C++ 語言、數位邏輯。
序
|
日期
|
課程內容
|
1
|
113/01/19
(五)
09:30-17:30
|
(1) 軟體開發工具( STM32CubeMx / STM32CubeIDE )介紹、安裝與使用
(2) Cortex-M Kernel結構
(3) ARM-Cortex-M指令集
(4) 基於Cortex-M的嵌入式軟體設計:Programmer's Model、System Control、Memory Map、Exceptions、Clocking and Resets、Power Management、Nested Vectored Interrupt Controller(NVIC)、Memory Protection Unit(MPU)、Debug
★【LAB1】第一支ARM-Cortex-M 程式:Coding完成Cortex Mx Vector table( Stack、Reset_Handler…) 及各種ARM ASM範例
★【LAB2】實作完成「Startup Code to C」實驗
★【LAB3】Explicate the Startup Code(俗稱Booting Code) and How to Modify
(5) STM32H7處理器簡介:CPU架構、記憶體及啟動模式、周邊模組
(6) STM32H7介面開發-1:GPIO基本輸入與輸出
★【LAB4】 GPIO按鍵及LED閃爍實驗(包含講解開發板電路圖及MCU、IC之Datasheet查閱)
|
2
|
113/01/24
(三)
09:30-17:30
|
(1) CM7韌體撰寫方式介紹:1. CM7 MCU’s Register Access、2. CM7 Standard Peripherals Library
(2) STM32H7介面開發-2:中斷/NVIC(巢式中斷)、串列介面、RTC/ALARM實驗、PLL
★【基礎LAB1】:LED實驗、按鍵輸入實驗、EXTI中斷(NVIC)實驗、串列介面實驗、RTC/ALARM實驗、PLL Control實驗
|
3
|
113/01/26
(五)
09:30-17:30
|
(1) STM32H7介面開發-3: SysTick and Delay、Watchdog
★【基礎LAB2】: SysTick/Delay實驗、Watchdog實驗
(2) STM32H7進階介面開發-1: DMA/ADC、SD Interface、USB Device
★【進階LAB1】: DMA/ADC介面講解與實驗、SD卡實驗、USB Device實驗
|
4
|
113/01/31
(三)
09:30-17:30
|
(1) STM32H7進階介面開發-2: I2C、SPI、TFT/LTDC、DMA2D
★【進階LAB2】:溫濕度I2C模組實驗、G-sensor SPI模組實驗、網路介面實驗(TCP/IP + Web Server+控制板上 IO )、LCD TFT+FATS檔案系統實驗
|
※ 因不可預測之突發因素,主辦單位得保留課程之變更權利。
單元二:嵌入式RTEMS RTOS硬即時作業系統移植與開發
RTEMS是種微核心搶占式的硬即時系統,具有下面的優點:優秀的實時性能、支持硬即時和軟即時(可搶占核心)、支持優先權繼承,防止優先權反轉、支持單調周期調度、支持優先權高度協定,RTEMS非常的穩定,運行速度快,支持多種CPU。除了上述優點,RTEMS還有高度可剪裁核心、占用系統資源小等特性,且支持多種處理器移植,其提供POSIX API 可以方便移植 Linux/UNIX 下的程式,另提供完整的 BSD的TCP/IP協議棧以及 FTP、WebServer、NFS 等服務功能。種種優勢讓這原本 RTEMS RTOS軍用即時作業系統可以使用在通信、航空航天、工業控制、軍事等領域。
本課程將著名Open Source之硬即時內核RTEMS RTOS與ARM Cortex M3/M4/M7作一完美結合,以發揮ARM-Cortex M3/M4/M7 CPU的特點。
課程特色:
- 特別增加各種RTEMS RTOS實務LAB Demo,包含多任務程式開發/按鍵輸入/GPIO輸出、任務間通信實驗、串列介面實作、SPI介面實作及LCD控制應用,以適用於業界不同之需求。
- 瞭解RTEMS RTOS硬即時的工作原理,與瞭解RTEMS RTOS移植方式。
適合對象:
- 熟悉 C & C++ 語言、數位邏輯。
- 建議需上過【單元一】嵌入式物聯網 ARM-Cortex Mx系統開發韌體實作實戰。
序
|
日期
|
課程內容
|
1
|
113/03/08
(五)
09:30-17:30
|
(1)RTEMS RTOS分析及移植:即時作業系統及RTEMS RTOS 概述、分析及安裝、配置與移植
(2)任務、行程概念
(3)內核資料結構與內核調度演算法、RTEMS RTOS之Scheduling
(4)系統中斷處理、系統移植方法
★【LAB】RTEMS RTOS在STM32開發板上的移植、分析移植的關鍵代碼
(5)RTEMS RTOS應用程式架構
|
2
|
113/03/13
(三)
09:30-17:30
|
(1)多任務(RTEMS Tasks)程式開發
(2)RTEMS RTOS的Interrupt 與 Timers Management
(3)RTEMS RTOS的時間管理
★【RTEMS RTOS基礎LAB】多任務程式控制LED,閃爍時間不同
(4)RTEMS RTOS之Events and Signals
|
3
|
113/03/15
(五)
09:30-17:30
|
(1)RTEMS RTOS之Semaphores、Message Queues, Reentrancy,任務間的通信與同步、任務優先順序控制
★【RTEMS RTOS之按鍵輸入/GPIO輸出實作LAB】任務間通信實驗
a. 各種多任務的方式控制LED。
b. 多任務Task:一Task執行辨識按鍵輸入,藉任務間通信控制另一Task之LED。
(2)RTEMS RTOS之I/O與Memory Management。★【RTEMS RTOS Share Memory LAB】多任務以Share Memory方式控制LED
進階LAB:
★【RTEMS RTOS之串列介面LAB】串列介面控制應用程式。
★【RTEMS RTOS之SPI介面LAB】多任務Task:一Task執行自I2C或SPI介面讀入Flash數值,藉任務間通信控制另一Task之LED。
★【RTEMS RTOS之進階LAB】網路控制應用程式。
|
※ 因不可預測之突發因素,主辦單位得保留課程之變更權利。