系列文章目录
学习使用HAL库进行STM32软件开发 | 开始(本文)
前言
本人使用STM32F407开发过一款安全级的仪表,为了符合MISRA-C和IEC60880,直接使用了寄存器方式开发,后来在请具有多年安全级软件V&V的专家给我们测试的时候,他们建议我们以后去了解一下HAL库。
项目已经在去年结束了,如今又是新的一年,我计划学习使用HAL库进行STM32软件的开发,目标为两个月内掌握基础功能的软件开发,包括:时钟、IO口、串口、定时器、中断,以及我们项目中要用到的SPI、FSMC、IIC。
一、目标
- 从零开始搭建开发环境,并做好图文记录,包括后续的学习过程都做好记录,用于以后带人的时候给他们做参考。记录暂定为使用博客写文章记录。
- 掌握如下功能的开发:时钟、IO、串口、定时器、中断、SPI、FSMC、IIC,并积累一套对应的代码,用于以后项目开发时使用。代码暂定为上传到git上。
二、现状
- 掌握单片机的基本原理、数电、模电,有使用STM32F407进行软件开发经验。
- 熟悉MISRA-C、IEC61508、IEC60880标准,有依据这些标准进行软件开发的经验。
- 熟悉汇编开发、寄存器开发、标准库开发,有使用这些方式进行软件开发的经验。
- 见过其他人使用HAL库开发的软件,参与过代码走读和检查。
三、规划
- 芯片准备使用STM32F429进行学习,开发板使用野火的STM32F429开发板。
- 开发环境准备使用CubeMX和keil,编辑器使用keil自带的,静态测试软件使用keil自带的。
- 前期准备以视频观看为主、文档阅读为辅,系统了解HAL库开发的基本知识后,改为以文档阅读为主,视频观看为辅。
- 每周保底写1篇文章,记录学习过程。
- 2个月内达到学习目标,获得:学习记录文档一套、搭建好的开发环境一套、项目常用HAL驱动代码一套。