
欢迎参加“现代嵌入式系统编程”视频课程。
在本课程中,您将学习如何以现代方式对嵌入式微控制器进行编程,从基础知识一直到当代现代嵌入式编程实践。
本课程的独特方法是经常踏上机器水平,并准确地向您显示嵌入式微控制器内部发生的事情。这种更深入的理解将使您能够更有效地更加自信地运用这些概念。
如果您正在寻找一门实用,实践,结构良好和深入的课程,以解释嵌入式编程中的基本概念,那么此免费课程适合您。
该课程始于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存储库一个星(在浏览器窗口的右上角):
