硬汉嵌入式论坛

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

[STM32H7] H750ZB+AD7606,FMC_NOE有脉冲,单步调试可以看到FMC_NE1与FMC_NOE输出,全运行就没有输出

[复制链接]

2

主题

6

回帖

12

积分

新手上路

积分
12
发表于 2023-3-27 17:11:42 | 显示全部楼层 |阅读模式
请教楼主H750ZB+AD7606,FMC_NOE有脉冲,单步调试可以看到FMC_NE1与FMC_NOE输出,全运行就没有输出;

FMC_NOE.png

单步可以看到FMC_NOE/FMC_NE1输出,全跑就不行,不知哪里出了问题
#define AD7606_VALUE()                (*(__IO uint16_t *)0x60100000)

  while (1)
  {
          AD7606_CONVST(0);
          delay_us(2);
          AD7606_CONVST(1);
//          delay_us(500);
          while(AD7606_BUSY){;}
          adt[0]=AD7606_VALUE();
          adt[1]=*(__IO uint16_t *)0x60080000;;
          adt[2]=*(__IO uint16_t *)0x60003000;
          adt[3]=AD7606_VALUE();
          adt[4]=AD7606_VALUE();
          adt[5]=AD7606_VALUE();
          adt[6]=AD7606_VALUE();
          adt[7]=AD7606_VALUE();
          delay_ms(50);
        sLED;
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

fmc.c

7.67 KB, 下载次数: 4

回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-3-27 17:19:38 | 显示全部楼层
上贴少了图片
FMC_NOE.png
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-3-27 18:35:49 | 显示全部楼层
H750ZB 这个FMC搞了两天没成功,
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-3-27 19:49:07 | 显示全部楼层
感谢大家,目前发现以下这两个影响
  /* Enable I-Cache---------------------------------------------------------*/
  SCB_EnableICache();

  /* Enable D-Cache---------------------------------------------------------*/
  SCB_EnableDCache();
原因暂时未知。
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-3-27 19:52:11 | 显示全部楼层

感谢,各位,目前发现以下这两个影响
  /* Enable I-Cache---------------------------------------------------------*/
  SCB_EnableICache();

  /* Enable D-Cache---------------------------------------------------------*/
  SCB_EnableDCache();
影响原因暂时未知,再次感谢大家
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2023-3-28 00:48:27 | 显示全部楼层
FMC的MPU一定要配置,配置为Strongly order或者device模式,详情看这两个章节的教程说明
https://www.armbbs.cn/forum.php?mod=viewthread&tid=118524

QQ截图20230328004847.png
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-3-29 08:44:50 | 显示全部楼层
感谢楼主我直接用了例程的 static void MPU_Config( void )还是不行,只要一开启   SCB_EnableDCache(); 就不正常
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2023-3-29 11:06:06 | 显示全部楼层
mr_meng 发表于 2023-3-29 08:44
感谢楼主我直接用了例程的 static void MPU_Config( void )还是不行,只要一开启   SCB_EnableDCache(); 就 ...

你的地址范围是不是和我们的不一样,那么你的MPU地址配置也应该和你这个匹配
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-3-29 14:22:56 | 显示全部楼层
感谢楼主,地址范围是哪里的地址?
FMC配置为 FMC_NORSRAM_BANK1; 地址是:0x60000000
MPU例程:有看到配置0X60000000地址;
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2023-3-30 10:18:30 | 显示全部楼层
mr_meng 发表于 2023-3-29 14:22
感谢楼主,地址范围是哪里的地址?
FMC配置为 FMC_NORSRAM_BANK1; 地址是:0x60000000
MPU例程:有看到配 ...


你的这些地址怎么计算出来的

#define AD7606_VALUE()                (*(__IO uint16_t *)0x60100000)

adt[1]=*(__IO uint16_t *)0x60080000;;
adt[2]=*(__IO uint16_t *)0x60003000;
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2023-4-1 09:11:26 | 显示全部楼层
cubeMX 配置FMC需要指定一个地址,我选择了A19,所以(*(__IO uint16_t *)0x60100000)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-13 06:56 , Processed in 0.194670 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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