
歡迎參加“現代嵌入式系統編程”視頻課程。
在本課程中,您將學習如何以現代方式對嵌入式微控制器進行編程,從基礎知識一直到當代現代嵌入式編程實踐。
本課程的獨特方法是經常踏上機器水平,並準確地向您顯示嵌入式微控制器內部發生的事情。這種更深入的理解將使您能夠更有效地更加自信地運用這些概念。
如果您正在尋找一門實用,實踐,結構良好和深入的課程,以解釋嵌入式編程中的基本概念,那麼此免費課程適合您。
該課程始於2013年,因此合法的問題是:“它仍然相關嗎?”答案是肯定的,也許比2013年更多,原因有兩個:
本課程著重於嵌入式編程中的基本和基本概念,這些概念永遠不會過時。所有預先預先的概念均深入涵蓋,並包括:
本課程著重於普遍的ARM Cortex-M體系結構,在過去的十年中,該體系在嵌入式MCU市場中毫無疑問地佔據了主導地位。熟悉ARM Cortex-M是雇主正在尋找的最受歡迎的技能。

手臂處理器,包括Cortex-M家族
該課程是由Miro Samek設計和教授的 - 嵌入式軟件專家擁有30多年的經驗。米羅(Miro)喜歡教學,這段視頻課程,他的書籍,文章和會議演講有助於許多開發人員提高技能,通過艱難的工作面試並被雇用擔任嵌入式編程職位。

米羅·薩米克(Miro Samek)
該課程始於基礎知識,但該部分簡短,專注於C中編程的嵌入式方面。因此,您可能需要通過對C編程語言進行一般研究來補充本課程。您可能還想了解有關CPU的工作原理。
另外,本課程是動手的,這意味著要充分利用本課程,您可以並且應該跟隨並在PC上運行討論的項目。為此,您將需要一些硬件(嵌入式板)和軟件(嵌入式開發工具集)。
筆記
幾個早期的課程使用模擬器,因此您不需要立即嵌入的板。更高級的課程,您與MCU外圍設備互動(例如GPIO等)需要嵌入式板。
在整個課程中使用的主要嵌入式板是基於Texas Instruments的ARM Cortex-M4F MicroController的TIVAC LaunchPad板(又名,EK-TM4C123GXL)。董事會價格便宜,仍然可以從多個電子發行商那裡購買。它是獨立的,並提供了內置的硬件調試器/程序員(Stellaris ICDI),可實現單步調試和檢查內部狀態。

TIVAC LaunchPad(EK-TM4C123GXL)
該課程下載現在還包含基於ARM Cortex-M0+ MCU的STM32 Nucleo-C031C6的項目版本。董事會也很便宜,獨立,並且包括一個更通用的內置硬件調試器(ST-Link),可實現單步調試和檢查內部狀態。

STM32核C031C6
筆記
將來還會添加其他廉價嵌入式董事會的課程項目。
為了構建和運行本課程中介紹的代碼,您將需要以下嵌入式工具集之一:
該課程始於ARM(EWARM)的IAR嵌入式工作台,該工作台用於課程1-19 。 IAR EWARM是一個專業的工具集,具有良好的編譯器和穩定的調試器。

IAR EWARM與其中一個Projecs
筆記
IAR EWARM曾經在免費的,尺寸有限的Kickstart許可下可用,但最近,IAR Systems停止提供免費許可證。剩下的唯一免費選項是2週評估許可證。 IAR EWARM的項目已更新到工具集的較新版本,並以1-19課程提供。
Keil MDK(微控制器開發套件)是本視頻課程中使用的另一種專業開發工具集。與IAR EWAR相比,Keil MDK是在越來越允許的許可下提供的,包括免費的Keil MDK V6社區版。

keil uvision iDe與其中一個ProJecs
筆記
Keil MDK項目現在可用於本課程的所有課程。這包括最初針對IAR EWARM或TI CCS的課程1-21。
由於大眾需求,該課程的兩個課程(19和20)演示了來自德州儀器的代碼作曲家工作室(CCS)IDE。這裡唯一的寶貴方面是使用開源GNU-ARM編譯器和鏈接器。
筆記
Code Composer Studio(CCS)11默認使用Ti編譯器,並且不再隨附GNU-ARM編譯器。但是可以通過菜單安裝GNU-arm工具鏈:“幫助|安裝GCC ARM編譯器工具...”

基於Eclipse的代碼作曲家Studio IDE具有其中一個ProJecs
CCS IDE基於Eclipse,因此,啟動和使用痛苦的速度很慢。 Eclipse項目很難共享,因為它們由多個文件和目錄組成。同樣,項目不能簡單地在IDE中開放,而需要“導入”。生成的錯誤消息通常令人困惑。最後,調試緩慢而不穩定。
該存儲庫提供了可以在特定嵌入式工具集中打開的項目下載,並在家中在PC上運行。這些項目的組織如下所示,如下所示:
modern-embedded-programming-course/
+---lesson-01/ // lesson number
| +---simulator-iar/ // simulator with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---simulator-keil/ // simulator with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-.../
|
+---lesson-04/
| +---stm32c031-keil/ // STM32C031 board with KEIL-MDK
| | ---RTE/ // Run Time Environment for KEIL MDK
| +---tm4c123-iar/ // TM4C123 board with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---tm4c123-keil/ // TM4C123 board with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-...
|
+---lesson-19
| ---tm4c123-ccs // TM4C123 board with CCS
| +---ek-tm4c123gxl/ // board-specific code
| ---targetConfigs/ // CCS project directory
| .ccsproject // CCS project file
| .csproject // Eclispe project file
| .project // Eclipse project file
所有針對ARM/KEIL UVISION的項目已從過時的編譯器5更新為較新的編譯器-6。
如果您想討論本課程或相關科目,請在每個與視頻課程的“稱讚”部分中在YouTube上發布您的問題或評論。
可以通過同伴網頁獲得視頻課程的大量資源:
www.state-machine.com/video-course
除其他外,您可以在那裡找到:
如果您喜歡這個項目,請:

傳播有關您喜歡的視頻的單詞(例如,在嵌入式人們經常發布的其他網站上發布)
給這個github存儲庫一個星(在瀏覽器窗口的右上角):
