教程演示🔗
你将会学到的
-
为您的 STM32Fx 微控制器编写您自己的自定义引导加载程序并进行测试
-
主机引导加载程序通信实现
-
自定义引导加载程序命令数据包
-
STM32微控制器的不同启动模式
-
引导加载程序闪存处理实现:扇区擦除/编程/整体擦除
-
Boot loader options bytes(OB) 程序处理实现
-
Boot loader Flash扇区保护状态处理实现
-
引导加载程序 在应用程序编程实现 (IAP) 中
-
ARM cortex Mx处理器的向量表重定位
要求
-
如果要测试开发的代码,则需要基于 STM32Fx 的板
-
需要基本的“C”编程知识,但不是强制性的
说明
开始微控制器引导加载程序开发。
本课程适合嵌入式系统和编程领域的初学者。
本课程旨在学习为 ARM CORTEX Mx 供电的 STM32Fx 微控制器开发自定义引导加载程序。
在本课程中,我将逐步指导您开发自己的 BootLoader,我们将探索与 BootLoader 编程相关的许多内容。
我们将在本课程中开发的 BootLoader 将具有以下功能
1)它可以做在应用程序编程(IAP)。您可以使用 BootLoader 闪存给定的应用程序二进制文件
2)读取微控制器特定数据
3) Flash相关配置,如设置不同扇区的读写保护
4) 闪存扇区擦除
5) 用户闪存的批量擦除
6)读取并显示闪存的保护状态
7)跳转到指定地址执行代码
随着自定义BootLoader的开发,您还将了解
1)微控制器的不同内存组织
2)内存别名和STM32的不同启动方式
3) MCU 上电后如何启动
4) arm cortex mx 处理器的向量表映射和向量表重定位用例。
5)在系统编程(ISP)和在应用程序编程(IAP)的区别
6)自定义boot loader设计流程图
7) Host与Boot loader通信方式
8) 不同boot loader命令的实现
完成课程后,您还可以通过提供以下功能来扩展此 BootLoader
1)使用AES加密和解密主机发送的固件
2) 通过连接 WIFI 或 Zigbee 模块进行无线编程
本课程使用的硬件:
本课程使用STM32F446RE Nucleo板。
如果您有任何其他基于 STM32 微控制器的板,那么您也可以使用在课程中开发的代码,无需更改或稍作更改。
使用的软件:
1) KEIL-MDK-5 for WINDOWS
2) 适用于 (WINDOWS/LINUX/MAC OS) 的 OpenSTM32 SystemWorkbench
FastBit Embedded Brain Academy课程学习顺序,
如果您是嵌入式系统领域的初学者,那么您可以按照以下顺序学习我们的课程。
这只是导师对初学者的建议。
1)微控制器嵌入式C编程:绝对初学者(嵌入式C)
2) ARM Cortex-M3/M4 处理器上的嵌入式系统编程(ARM Cortex M4 处理器特定)
3) 掌握微控制器与嵌入式驱动开发(MCU1)
4) 掌握微控制器:TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)
5)掌握微控制器:STM32-LTDC、LCD-TFT、LVGL(MCU3)
6) Embedded System Design using UML State Machines(状态机)
7) 掌握 RTOS:动手调试 FreeRTOS 和 STM32Fx(RTOS)
8) ARM Cortex M微控制器DMA编程揭秘(DMA)
9) STM32Fx微控制器自定义Bootloader开发(Bootloader)
10) 使用 Beaglebone Black 的嵌入式 Linux 循序渐进 (Linux)
11) 使用 Beaglebone Black(LDD1) 进行 Linux 设备驱动程序编程
此课程面向哪些人:
- 微控制器和嵌入式系统领域的学生
- 在嵌入式系统领域工作的专业人员