1327|4

10

帖子

0

资源

一粒金砂(中级)

QSPI读写flash及擦除 [复制链接]

本来是想测试一下低功耗,看到要割板子,就留后面再测试,先来跑一下外挂flash的功能。

1.确定硬件部分

1)我们先查看datasheet确定SPI0接口如下

     PB3SPI_SCK

     PB4SPI0_MISO

     PB5SPI0_MOSI

     PB6SPI0_IO2

     PB7SPI0_IO3

     PB1SPI0_CS

2)查找一下flash管脚图

image-20220303094539-1.png  

3)搭一个flash小板,对应上面IO,电源,GND连到开发板。

image-20220303094539-2.png  

image-20220303094539-3.png  

2.添加软件部分

  1. 添加驱动部分Soft_Drivegd25qxx.cgd25qxx.h);
  2. 初始化SPI0 GPIO and parameter

spi_flash_init(); 

  1. 擦除flash

void spi_flash_sector_erase(uint32_t sector_addr);  

擦除一个sector  0x0000-0x0fff  

void spi_flash_block_erase(uint8_t block_addr);  

擦除一个block  0x000000-0x00ffff 

void spi_flash_bulk_erase(void);  

擦除整个chip

  1. 读写flash

/* write block of data to the flash using qspi */  

void qspi_flash_buffer_write(uint8_t *pbuffer, uint32_t write_addr, uint16_t num_byte_to_write); 

 /* read a block of data from the flash using qspi */  

void qspi_flash_buffer_read(uint8_t *pbuffer, uint32_t read_addr, uint16_t num_byte_to_read);

(5)下载程序,打印结果

image-20220303094539-4.png  

3.关于不同flash,quad模式的设置

  1. void qspi_flash_quad_enable(void)  
  2. {  
  3.     /* enable the write access to the flash */  
  4.     spi_flash_write_enable();  
  5.     /* select the flash: chip select low */  
  6.     SPI_FLASH_CS_LOW();  
  7.     /* send "write status register" instruction */  
  8.     spi_flash_send_byte(WRSR);  
  9.  
  10.     spi_flash_send_byte(0x00);  
  11.     spi_flash_send_byte(0x20);  
  12.  
  13.     /* deselect the flash: chip select high */  
  14.     SPI_FLASH_CS_HIGH();  
  15.     /* wait the end of flash writing */  
  16.     spi_flash_wait_for_write_end();  

查阅GDdatasheet,可以看到QE的设置

  1.     spi_flash_send_byte(0x00);  
  2.     spi_flash_send_byte(0x20);  

查阅KHdatasheet,可以看到QE的设置

  1.     spi_flash_send_byte(0x40);  
  2.     spi_flash_send_byte(0x00);  
此帖出自GD32 MCU论坛

回复

4001

帖子

0

资源

版主

还差挺多的呢

 

点评

什么差挺多?  详情 回复 发表于 2022-3-3 21:46

回复

10

帖子

0

资源

一粒金砂(中级)

huo_hu 发表于 2022-3-3 11:47 还差挺多的呢  

什么差挺多?


回复

4001

帖子

0

资源

版主

qspi不用dma会很吃力


回复

1

帖子

0

资源

一粒金砂(初级)

能分享一下原历程吗


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

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    推荐帖子
    iPhone密码轻松被破解_只需一个普通盒子_国人在理智消费转变

    iPhone X即便运行最新的系统也无效 iPhone X即便运行最新的系统,也能轻松被第三方公司破解,苹果非常愤怒。之前美国执法部门曾 ...

    CB设计的核心问题与解决方案

    进行印刷电路板(PCB)设计是指通过设计原理图纸,进行线路布局,以尽可能低的成本生产电路板。过去,这通常需要借助于价格昂贵的 ...

    Allegro Color颜色命令的使用分享大家

    1、打开需要显示的Subclass层; 2、在命令窗口输入colorview create,回车 3、在Save view中输入保存文件名,然后单击Save 4 ...

    16.低功耗智能TWS入耳检测芯片VK233DS,首选深圳永嘉微电

    型号名称:VKD233DS 产品品牌:VINTEK/元泰 封装形式:DFN-6 产品年份:新年份 联 系 人:沈经理 手机号:13554 ...

    【RISC-V MCU CH32V103测评】+ 读取DH11

    上回用例程点了个灯了解了一下就一直吃灰了,这周末有了时间就继续耍,这次驱动个DHT11,依旧用上次的Toggle例程修改下接着 ...

    如何使stm8输出波形下降沿变斜

    这是别人写好的一个io口输出60HZ正脉宽4us的stm8波形,外围没有零件,人为在io口下拉1k电阻能变陡,,我自己试着写了一个,无论 ...

    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表