|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/stm32f4-arm-cortex-mx-custom-bootloader-development/
课程评论:没有评论
课程名称:STM32Fx微控制器自定义引导加载程序开发 课程概述:本课程旨在帮助初学者入门微控制器引导加载程序的开发,专注于ARM CORTEX Mx架构的STM32Fx微控制器。通过逐步指导,学员将学习如何开发自己的引导加载程序,并探索与引导加载程序编程相关的多种内容。课程中开发的引导加载程序具备以下功能: 1. 实现应用编程(IAP),可用于刷写指定的应用程序二进制文件。 2. 读取特定于微控制器的数据。 3. 配置闪存读写保护,设定不同区域的保护措施。 4. 执行闪存区域擦除。 5. 进行用户闪存的大规模擦除。 6. 读取并显示闪存内存的保护状态。 7. 跳转到指定地址执行代码。 此外,课程还将涵盖以下知识点: - 微控制器的不同内存组织结构。 - 内存别名和STM32的不同启动模式。 - 微控制器在上电后如何启动。 - 向量表映射和ARM Cortex Mx处理器的向量表重定位用例。 - 在线编程(ISP)与应用编程(IAP)的区别。 - 自定义引导加载程序的设计流程图。 - 主机与引导加载程序的通信方法。 - 不同引导加载程序命令的实现。 完成本课程后,学员还可以为引导加载程序扩展以下功能: 1. 使用AES对主机发送的固件进行加密和解密。 2. 通过接口连接WIFI或Zigbee模块,实现空中编程。 课程中使用的硬件:本课程主要使用STM32F446RE Nucleo开发板,此外,其他基于STM32微控制器的开发板也可以使用课程中开发的代码,修改较少或不需要修改。 课程中使用的软件: 1. KEIL-MDK-5(Windows系统) 2. OpenSTM32 SystemWorkbench(Windows/Linux/Mac OS) 学习顺序推荐:对于初学者,建议按以下顺序学习嵌入式系统课程: 1. 微控制器嵌入式C编程(绝对初学者) 2. ARM Cortex-M3/M4处理器的嵌入式系统编程 3. 微控制器与嵌入式驱动开发精通 4. 微控制器:定时器、PWM、CAN、RTC、低功耗精通 5. 微控制器:STM32-LTDC、LCD-TFT、LVGL精通 6. 使用UML状态机进行嵌入式系统设计 7. RTOS精通:FreeRTOS与STM32Fx的动手调试 8. ARM Cortex M微控制器DMA编程详解 9. STM32Fx微控制器自定义引导加载程序开发 10. 逐步学习嵌入式Linux(使用Beaglebone Black) 11. 使用Beaglebone Black进行Linux设备驱动编程 其他编程课程: - Rust编程语言精通:从初学者到高级课程
Get started with Micro-controller Bootloader Development. This course will be suitable for beginners in the domain of embedded systems and programming.This course is all about learning to develop a custom BootLoader for ARM CORTEX Mx powered STM32Fx microcontroller.In this course, I will guide you through a step-by-step procedures to develop your own BootLoader and we will explore many things related to BootLoader programming.The BootLoader we are going to develop in this course will have the following features1) It can do in-application programming(IAP). You can use the BootLoader to flash a given application binary2) Read microcontroller-specific data3) Flash related configurations like setting up read and write protections for different sectors4) Flash sector erase5) Mass erase of the user flash6) Read and display the protection status of the flash memory7) Jump to the specified address to execute the codeAlong with custom BootLoader development, you will also understand1) The different memory organization of a microcontroller2) Memory aliasing and different boot modes of STM323) How MCU boots after power-up4) Vector table mapping and vector table relocation use case of arm cortex mx processor.5) Difference between In-system programming(ISP) and in-application programming(IAP)6) Custom boot loader design flow chart7) Host and Boot loader communication method8) Implementation of different boot loader commandsYou can also extend this BootLoader by giving the following features once you complete the course1) Encrypt and Decrypt the firmware sent by the host using AES2) Over-the-air programming by interfacing WIFI or Zigbee ModulesHardware used in this course:In this course, STM32F446RE Nucleo board is used.If you have any other board based on the STM32 microcontroller then also you can use the codes developed in the course with no or minor changes.Software used:1) KEIL-MDK-5 for WINDOWS2) OpenSTM32 SystemWorkbench for (WINDOWS/LINUX/MAC OS)Learning order of FastBit Embedded Brain Academy Courses,If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order. This is just a recommendation from the instructor for beginners. 1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)3) Mastering Microcontroller with Embedded Driver Development(MCU1)4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)6) Embedded System Design using UML State Machines(State machine)7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)10) Embedded Linux Step by Step using Beaglebone Black(Linux)11) Linux device driver programming using Beaglebone Black(LDD1)Other programming courses1) Master The Rust Programming Language: Beginner To Advanced