【STM32のHAL库开发】使用CubeMX配置FMC来读取NADA Flash的ID

【STM32のHAL库开发】使用CubeMX配置FMC来读取NADA Flash的ID

开发平台

cubemx V5.5.0 + MDK Keil V5.29.0.0 + STM32F429NIH
使用Samsung的K9LBG08U0E NADA Flash ,挂载在FMC Bank3上工作。
原理图和引脚映射如图。
在这里插入图片描述

CubeMX的配置(1/3)

选取FMC的Nada Flash1使能,配置好相应的IO;
在这里插入图片描述
需要配置的内容:

  • 时序(重要
    • 查找数据手册中的tREH对应MEMxSET寄存器,即Cube界面中的setup time,单位是HCLK(180M主频时约5.5 ns);
    • 同理, tRP、tWP对应MEMxWAIT寄存器,即wait time;
    • hold time设为3Hi-Z time设为2
    • CommonAttribute设置是相同的。
  • ALE和CLE的延迟时间
    • 同上,查阅数据手册有明确的时间特性表。
  • NADA Flash的存储结构
    • PageSize,指每个page中的字节数(包括Spare区)
    • SpareAreaSize,指每个Spare区(即坏块备用区)中的字节数
    • BlockSize,指每个Block中的Page数目
    • BlockNumber,指Block的个数;
      在这里插入图片描述

添加代码(2/3)

在MX_FMC_Init();后添加

	FMC_Bank2_3->PCR3 &= 0xfffffffd; //disable PWAITEN

用于将PWAITEN位清零,否则将引起AHB总线错误。

读取ID(3/3)

位于stm32f4xx_hal_nand.c中:

		NAND_IDTypeDef info;
		HAL_NAND_Reset(&hnand1);
		delay_ms(500);
		HAL_NAND_Read_ID(&hnand1, &info);

读取到info结构体中,包括4个32位ID。
在这里插入图片描述
与数据手册中的ID一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值