ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

解决qspi-flash驱动直接地址读模式只能访问默认16MB以内的问题

解决qspi-flash驱动直接地址读模式只能访问默认16MB以内的问题

解决qspi-flash驱动直接地址读模式只能访问默认16MB以内的问题

初始化时主要需要配置qspi控制器的寄存器

直接地址读寄存器是能够支持flash地址映射到指定地址比如飞腾e2000是0-0x0FFFFFFF

配置一次直接读寄存器,则后续对flash映射的地址进行读取时,都会按照这个寄存器配置的

内容进行读取;

所以如果读取的时候只能读16MB以内,表示直接地址读模式已经开启,但地址配置的是3字节模式

而非4字节模式

本问题的解决办法是在初始化的时候配置qspi的直接地址读寄存器即可

对qspi控制器的LD寄存器进行读写可以发送CMD寄存器的指令到flash中

LD以及HD寄存器是当CMD指令后面需要跟上数据(比如地址)的时候使用,并且LD还能用来

当作发送命令到flash的触发动作

qspi的cs_set寄存器的值需要从flash的芯片手册中AC部分查看

一个非常好的读代码的方式是,每个功能逐次取看里面调用的函数

比如flash擦除功能,调用了do_flashe1函数,在这个函数里逐句去看,遇到调用函数的部分

就去这个调用的函数里面查看函数的内容,逐步把所有功能都看懂,同时就能够把所有函数看完

返回列表