硬汉嵌入式论坛

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

[STM32H7] FMC_SRAN的奇怪现象,任务内和任务外查询同一地址,地址信号不一致

[复制链接]

6

主题

16

回帖

34

积分

新手上路

积分
34
QQ
发表于 2024-4-12 11:26:36 | 显示全部楼层 |阅读模式
测试平台使用的安富莱V7板

仅使用逻辑分析仪勾出了引脚波形,其实是没有SRAM外设的
当我读一个地址时,FMC片选3区域,地址线路0x17,在任务外可以正常读,波形很正常。但是任务内再读,会读好多地址。

此为任务外运行,波形正常(设置的8位地址线模式)

任务外代码

任务外代码

任务外波形

任务外波形


此为任务内运行,诡异的多了很多读使能

任务中代码

任务中代码

任务中波形

任务中波形


完蛋了,找不到问题了,学习不努力,处处是魔法
回复

使用道具 举报

6

主题

16

回帖

34

积分

新手上路

积分
34
QQ
 楼主| 发表于 2024-4-12 15:28:01 | 显示全部楼层
我发现问题是啥了,但是没办法解决。
我用的是带模组管理器的threadX,如果用不带模组管理器的threadX内核则没有这个问题。
这可咋办,有没有老哥研究过。
回复

使用道具 举报

6

主题

16

回帖

34

积分

新手上路

积分
34
QQ
 楼主| 发表于 2024-4-12 18:17:22 | 显示全部楼层
又有新发现了,我带模组管理器的threadX,MPU使能不上。我记得这个模组管理器是会把MPU接管掉的,只要一进任务调度,不知道哪里就会把MPU给我关掉。

但是安富莱 ThreadX Module Main 有模组管理器的例子,在例子中MPU可以手动控制,这是哪里配置的吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-4-13 08:50:25 | 显示全部楼层
yono 发表于 2024-4-12 18:17
又有新发现了,我带模组管理器的threadX,MPU使能不上。我记得这个模组管理器是会把MPU接管掉的,只要一进 ...

使用非MPU模式即可。我分享了一个MPU管理的和一个非MPU管理的。
回复

使用道具 举报

6

主题

16

回帖

34

积分

新手上路

积分
34
QQ
 楼主| 发表于 2024-4-19 14:44:09 | 显示全部楼层


threadX的module_manager在tx_thread_schedule.S中有这样的操作,导致调度时关闭MPU,屏蔽可以使得初始化时的MPU设置生效。
屏蔽MPU关断的操作.png


但是仍然会带来新的问题,如果加载使用了MPU的APP,管理器本体的MPU设定就被APP覆盖,就不生效了,导致很多硬件接口不能正常工作。
如何让管理器和APP都自由使用MPU,是一个问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-4-20 08:32:26 | 显示全部楼层
yono 发表于 2024-4-19 14:44
threadX的module_manager在tx_thread_schedule.S中有这样的操作,导致调度时关闭MPU,屏蔽可以使得初始 ...

每个APP和BOOT都可以独立动态配置MPU的。可以考虑合理规划下。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 20:53 , Processed in 0.202638 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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