请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
楼主: eric2013
收起左侧

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

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-7-7 17:54:31 | 显示全部楼层
nzk123 发表于 2020-7-7 17:43
硬件IIC会有介绍吗?一直不敢碰ST的硬件IIC

可以的,后面研究下硬件I2C的使用。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-7-13 04:19:45 | 显示全部楼层
添加一个案例:

像使用内部SRAM一样定义使用STM32H7的外部SDRAM,含MDK和IAR两版
http://www.armbbs.cn/forum.php?m ... 8697&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2020-7-30 09:18:47 | 显示全部楼层
顶一个!教程写得很细致专业
回复

使用道具 举报

5

主题

54

回帖

69

积分

初级会员

积分
69
发表于 2020-8-12 09:57:18 | 显示全部楼层
大神有IAR移植  USB的教程吗
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2020-8-22 01:52:14 | 显示全部楼层
真是牛人,厉害啊厉害!
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2020-9-29 13:06:24 | 显示全部楼层
请问配置DE模式需要注意哪些?
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2020-10-13 18:01:39 | 显示全部楼层
现在进来会不会有点太晚啦~~~
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-2 03:12:15 | 显示全部楼层
更新两个QSPI章节。
回复

使用道具 举报

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2020-11-7 21:58:37 | 显示全部楼层
eric老师你好,非常感谢您主持分享:Event Recoder 大全,其中您提到“对于不带 ITM 功能的 Cortex-M0/M0+/M23,是需要开关中断的。”   实际测试了哈用keil 5.29 对STM32G071RBT6的开发板调试下载程序,在程序初始化开始就先把总中断关闭了,把Event Recoder  各个功能也配置好但是通过ST-LINK V2 SWD仿真下载提示错误:trace HW not present   , 是不是就是所有M0/M0+内核的芯片,没有带ITM功能,就无法使用:Event Recoder  这个功能呢?
回复

使用道具 举报

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2020-11-7 21:59:21 | 显示全部楼层
eric老师你好,非常感谢您主持分享:Event Recoder 大全,其中您提到“对于不带 ITM 功能的 Cortex-M0/M0+/M23,是需要开关中断的。”   实际测试了哈,在程序初始化开始就先把总中断关闭了,把Event Recoder  各个功能也配置好但是通过ST-LINK V2 SWD仿真下载提示错误:trace HW not present   , 是不是就是所有M0/M0+内核的芯片,没有带ITM功能,就无法使用:Event Recoder  这个功能呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-9 04:37:00 | 显示全部楼层
ll_dota_man 发表于 2020-11-7 21:59
eric老师你好,非常感谢您主持分享:Event Recoder 大全,其中您提到“对于不带 ITM 功能的 Cortex-M0/M0+/ ...

不好意思,回复晚了。

这个没事,那个Trace设置里面,不要Enable,仅把时钟设置对即可
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-9 04:37:03 | 显示全部楼层
新增章节:
第80章 STM32H7 的 QSPI 总线应用之 QSPIFlash 的 MDK 下载算法制作
第81章 STM32H7 的 QSPI 总线应用之 QSPI Flash 的 STM32CubeProg 下载算法制作
第82章 STM32H7 的 QSPI 总线应用之 QSPI Flash 执行程序(BOOT+APP 方式)
第83章 STM32H7 的内部 Flash 和 QSPI Flash都运行程序的混合方式(强烈推荐)

新增例子:
V7-060_QSPI Flash的MDK下载算法制作
V7-061_QSPI Flash的STM32CubeProg下载算法制作
V7-062_QSPI Flash运行程序(Bootloader)
V7-063_QSPI Flash运行程序(用户APP)
V7-064_内部Flash和QSPI Flash都运行程序的混合方式,无需单独制作BOOT和APP(强烈推荐)
回复

使用道具 举报

4

主题

33

回帖

45

积分

新手上路

积分
45
发表于 2020-11-9 07:59:00 | 显示全部楼层
太给力了 点赞
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-11-9 10:39:04 | 显示全部楼层
硬汉哥,下载算法程序里中断和时基都是不用的,用了会有什么问题吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-9 12:15:00 | 显示全部楼层
btbuzff 发表于 2020-11-9 10:39
硬汉哥,下载算法程序里中断和时基都是不用的,用了会有什么问题吗?

执行异常。切勿做任何额外的操作。
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2020-11-9 14:33:54 | 显示全部楼层
你好,请问下,这个 qspi 下载地址,如果我想从 0x9000 8000 这个地址开始是否可以呀 ?
回复

使用道具 举报

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2020-11-9 20:03:00 | 显示全部楼层
eric2013 发表于 2020-11-9 04:37
不好意思,回复晚了。

这个没事,那个Trace设置里面,不要Enable,仅把时钟设置对即可

eric老师你好,不勾选Trace 里面的Enable ,可以实现Event Recoder 功能了,非常感谢。
另外还想请问哈:  M0/M0+内核的芯片, MDK里面的Event Statistics  时间戳功能可以用吗? 我试了哈,把Trace里面的时钟设置为了系统工作主频,比如16Mhz,观察1个10ms延时前后的时间戳记录,查看Event Statistics 里面记录的值完全不对,实际记录的值是几十ns.
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-11 18:46:16 | 显示全部楼层
真的是太给力了,一直在找H750的QSPI在MDK中的下载调试。H7TOOLS什么时候能有调试下载QSPI的功能
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-11 18:48:35 | 显示全部楼层
版主的资料详细开源,让初学者少走许多弯路。
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-11 21:19:05 | 显示全部楼层
请教版主,刚刚看了【V7-060_QSPI Flash的MDK下载算法制作】,我的STM32H750以前设计好的,用的是W25Q64JVSSIQ,修改哪些地方就可以了。另外我的750是运行在480M.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-12 03:14:21 | 显示全部楼层
LB342 发表于 2020-11-11 18:46
真的是太给力了,一直在找H750的QSPI在MDK中的下载调试。H7TOOLS什么时候能有调试下载QSPI的功能

可以直接用于H7-TOOL,仅需修改V7已经发布例子bsp_qspi_w25q256.c开头的条件编译。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-12 03:16:34 | 显示全部楼层
ll_dota_man 发表于 2020-11-9 20:03
eric老师你好,不勾选Trace 里面的Enable ,可以实现Event Recoder 功能了,非常感谢。
另外还想请问哈 ...

注意Option Trace对话框里面是不是有个主频的设置框,要设置到和你板子实际晶振大小一致。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-12 03:17:17 | 显示全部楼层
LB342 发表于 2020-11-11 21:19
请教版主,刚刚看了【V7-060_QSPI Flash的MDK下载算法制作】,我的STM32H750以前设计好的,用的是W25Q64JVS ...

教程里面写修改方法。看对应章节即可。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-12 03:17:31 | 显示全部楼层
hpdell 发表于 2020-11-9 14:33
你好,请问下,这个 qspi 下载地址,如果我想从 0x9000 8000 这个地址开始是否可以呀 ?

没问题的。
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-12 07:47:19 | 显示全部楼层
回复的好快。显示4小时前,3点多啊。要注意身体。
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-12 07:47:59 | 显示全部楼层
健康的身体,健康的心态。
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2020-11-12 08:54:59 | 显示全部楼层

现在就等大神的 guix 的全字库 与 图片 搞到外部 flash 里面的 教程了,到时好一起折腾折腾
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-12 16:07:01 | 显示全部楼层
No Algorithm found for: 08000000H - 0800B927H
Erase skipped!
Error: Flash Download failed  -  "Cortex-M7"
Flash Load finished at 16:06:04
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-12 20:52:09 | 显示全部楼层
请教版主:在例程V7-060下载算法里,   
/* 设置FIFO阀值,范围1 - 32 */
   QSPIHandle.Init.FifoThreshold = 1;
在例程V7-064内外部FLASH混合运行中,设置为 32;这个依据是什么?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-12 21:11:52 | 显示全部楼层
LB342 发表于 2020-11-12 20:52
请教版主:在例程V7-060下载算法里,   
/* 设置FIFO阀值,范围1 - 32 */
   QSPIHandle.Init.FifoThres ...

你学的好细啊。

这里设置为1相当于关闭FIFO,保证下载靠谱些,实际上你修改为32也没问题。
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-12 21:59:07 | 显示全部楼层
没有办法啊,实在是太菜了。学着下载到25Q64JV上。楼主的例程要是能设置为25Q64,25Q128,25Q256就好了。256有些指令和64的不太一样,比如地址线的位数是32,而64的位数是24位。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-13 10:02:22 | 显示全部楼层
LB342 发表于 2020-11-12 21:59
没有办法啊,实在是太菜了。学着下载到25Q64JV上。楼主的例程要是能设置为25Q64,25Q128,25Q256就好了。256 ...

其它的大同小异,也好整,跟W25Q256差不多。不做下载算法,仅仅让你做个驱动Q64,Q128之类的,你应该没问题吧,这没问题,那整到MDK下载算法里面一样的。
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-13 10:58:52 | 显示全部楼层
采用混合运行,编译出现这么多警告,正常不?
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-13 10:59:13 | 显示全部楼层
H7PLC\H7PLC.sct(38): warning: L6329W: Pattern stm32h7xx_hal_flash.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(39): warning: L6329W: Pattern stm32h7xx_hal_flash_ex.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(41): warning: L6329W: Pattern stm32h7xx_hal_hsem.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(43): warning: L6329W: Pattern stm32h7xx_hal_dma_ex.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(44): warning: L6329W: Pattern stm32h7xx_hal_mdma.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(45): warning: L6329W: Pattern stm32h7xx_hal_pwr.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(46): warning: L6329W: Pattern stm32h7xx_hal_pwr_ex.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(49): warning: L6329W: Pattern stm32h7xx_hal_i2c.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(50): warning: L6329W: Pattern stm32h7xx_hal_i2c_ex.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(51): warning: L6329W: Pattern stm32h7xx_hal_exti.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(57): warning: L6329W: Pattern stm32h7xx_ll_delayblock.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(59): warning: L6329W: Pattern stm32h7xx_hal_sd_ex.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(61): warning: L6329W: Pattern stm32h7xx_hal_spi_ex.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(70): warning: L6329W: Pattern diskio.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(71): warning: L6329W: Pattern ff.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(73): warning: L6329W: Pattern syscall.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(84): warning: L6314W: No section matches pattern croutine.o(RO).
H7PLC\H7PLC.sct(85): warning: L6329W: Pattern event_groups.o(RO) only matches removed unused sections.
H7PLC\H7PLC.sct(88): warning: L6329W: Pattern stream_buffer.o(RO) only matches removed unused sections.
Program Size: Code=44992 RO-data=1044 RW-data=252 ZI-data=24492  
Finished: 0 information, 19 warning and 0 error messages.
FromELF: creating hex file...
"H7PLC\H7PLC.axf" - 0 Error(s), 19 Warning(s).
Build Time Elapsed:  00:00:18
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-13 16:13:25 | 显示全部楼层
LB342 发表于 2020-11-13 10:59
H7PLC\H7PLC.sct(38): warning: L6329W: Pattern stm32h7xx_hal_flash.o(RO) only matches removed unused  ...

Linker里面有个屏蔽警告的操作。
回复

使用道具 举报

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2020-11-14 16:52:48 | 显示全部楼层
老师,bsp_key.h   /  bsp_led.h    / bsp_beep.h   .....这些头文件里面用到的void/uint8_t/uint16_t/uint16_t....    编译了之后,前面都打叉了提示:error unknow type nam ' uint8_t'                   这个应该是缺少了#include <stdint.h>    ,   为啥这些头文件里面不把这个包含进去呢?
回复

使用道具 举报

2

主题

27

回帖

33

积分

新手上路

积分
33
发表于 2020-11-14 23:21:27 | 显示全部楼层
请教老师,在“V7-064_内部Flash和QSPI Flash都运行程序的混合方式,无需单独制作BOOT和APP(强烈推荐)”中,我在自己的板子上实现了下载和运行,部分在外部25Q64,部分在内部,问题是:我可以不可以在内部FLASH运行程序时,读写外部的25Q64?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-15 01:26:32 | 显示全部楼层
ll_dota_man 发表于 2020-11-14 16:52
老师,bsp_key.h   /  bsp_led.h    / bsp_beep.h   .....这些头文件里面用到的void/uint8_t/uint16_t/uint ...

MDK的语法提示太弱了。

实际上是通过bsp.h做的头文件汇总。所以不用管,让每个子驱动都单独添加一次。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-15 01:27:04 | 显示全部楼层
LB342 发表于 2020-11-14 23:21
请教老师,在“V7-064_内部Flash和QSPI Flash都运行程序的混合方式,无需单独制作BOOT和APP(强烈推荐)” ...

不可以,设置内存映射模式后,禁止写操作。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105919
QQ
 楼主| 发表于 2020-11-16 05:02:56 | 显示全部楼层
新增章节:
第84章 STM32H7 的 SPI 总线应用之 SPI Flash的 MDK 下载算法制作
第85章 STM32H7 的 SPI 总线应用之 SPI Flash的 STM32CubeProg 下载算法制作
第86章 STM32H7 的内部 Flash 和 SPI Flash 同时使用 MDK 一键下载  


新增例子:
V7-065_SPI Flash的MDK下载算法制作
V7-066_SPI Flash的STM32CubeProg下载算法制作
V7-067_MDK一键下载内部Flash和外部SPI Flash(下载的全字库文件支持12,16,24和32点阵)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-3-29 09:13 , Processed in 0.302130 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表