|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/coding-baremetal-scheduler-a-rtos-functionality/
课程评论:没有评论
课程名称:ARM BareMetal调度器(实时操作系统功能)与设备驱动 课程概述:你是否曾想过,如何通过几行字符的代码让硅片闪烁LED灯?本课程将详细讲解ARM M4微控制器的启动过程,并通过汇编语言和C语言代码来实现微控制器的启动。我们将编写一些简单的驱动程序来点亮LED,并进而创建一个简单的终端用户界面(TUI),使用UART进行通信。此外,我们还将构建一个简单的任务调度器,使多个任务能够以轮询方式运行。这是一个自给自足、适合初学者的课程,通过编写简单且完整的功能代码来引入概念,课程代码将在Nucleo开发板上运行。该课程包含实际编码,构建、刷写和调试简单的实时裸机代码,以在STM32F446RE Nucleo开发板上运行。先前具备C语言的知识是比较有利的。 在本课程中,我们将学习以下内容: - 参考必需的文档,包括STM32F446数据手册、编程手册和参考手册。 - 使用开源工具,许多文档可以在公共渠道获取并免费使用,工具设置不在此课程中涵盖。 - ARM微控制器的启动过程。 - 如何编写最小的裸机代码,包括链接器文件、启动汇编代码、Makefile、C代码部分及如何使用GCC编译微控制器代码。 - 使用OpenOCD进行代码刷写,使用GDB进行调试和追踪代码。 - 扩展代码,包括使LED闪烁及通过UART进行终端用户界面通信。 - 上下文切换,概述中断、 interrupt vector table、寄存器的基本知识。 - 上下文切换原理和任务控制块的创建与删除任务的编码。 - 软件概念,同时使用有限状态机管理任务。 该课程将通过实践编码让学习者充分理解实时裸机编程的关键概念和技能。
Have you ever wondered how a few snippets of characters make a silicon chunk to blink an LED? This course will explain the ARM M4 microcontroller start-up process and will walk though Assembly and C code to bring up the microcontroller. We will code some simple drivers to blink an LED and proceed to create a simple terminal user interface (TUI) using UART. We will also build a simple task scheduler so that multiple tasks can run in a round-robin way. This is a self contained beginner friendly approach to introduce concepts by writing simple and complete functional code that works on a Nucleo Board. This course performs hands on coding to build, flash and debug a simple functional real time baremetal code to run on STM32F446RE Nucleo Board. A prior knowledge of C is preferable.We will learn the following as we code through this course.EssentialsHow to refer essential Reference Documents - STM32F446 Datasheet, Programming Manual and Reference ManualUsage of opensource tools. A lot of documentation is available in public for these tools and can be used free of cost. Tool set-up is not covered here.Elaborates ARM Microcontroller start-up process.Code following for minimal baremetal codeLinker FileStart-up Assembly CodeMakefileC code sections and how to prepare microcontroller to C code compiled with GCC.Flashing with OpenOCD Debugging and tracing code with GDBExtending CodeExtending C code to blink LEDExtending C code to transmit and receive via UART for a terminal user interface.Context switchOverview of interrupts, interrupt vector table, Registers.Context switch basics and Task Control BlockCoding context switch and creation and and deletion of tasks.Software ConceptsAlso uses finite state machine for Tasks.