362|0

69

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【Follow me第二季第3期】spi flash测试 [复制链接]

 

本帖最后由 zsy-s 于 2024-12-5 21:59 编辑

spi 硬件资源

片上设计有两个flash
MX25L25645G ,256-Mbit(256M x 1/128M x 2/64M x 4) norflash。
MX25L51245GMI-08G,3V 512M-BIT norflash。
接口octalspi接口,也就是八线spi。

flash手册

C505513_NOR+FLASH_MX25L51245GMI-08G_规格书_WJ195134.PDF

(1.57 MB, 下载次数: 0)

C2838827_4F25CEE92D647532F77D913FC2B8E956.pdf

(4.79 MB, 下载次数: 0)

芯片地址空间:

octalflash地址空间映射模式下地址映射情况

关于sopi和dopi的区别,是一个clk周期内读取数据的次数,dopi上升和下降沿,都是可以读写数据的。可以看下图

引脚功能配置

ospi flash配置

工具使用

编译和开发工具:e2 studio
烧录工具: jlink flash lite
日志查看工具: jlink rtt

spi 学习

本任务主要使用芯片的ospi 控制器。支持三种设备接口:标准spi接口(spi),单速率八线(sopi),双速率八线(dopi)。

代码

基于例程:ospi,测试512Mbit flash的读写性能。
opi支持三种读写模式:spi sopi,dopi。
本次验证dopi方式,使用的映射地址:0x70003000
准备 0-255数值的256数组

  1. int inx = 0;
  2. while(inx < 256){
  3. write_data_t[inx] = (uint8_t)inx;
  4. inx++;
  5. }

写入数据

  1. R_OSPI_Write(&g_ospi_ctrl, write_data_t, ospi_ref_addr, 256);

读出数据并比较

  1. uint8_t read_data_t[256] ;
  2. memcpy(read_data_t,ospi_ref_addr,256);
  3. int pos = 0;
  4. while(pos < 256){
  5. APP_PRINT("-[%x]-",read_data_t[pos]);
  6. pos++;
  7. }

效果

写入的数据和读出的数据一致,验证可读可写。

结论

最初的spi协议比较简单容易理解。
随着性能提高,和业务复杂,现在的spi有点难深入理解啊

点赞 关注
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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