課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
1 | 認識MCU 硬體系統 |
隨著IC集成度越來越高,MCU內部的系統把越來越多的功能整合進來。了解MCU內部每一個組成方塊(Building Blocks)的功能特性。 |
理解個別MCU IC的市場定位。精準地讓特定的MCU發揮在系統中的功能,合理的IC成本設定與開發工時,是MCU系統設計追求的目標 |
|
|
|
2 | MCU開發的生態體系 |
硬體方面選定以 STM32F103C8T6為核心,MCU俗稱Blue-pill的open source hardware作為開發板,配合市場上很容易取得的ST-Link v2作為ICE,提供中斷點等除錯功能。
軟體方面透過ST提供的STM32CubeMX和 STM32CubeIDE形成完整的C語言的韌體開發環境。 |
認識不同的開發環境 |
|
|
|
3 | STM32CubeMX |
在多數廠家以範例程式為基礎的開發起始點時,ST的 STM32CubeMX(支援全系列Cortex-M MCU),開發者透過選單介面可以設定MCU內部所有的功能與相關的初始狀態。同時也提供USB通信協定等程式庫,讓開發者可以專注於上層程式的開發 |
以範例來練習STM32CubeMX的程式碼自動生成的功能 |
|
|
|
4 | STM32CubeIDE |
一般的MCU開發都是以IDE為起始點,IDE顧名思義是把C/C++語言編輯器、編譯器及除錯器等整合集成在一起。以往需要在命令列下執行每一個工具程式的繁瑣作業程序全部被整合在一個環境中,是非常便利的。 |
同學們透過範例的練習,累積實作的經驗與工時。 |
|
|
|
5 | 期中考 |
期中考當天每人呈現3~4分鐘短視頻或是PowerPoint呈現出學習內容與心得 |
理解與內化上課的內容 |
|
|
|
6 | 導讀MCU Datasheet & Application Note |
一般在業界韌體和硬體,甚至軟體都分屬不同部門,在文件中,有些部分是屬於韌體和硬體都必須知道的規格,多一分了解會在韌體硬體混雜在一起的除錯問題上,迅速地找到解方。 |
對於自己正在使用MCU的 Datasheet有基本閱讀能力,遇到細節問題時,才會知道到哪裡找答案。 |
|
|
|
7 | 基本通信介面 |
所謂的inter-chip communication(UART、SPI、I2C) ,它們是用在MCU和周邊IC的短距離通信,也就是在同一塊PCBA上,或是兩片連接在一起的PCBA。UART是一個歷久不衰,應用層面非常廣泛的協定(Protocol),它延伸的典型應用包含USB的Virtual COM Port(VCP)。 |
理解inter-chip communication |
|
|
|
8 | Arduino路徑 |
Arduino的bootloader讓開發者可以直接透過USB下載程式,更加簡化了開發程序,它的除錯方式是透過Virtual COM port(VCP)和Arduino IDE互通。 |
Blue-Pill更可以巧妙地連結到新一代的專業開發工具上。同學們使用進而參與開源社群是幫助自己在軟韌體成長茁壯的途徑之一。 |
|
|
|
9 | 期末考 |
期末考當天每人呈現3~4分鐘短視頻或是PowerPoint呈現出自己設定的小計畫 |
和產業中的工程師一般,具有自學和設定目標解決工程議題的能力 |
|
|
|