STM32Fx 微控制器定制引导加载程序开发
了解基于 ARM Cortex Mx 的 STM32Fx 微控制器的引导加载程序开发基础知识
讲师:FastBit Embedded Brain Academy
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 为您的 STM32Fx 微控制器编写您自己的自定义引导加载程序并进行测试
- 主机引导加载程序通信实现
- 自定义引导加载程序命令包
- STM32微控制器的不同启动模式
- 引导加载程序闪存处理实现:扇区擦除/编程/批量擦除
- 引导加载程序选项字节(OB) 程序处理实现
- 引导加载程序Flash扇区保护状态处理实现
- 引导加载程序 在应用程序编程实现 (IAP) 中
- ARM cortex Mx 处理器的向量表重定位
要求
- 如果您想测试开发的代码,则需要基于STM32Fx的板
- 需要基本的“C”编程知识,但不是强制性的
描述
开始微控制器引导加载程序开发。
本课程适合嵌入式系统和编程领域的初学者。
本课程主要讲述学习为 ARM CORTEX Mx 支持的 STM32Fx 微控制器开发自定义 BootLoader。
在本课程中,我将指导您逐步开发自己的 BootLoader,并且我们将探索与 BootLoader 编程相关的许多内容。
我们在本课程中要开发的 BootLoader 将具有以下功能
1)可以进行应用内编程(IAP)。您可以使用 BootLoader 来刷新给定的应用程序二进制文件
2) 读取微控制器特定数据
3)Flash相关配置,如设置不同扇区的读写保护
4) 闪存扇区擦除
5) 用户闪存的批量擦除
6)读取并显示Flash存储器的保护状态
7)跳转到指定地址执行代码
随着自定义 BootLoader 开发,您还将了解
1)微控制器的不同存储器组织
2)STM32的内存别名和不同的启动模式
3)MCU上电后如何启动
4)arm cortex mx处理器的向量表映射和向量表重定位用例。
5) 在系统编程(ISP)和在应用编程(IAP)的区别
6) 自定义引导加载程序设计流程图
7)Host与Boot loader通信方式
8)不同引导加载程序命令的实现
完成课程后,您还可以通过提供以下功能来扩展此 BootLoader
1)使用AES对主机发送的固件进行加密和解密
2) 通过连接 WIFI 或 Zigbee 模块进行无线编程
本课程使用的硬件:
本课程使用STM32F446RE Nucleo板。
如果您有任何其他基于 STM32 微控制器的板,那么您也可以使用课程中开发的代码,无需进行任何更改或进行少量更改。
使用的软件:
1) 适用于 Windows 的 KEIL-MDK-5
2) OpenSTM32 SystemWorkbench for (WINDOWS/LINUX/MAC OS)
FastBit Embedded Brain Academy 课程的学习顺序,
如果您是嵌入式系统领域的初学者,那么您可以按照以下顺序学习我们的课程。
这只是教练给初学者的建议。
1)微控制器嵌入式C编程:绝对初学者(Embedded 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) 使用UML状态机(State machine)进行嵌入式系统设计
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设备驱动程序编程
本课程适合谁:
- 微控制器和嵌入式系统领域的学生
- 从事嵌入式系统领域工作的专业人员