硬汉嵌入式论坛

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

[MPU] STM32H7的MPU未配置的区域处于什么状态?

[复制链接]

1

主题

10

回帖

13

积分

新手上路

积分
13
发表于 昨天 21:16 | 显示全部楼层 |阅读模式
目前只是对内部使用到的RAM,以及SDRAM和FMC对应的区域进行了配置,那么像片上外设区域没有进行配置,默认的这些区域是strongly ordered 吗?

此外cortex-m7是不是支持乱序执行?目前遇到一个问题,操作spi外设前通过gpio拉低外设片选,然后读取spi外设数据,正常情况下的波形是片选先被拉低,之后spi总线出现时钟波形,但偶发的会出现片选居然滞后了很多,会在spi接口时钟时钟发出后才被拉低,在拉低片选后调用DMB指令测试下来有效,请熟悉的朋友给分析分析。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120427
QQ
发表于 16 小时前 | 显示全部楼层
1、STM32H7上电后默认的MPU属性
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=90109

2、这种情况确实没遇到过,是不是存在前面的操作还没有完成,就把片选拉高的情况。


M7有个预测访问。

STM32H7的M7内核关闭指令预测访问方法
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=111955


回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 8 小时前 | 显示全部楼层
eric2013 发表于 2026-1-9 00:23
1、STM32H7上电后默认的MPU属性
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=90109

[C] 纯文本查看 复制代码
		sADC1_CS_LOW();
		sADC7_CS_LOW();
        if (SPI_Receive(&adc_value[0][i], &adc_value[6][i]) != HAL_OK)
        {
			rtn_value = 1;
        }
		sADC1_CS_HIGH();
		sADC7_CS_HIGH();
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 8 小时前 | 显示全部楼层
eric2013 发表于 2026-1-9 00:23
1、STM32H7上电后默认的MPU属性
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=90109

spi访问的过程十分简单,大概的过程是这样:
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 7 小时前 | 显示全部楼层
eric2013 发表于 2026-1-9 00:23
1、STM32H7上电后默认的MPU属性
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=90109

spi的访问很简单,大概的过程是这样:在定时中断函数中,先拉低片选,读取spi外设数据,再拉高片选。从代码执行流程看片选不应该早于spi时钟,测试的情况看绝大部分情况是正常的,但也存在极小概率片选稍迟于时钟的状态。spi访问代码片段如下:
[C] 纯文本查看 复制代码
		sADC1_CS_LOW();
		sADC7_CS_LOW();
        if (SPI_Receive(&adc_value[0][i], &adc_value[6][i]) != HAL_OK)
        {
			rtn_value = 1;
        }
		sADC1_CS_HIGH();
		sADC7_CS_HIGH();
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-9 16:41 , Processed in 0.062006 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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