eric2013 发表于 2018-6-4 00:09:15

【安富莱】STM32H7用户手册发布,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至95章(2024-01-08)

说明:
1、本教程重在BSP驱动包设计方法和HAL库的框架学习,并将HAL库里面的各种弯弯绕捋顺,从而方便我们的程序设计。
2、由于是基于HAL库的文档,所以不限制H7系列,其它F1,F2,F3,F4,F7等系列通用,只是H7系列的外设更加丰富和强劲些。
3、本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件命名,程序框架,注释等都比较规范,大家阅读或者移植都会比较方便。
   另外,阅读代码时,务必将编辑器的缩进参数和TAB设置为4来阅读本文件,否则显示不整齐。
4、本教程每周会继续更新2-3章,制作完毕大概100章,之后将开启配套的视频教程制作,加大对初学者的支持力度。
5、由于能力有限,教程中有认识不到位或者错误的地方,欢迎大家批评指正,每周都会更新。

注意事项:
1、配套例子保持MDK5和IAR8两个版本,后面将选做Embedded Studio的GCC版。
   类似Event Recoder这种仅支持MDK的,就不配套其它IDE了。
2、MDK请使用MDK5.26及其以上版本,IAR8请使用IAR8.3及其以上版本。
3、下载器可以使用JLNK,ULINK,STLINK,CMSIS-DAP(DAPLINK)等,如果是JLINK,请使用V9或者V10。
4、对于H7而言,把MPU,Cache,DMAMUX任意互联以及TCM,SRAM等五块内存使用整明白,操作H7会更得心应手些。
5、关于V7开发板裸机程序的模板框架说明:
(1)DTCM是H7里面性能最高的RAM,主频400MHz,跟内核速度一样,所以当前已经制作例子的主RAM全部使用DTCM。
      其它用到DMA和大数量传输的地方,用AXI SRAM,SRAM1,SRMA2,SRAM3或者SRAM4,主频都是200MHz。
(2)硬件异常分析是用的SEGGER的方案,MDK和IAR都已经配套,教程里面也给了使用说明。
(3)每个例子里面的Evernt Recoder也做了加入
static/image/hrline/4.gif
教程下载(2022-04-11,更新记录看链接):
https://www.armbbs.cn/static/image/filetype/pdf.gif安富莱_STM32-V7开发板_用户手册,含BSP驱动包设计(V3.5).pdf (76.10MB)

视频教程:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519

网盘下载教程和配套例子:
https://pan.baidu.com/s/1Lum1i0K157Dv3z9annKiYw 提取码:0eqi

目录:
https://img.alicdn.com/imgextra/i4/299314119/O1CN01zPmgnW1gIY95rKClI_!!299314119.png

配套例程:
https://img.alicdn.com/imgextra/i3/299314119/O1CN01tYTsxb1gIYJMlaYHL_!!299314119.png


eric2013 发表于 2019-3-27 06:11:29

备份曾经奋斗的那些日子
static/image/hrline/4.gif


正式开工制作,完工后全部开源发布。
1、此教程的宗旨:“知其然知其所以然”。
2、并且保证教程的原创性,仅参考ST,SEGGER,Micrium等官方的资料,其它任何第三方或者个人的资料都不会做参考。
3、后面还有要补充的会更新上。
http://www.armbbs.cn/static/image/hrline/4.gif
2018-06-04
规划教程框架。
2018-06-05
完成教程规划,开启第1章制作。

2018-06-06
完成第1章。
2018-06-07
制作第2章。

2018-06-11
完成第2章。

2018-06-13
制作第3章教程,另外要发布一期专题教程,耽误两天时间。

2018-06-19
端午节结束,正式回归,继续制作第3章教程。

2018-06-20
完成第3章。

2018-06-21
制作第4章。

2018-06-23
完成第4章。

2018-06-24
开始第5章。

2018-06-28
完成第5章。

2018-06-29
制作第6章。

2018-07-02
继续第6章。

2018-07-03
完成第6章。

2018-07-04
制作第7章。

2018-07-05
继续制作第7章,争取今天完成。

2018-07-06
完成第7章。

2018-07-07
制作第8章。

2018-07-09
继续制作第8章。

2018-07-11
完成第8章。

2018-07-13
制作第9章。
2018-07-16
完成第9章。

2018-07-18
制作第10章。

2018-07-20
完成第10章。

2018-07-21
制作第11章。

2018-07-23
争取今天完成第11章。

2018-07-24
完成第11章。

2018-07-25
制作第12章。

2018-07-27
完成第12章。

2018-07-28
制作第13章。

2018-07-30
完成第13章。

2018-07-31
制作第14章。

2018-08-03
完成第14章。

2018-08-06
制作第15章。

2018-08-09
完成第15章。

2018-08-11
制作第16章。

2018-08-14
完成第16章。

2018-08-15
制作第17章。

2018-08-18
继续制作第17章,忙于别的事情了。

2018-08-21
完成第17章

2018-08-24
制作第18章

2018-08-28
完成第18章

2018-08-31
制作第19章

2018-09-03
完成第19章

2018-09-05
制作第20章

2018-09-10
完成第20章

2018-09-11
制作第21章

2018-09-15
完成第21章

2018-09-17
开启第22章

2018-09-20
完成第22章

2018-09-21
开始第23章

2018-09-23
耽误两天,要发布二代示波器网络版。

2018-09-25
继续第23章的制作。

2018-09-26
完成第23章。

2018-09-29
开始第24章。

2018-10-04
开始进入加速制作模式。

2018-10-06
完成第24章。

2018-10-08
制作第25章。

2018-10-10
完成第25章。

2018-10-12
制作第26章。

2018-10-13
完成第26章。

2018-10-15
制作第27章。

2018-10-17
完成第27章。

2018-10-20
完成第28章。

2018-10-22
完成第29章。

2018-10-24
制作第30章。
2018-10-28
完成第30章。

2018-10-29
耽误两天做USB上位机教程,之后继续。

2018-11-02
继续第31章。

2018-11-05
完成第31章。

2018-11-08
完成第32章。

2018-11-09
制作第33章。

2018-11-12
完成第33章。

2018-11-16
完成第34章。

2018-11-20
完成第35章。

2018-11-24
完成第36章。

2018-11-28
完成第37章。

2018-12-02
完成第38章。

2018-12-07
完成第39章。

2018-12-11
完成第40章。


2018-12-17
完成第41章。


2018-12-20
完成第42章。


2018-12-27
完成第43章。

2019-01-01
完成第44章。

2019-01-03
完成第45章。

2019-01-07
完成第46章。

2019-01-09
完成第47章。

2019-01-11
完成第48章。

2019-01-15
完成第49章。

2019-01-19
完成第50章。

2019-01-23
完成第51章。

2019-01-28
完成第52章。

2019-02-02
完成第53章。

2019-02-08
完成第54章。

2019-02-12
完成第55章

2019-02-19
完成第56章

http://www.armbbs.cn/static/image/hrline/4.gif
这几年积累了大量的BSP驱动,是时候来一波说明了。
虽然这次是用的HAL库进行说明,之前V4,V5,V6开发板的标准库用户也可以看,因为框架的东西都是一样的,仅仅是换成了HAL库来实现。BSP驱动包的函数命名会保持一致,方便无痛操作。

wxzcldw 发表于 2018-6-4 01:23:51

抢个沙发,顶楼主,哈哈

byccc 发表于 2018-6-4 08:49:25

板凳:victory:

ppcult 发表于 2018-6-4 09:06:05

硬汉的bsp的代码命名风格是根据st的库来的吗

eric2013 发表于 2018-6-4 10:18:55

ppcult 发表于 2018-6-4 09:06
硬汉的bsp的代码命名风格是根据st的库来的吗
不是,不同公司有不同的风格。

http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=45

yumeng 发表于 2018-6-4 12:30:58

的确是该讲讲了,支持!

eric2013 发表于 2018-6-4 16:22:51

补充第2条说明:
并且保证教程的原创性,仅参考ST,SEGGER,Micrium等官方的资料,其它任何第三方或者个人的资料都不会做参考。

hgfight 发表于 2018-6-4 16:28:02

为汉哥打call{:8:}

西风瘦马 发表于 2018-6-4 17:18:24

支持楼主{:22:}

雷鹏 发表于 2018-6-4 20:04:26

老大终于行动了:victory:

FccHome2018 发表于 2018-6-4 20:55:07

跟着楼主学,:):):)

eric2013 发表于 2018-6-5 01:43:51

2018-06-05
完成教程规划,开启第1章制作。

悠悠三千载 发表于 2018-6-5 09:24:13

顶顶顶,硬汉v5

eric2013 发表于 2018-6-5 14:37:16

雷鹏 发表于 2018-6-4 20:04
老大终于行动了

:handshake

eric2013 发表于 2018-6-6 00:51:24

2018-06-06
完成第1章。

cjunrong 发表于 2018-6-6 10:38:11

H7的板子,大概什么时候出

eric2013 发表于 2018-6-6 10:41:46

cjunrong 发表于 2018-6-6 10:38
H7的板子,大概什么时候出

用户手册完成差不多了出:handshake

iamarookie 发表于 2018-6-6 14:38:51

第一章先露个脸

eric2013 发表于 2018-6-6 14:47:33

iamarookie 发表于 2018-6-6 14:38
第一章先露个脸

文档在制作完毕后才会露脸:lol

fanw123 发表于 2018-6-6 17:04:03

eric2013 发表于 2018-6-6 14:47
文档在制作完毕后才会露脸

预估什么时候出啊,等不急了,都:lol

eric2013 发表于 2018-6-6 17:05:12

fanw123 发表于 2018-6-6 17:04
预估什么时候出啊,等不急了,都

争取早日出来浪:lol

cjunrong 发表于 2018-6-6 21:20:24

eric2013 发表于 2018-6-6 17:05
争取早日出来浪

H7的芯片现在供货也是个问题

roguebear 发表于 2018-6-6 21:36:13

核心板。。。。

eric2013 发表于 2018-6-7 01:37:37

cjunrong 发表于 2018-6-6 21:20
H7的芯片现在供货也是个问题

:handshake

这些让采购去处理吧。

eric2013 发表于 2018-6-7 01:38:30

2018-06-07
制作第2章。

roguebear 发表于 2018-6-7 16:28:02

我发现 自从有了cubemx之后, 换芯片或者移植,硬件改变。相当方便。。。。一开始是不习惯。

eric2013 发表于 2018-6-8 00:34:43

roguebear 发表于 2018-6-7 16:28
我发现 自从有了cubemx之后, 换芯片或者移植,硬件改变。相当方便。。。。一开始是不习惯。

那个CubeMX基本不怎么用,生成的工程稍丑陋。有代码强迫症的话看着难受。

leiyitan 发表于 2018-6-8 00:42:51

H7 也会做成像v6那样的豪华大板么?

eric2013 发表于 2018-6-8 00:47:11

leiyitan 发表于 2018-6-8 00:42
H7 也会做成像v6那样的豪华大板么?

是核心板加大地板

roguebear 发表于 2018-6-8 09:59:47

eric2013 发表于 2018-6-8 00:34
那个CubeMX基本不怎么用,生成的工程稍丑陋。有代码强迫症的话看着难受。
我个人建议还是用起来。从我目前多个项目并头进行的情况以及从代码的规范性。不过需要自己做一点微小的工作。

roguebear 发表于 2018-6-8 10:01:53

eric2013 发表于 2018-6-8 00:47
是核心板加大地板

核心板总体设计的时候,是否考虑在论坛征集一下各种建议和需求。。。?

iamarookie 发表于 2018-6-8 12:59:26

06-RTX_LED\06-RTX_LED.axf: Warning: L6989W: Could not apply patch sdcomp-29491-629360 to instruction VLDM   r12!,{s16-s31} at offset 0xda, instruction is within an IT block and is not the last instruction for hal_cm4.o(.emb_text).

这个问题怎么解决啊 看了教程移植系统出现问题

eric2013 发表于 2018-6-8 13:02:52

roguebear 发表于 2018-6-8 10:01
核心板总体设计的时候,是否考虑在论坛征集一下各种建议和需求。。。?

你上次提的就很给力。

eric2013 发表于 2018-6-8 13:15:20

iamarookie 发表于 2018-6-8 12:59
06-RTX_LED\06-RTX_LED.axf: Warning: L6989W: Could not apply patch sdcomp-29491-629360 to instruction ...

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86696&extra=page%3D1%26filter%3Dtypeid%26typeid%3D164

ytqiqiang 发表于 2018-6-9 12:43:29

继续关注,支持硬汉兄

roguebear 发表于 2018-6-10 23:13:42

有谁搞个最新版的mdk5项目转换到visual studio 2015.。。2017的小软件啊。 keil被arm收购了这么财大气粗都不搞一个好点的编辑器,简直是大便一样。学学atmel多好。直接用vs作前端。

eric2013 发表于 2018-6-11 01:11:08

2018-06-11
完成第2章。

Mr.T 发表于 2018-6-11 13:04:41

是基于官方的那块开发板写的吗

eric2013 发表于 2018-6-11 13:26:54

Mr.T 发表于 2018-6-11 13:04
是基于官方的那块开发板写的吗

不是。

maswangy 发表于 2018-6-12 03:53:33

期待版主的又一大作
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【安富莱】STM32H7用户手册发布,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至95章(2024-01-08)