1、学习步骤

1.1、文档准备

(1)从STM的官网下载《参考手册》

https://www.st.com/zh/microcontrollers-microprocessors/stm32h743-753/documentation.html

(2)《STM32固件库使用手册》

https://d1.amobbs.com/bbs_upload782111/files_10/ourdev_329022.pdf

(3)其他手册
《Datasheet - production data》/《规格书》

datasheet不是最主要的,最主要的还是参考手册,大概在一千多页。当然还有编程手册和硬件设计手册。

单片机的数据手册虽然都是全英文的,但是都是偏技术介绍,其实看多了结构都是一样的,你甚至可以看看题目就知道干嘛的,直接找需要的数据就行

《programming manual》/《编程手册》
https://www.st.com/resource/en/programming_manual/pm0253-stm32f7-series-and-stm32h7-series-cortexm7-processor-programming-manual-stmicroelectronics.pdf

《GPIO文档》
https://www.st.com/resource/zh/application_note/an4899-stm32-microcontroller-gpio-hardware-settings-and-lowpower-consumption-stmicroelectronics.pdf

1.2 操作步骤

主要参考《xx开发板入门教程》
位置:开发板A盘-1xx入门资料

(1)硬件检测
安装LCD触屏,
12V1A电源适配器供电,

(2)安装MDK521
Keil公司开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的 嵌入式 应用程序。

位置:开发板A盘-6软件资料-软件
正点原子开发板A盘:
http://www.openedv.com/docs/boards/stm32/zdyz_stm32h743_apolloV2.html

(3)安装ST-Link
ST-Link是调试工具,JTAG/SWD仿真器。另一款仿真器是收费的J-LINK。

JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口。
串行调试(Serial Wire Debug),是ARM内核调试器的一种通信协议。相比于JTAG协议,占用更少的端口资源。
参考:
(3.1)ST-Link驱动安装
位置:开发板A盘-6软件资料-软件-仿真器使用教程
(3.2)在MDK里配置ST-Link。

2、从菜鸟到牛人的学习步骤

我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。

学习的时候,关注两个比较重要的文档:《STM32F103xxx参考手册》,《STM32固件库使用手册》。这是针对有充足的时间、精力的同学,建议去下载需要查阅的文档,以获取更多信息。

阅读《STM32F103xxx参考手册》

不需要全部阅读,没有时间的。建议选读。

但是前几章必读。
存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。

后面章节,讲述的是具体的功能模块设计。如果我们用到哪个模块,就可以去阅读哪个模块。
比如在使用AD的时候,就需要去阅读第10章ADC。每个初学者都有自己的研究方向和判断。

阅读《STM32固件库使用手册》:

主要是为了简化编程。STM32给我们提供了一个非常好的固件函数库,我们只要去调用即可。

前面几章也是必须阅读的。
比如第一章文档和库规范中的命名规则,编码规则,这些都是需要注意的。
第二章是最关键的,希望大家熟读。第二章描述了固件库的架构,我们如何去使用固件库的步骤等。有了第二章的基础,我们就可以借助固件库写出自己的代码了。
第四章开始之后,就可以根据大家的需要来阅读。实际上,后续的章节,都是描述某个模块有什么什么函数,每个函数如何使用等。

关于后面的章节,建议对GPIO库函数、中断部分库函数、复位和时钟设置的库函数要比较熟悉,因为平时经常会用到。

以上提到的这两个文档,已经足够您看的了,呵呵。希望您能从中获取大量的STM32基础知识。

步骤一,安装完STM32学习的软件,比如J-Link、Keil for ARM(MDK)、ISP(如果需要从串口下载的话)。这些软件安装的详细步骤,可以参考我们推出的相应教程进行。

第1步:熟悉调试软件

对初学者来说,我们至少需要安装两个软件:J-Link驱动软件、MDK(就是原来的Keil)软件。

这两个软件在安装软件的过程可以查看神舟开发板用户手册,这里不再重复,大家可以参考我们推出的教程《如何安装J-Link驱动软件》以及《如何安装MDK(Keil)软件》。如何验证自己已经熟悉调试软件的操作了呢?很简单,神舟STM32开发板光盘里附带了很多HEX格式的文件,可以选择一些HEX文件,来观察运行结果。

该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

步骤二,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况。这部分的操作,可以参考我们推出的相应的教程进行。

实际上,以上两个步骤,是为了熟悉要使用的工具软件而已。属于找感觉的阶段。其实我们还没开始STM32的学习呢!

步骤三,准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档。用于平时查阅。这些文档,在光盘中的芯片手册目录中均可找到。

步骤四,开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?

步骤五,Ucos-II的移植,是否需要试一下?

恭喜你,至此,你已经可以自如进行独立的开发了。最后一步,给自己一个目标(项目),把它实现出来!

10、如何系统地入门学习STM32?

本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。

你要考虑的是, 我可以用STM32实现什么?

为什么使用STM32而不是8051? 是因为51的频率太低,无法满足计算需求?是51的管脚太少,无法满足众多外设的IO? 是51的功耗太大,电池挺不住?是51的功能太弱,而你要使用SPI、I2C、ADC、DMA? 是51的内存太小而你要存储的东西太多?

当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用spi协议的网卡、要使用串口通信、要使用rtos等等。。。

参考:
https://zhuanlan.zhihu.com/p/59840803

posted on 2023-09-05 17:04  西伯尔  阅读(72)  评论(0编辑  收藏  举报