硬汉嵌入式论坛

 找回密码
 立即注册
查看: 668|回复: 1
收起左侧

[STM32H7] HAL库 H7 v1.11.2 octospi 参数计算无需再减一

[复制链接]

8

主题

35

回帖

59

积分

初级会员

积分
59
发表于 2024-11-11 18:21:54 | 显示全部楼层 |阅读模式
在调试 octospi 驱动外部 flash 时,发现 flash 的地址很大的时候读写就会出问题,地址小的时候就不会出问题。判断可能是大小设置错误,开始时是根据网上的计算规则,实际大小减一,但是在单步调试的时候,发现它的代码里面又减一了。所以现在的 H7 octospi  参数配置是配置多少,实际就会得到多少,无需再进行减一了。


[C] 纯文本查看 复制代码
      MODIFY_REG(hospi->Instance->DCR1,
                 (OCTOSPI_DCR1_MTYP | OCTOSPI_DCR1_DEVSIZE | OCTOSPI_DCR1_CSHT | OCTOSPI_DCR1_DLYBYP |
                  OCTOSPI_DCR1_FRCK | OCTOSPI_DCR1_CKMODE),
                 (hospi->Init.MemoryType | ((hospi->Init.DeviceSize - 1U) << OCTOSPI_DCR1_DEVSIZE_Pos) |
                  ((hospi->Init.ChipSelectHighTime - 1U) << OCTOSPI_DCR1_CSHT_Pos) |
                  hospi->Init.DelayBlockBypass | hospi->Init.ClockMode));


[C] 纯文本查看 复制代码
     MODIFY_REG(hospi->Instance->DCR2, OCTOSPI_DCR2_PRESCALER,
                   ((hospi->Init.ClockPrescaler - 1U) << OCTOSPI_DCR2_PRESCALER_Pos));


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117564
QQ
发表于 2024-11-12 09:50:10 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 01:30 , Processed in 0.038881 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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