ZYNQ7045双片Qspi flash支持single和parallel模式

硬件:zynq7045+双片micro512Mb并联

一、例程

        qspi单片大于16MB的参照SDK中例程xqspips_g128_flash_example.c,操作时需要先选中相应的BANK,再进行读写。

二、单双片flash切换

        在Block Design不变的情况下,通过软件切换flash访问模式,只需要在flash初始化之前,修改QspiConfig->ConnectionMode

ConnectionMode模式
XQSPIPS_CONNECTION_MODE_SINGLE单片
XQSPIPS_CONNECTION_MODE_STACKED双片堆叠
XQSPIPS_CONNECTION_MODE_PARALLEL 双片并联

	QspiConfig = XQspiPs_LookupConfig(QspiDeviceId);
	if (NULL == QspiConfig) {
		return XST_FAILURE;
	}

    //在XQspiPs_CfgInitialize之前修改模式
	QspiConfig->ConnectionMode = XQSPIPS_CONNECTION_MODE_PARALLEL; //XQSPIPS_CONNECTION_MODE_SINGLE;

	Status = XQspiPs_CfgInitialize(QspiInstancePtr, QspiConfig,
					QspiConfig->BaseAddress);
	if (Status != XST_SUCCESS) {
		return XST_FAILURE;
	}

 注意:使用parallel模式写入的数据在single模式下不能正确读出。

双片存储parallel模式读取:

single模式读取:

可以看到并不是网上说的偶数地址放flash1,奇数地址放flash2。双片存储不是简单的各一半(具体存放形式暂不清楚)

三、JTAG烧写bin

        如果想要将程序烧写到flash里并且正常启动,需要fsbl中的flash参数和烧写时的Flash Type一致,否则烧写成功,但是不能正常启动。

paramaters.h

/* Definitions for peripheral PS7_QSPI_0 */
#define XPAR_PS7_QSPI_0_DEVICE_ID 0
#define XPAR_PS7_QSPI_0_BASEADDR 0xE000D000
#define XPAR_PS7_QSPI_0_HIGHADDR 0xE000DFFF
#define XPAR_PS7_QSPI_0_QSPI_CLK_FREQ_HZ 125000000
#define XPAR_PS7_QSPI_0_QSPI_MODE 2  //0-single  2-parallel
#define XPAR_PS7_QSPI_0_QSPI_BUS_WIDTH 3  //2-single  3-parallel


/******************************************************************/

/* Canonical definitions for peripheral PS7_QSPI_0 */
#define XPAR_XQSPIPS_0_DEVICE_ID XPAR_PS7_QSPI_0_DEVICE_ID
#define XPAR_XQSPIPS_0_BASEADDR 0xE000D000
#define XPAR_XQSPIPS_0_HIGHADDR 0xE000DFFF
#define XPAR_XQSPIPS_0_QSPI_CLK_FREQ_HZ 125000000
#define XPAR_XQSPIPS_0_QSPI_MODE 2  //0-single  2-parallel
#define XPAR_XQSPIPS_0_QSPI_BUS_WIDTH 3  //2-single  3-parallel

        如果参数为parallel模式,但是烧写BOOT.bin使用qspi-x4-single,会因为fsbl启动时无法读取BIN导致启动失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值