国外课栈 - 国外电子信息技术
STM32Fx微控制器自定义引导程序开发 
STM32Fx微控制器自定义引导程序开发
类别 : 视频教程
格式 : MP4
支付  提交
概述

了解基于ARM Cortex Mx的STM32Fx微控制器的Bootloader开发基础知识

  • 为STM32Fx微控制器编写自己的自定义引导程序并测试
  • 主机引导程序通信实现
  • 自定义引导程序命令包
  • STM32微控制器的不同引导模式
  • 引导程序闪存处理实现:扇区擦除/程序/质量擦除
  • 引导程序选项字节(OB )程序处理实现
  • 启动加载Flash扇区保护状态处理实现
  • 引导装载应用程序编程实现(IAP)
  • ARM的矢量表皮层搬迁处理器的Mx

本课程旨在学习为ARM CORTEX Mx驱动的STM32Fx微控制器开发自定义的BootLoader。在本课程中,我将逐步指导您开发自己的BootLoader,我们将探索与BootLoader编程相关的许多内容。

我们将在本课程中开发的BootLoader具有以下功能

1)可以进行应用程序内编程(IAP)。您可以使用BootLoader刷新给定的应用程序二进制文件

2)读取微控制器特定的数据

3)闪存相关的配置,例如为不同的扇区设置读写保护

4)闪存扇区擦除

5)大规模擦除用户闪存

6)读取和显示闪存的保护状态

7)跳转到指定地址以执行代码

以及自定义BootLoader开发,您还将了解

1)微控制器的不同内存组织

2)内存别名和STM32的不同启动模式

3)如何上电后,MCU会启动

4)Arm cortex mx处理器的向量表映射和向量表重定位用例。

5)系统内编程(ISP)与应用程序编程(IAP)之间的区别

6)自定义引导加载程序设计流程图

7)主机和引导加载程序通信方法

8)不同引导加载程序命令的实现

您还可以通过以下方式扩展此BootLoader:完成课程后,将具有以下功能:

1)使用AES加密和解密主机发送的固件

2)通过连接WIFI或Zigbee模块进行空中编程

本课程中使用的硬件

在本课程中,将使用STM32F446RE Nucleo板。如果您有任何其他基于STM32微控制器的开发板,那么您也可以使用在此过程中开发的代码,而无需进行任何改动。

使用的软件:

1)Windows版KEIL-MDK-5

2)用于(WINDOWS / LINUX / MAC OS)的OpenSTM32 SystemWorkbench

总目录(7h31m)

  • 介绍
  • MCU内存,复位序列和启动配置
  • 我们课程中使用的开发板
  • 用于基于ARM Cortex M的MCU的KEIL-MDK-5 IDE设置
  • 安装OpenSTM32 System-Workbench
  • STM32CubeMX
  • 探索STM32本机Bootloader
  • 自定义Bootloader与HOST的通信
  • 引导加载程序项目创建
  • 引导加载程序UART测试
  • 引导程序跳转到用户代码
  • 引导加载程序从主机读取命令
  • 实现BL_GET_VER命令
  • 实施BL_GET_HELP_CMD
  • 实施BL_GET_CID_CMD
  • 实施BL_GET_RDP_LEVEL_CMD
  • 实施BL_GET_GO_TO_ADDR_CMD
  • 实施BL_FLASH_ERASE_CMD
  • 实施BL_MEM_WRITE_CMD
  • 选项字节和闪存扇区保护
  • 探索HOST应用