硬汉嵌入式论坛

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

[STM32H7] STM32H7S7使用FMC连接外部norflash(JS28F256P30TFE)

[复制链接]

10

主题

53

回帖

83

积分

初级会员

积分
83
发表于 2025-2-6 12:21:29 | 显示全部楼层 |阅读模式
本帖最后由 jet1999 于 2025-2-6 12:29 编辑

使用STM32H7S7的FMC连接norflash 原理图如下(原理图修改了几次,画的不怎么规整)

原理图

原理图


我这里不使用写保护(WP#)以及 VPP我是直接连接VCC,可以查看这个芯片手册进行别VPP的操作。

使用CubeMX(6.13.0)配置外设如下,FMC频率为(200MHz)

2.png

注意这里的NOR/PSRAM timing的参数我在MDK中另外设置了

3.png

另外 我设置了FMC 中的norflash这块内存不使用 Cache

生成的MDK文件中修改了一些FMC参数 如下


[C] 纯文本查看 复制代码
  /* Timing */
  Timing.AddressSetupTime = 8;
  Timing.AddressHoldTime = 4;
  Timing.DataSetupTime = 5;
  Timing.BusTurnAroundDuration = 4;
  Timing.CLKDivision = 5;
  Timing.DataLatency = 5;
  Timing.AccessMode = FMC_ACCESS_MODE_A;

最后是测试代码,这个器件在写之前需要进行block解锁,上电默认是锁住的!


[C] 纯文本查看 复制代码
        /*选择器件*/
        hnor1.CommandSet = (uint16_t)0x0001;
        
        HAL_NOR_WriteOperation_Enable(&hnor1);
        
        /*擦除芯片block*/
        HAL_NOR_Erase_Block(&hnor1,0,0x60000000);
        
        /*读取芯片状态*/
        NOR_WRITE(0x60000000, 0x0070);
        NOR_WRITE(0x60000000, 0x00D0);
        
        /*等待擦除完成*/
        status = *((volatile uint16_t *)(0x60000000));
        while(!( status & 0x0080 ))
        {
                status = *((volatile uint16_t *)(0x60000000));
        }
        
        /*解锁block并写入数据,此时返回的是norflash状态数据*/
        NOR_WRITE(0x60000000, 0x0060);
        NOR_WRITE(0x60000000, 0x00D0);
        if ( HAL_NOR_Program(&hnor1,(uint32_t *)(0x60000000),&write_data) != HAL_OK)
        {
                while(1);
        }
        else
        {
                read_data = *(__IO uint16_t *)nor_address;
        }
        
        Controller_s = HAL_NOR_GetState(&hnor1);
        Device_s = HAL_NOR_GetStatus(&hnor1,0x60000000,1000);
        
        /*清除状态读取,此时返回的是norflash内部数据*/
        NOR_WRITE(0x60000000, 0x0050);
        NOR_WRITE(0x60000000, 0x00D0);


值得注意的是,在这个器件中block的大小不是一致的
4.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2025-2-7 05:43:22 | 显示全部楼层
谢谢分享,我们V5板子,之前选择的是这款芯片

12.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 06:36 , Processed in 0.042242 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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