OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4970|回复: 3

[XILINX] QSPI Flash启动失败,报Bank Selection Failed

[复制链接]

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2020-3-17
在线时间
24 小时
发表于 2022-5-9 14:09:40 | 显示全部楼层 |阅读模式
20金钱
本帖最后由 mjs 于 2022-5-9 16:26 编辑

用的SDK的FSBL例程,启动时打印的信息如下

Xilinx First Stage Boot Loader

Release 2019.1 May 8 2022-18:20:27
Devcfg driver initialized
Silicon Version 3.1
Boot mode is QSPI
​
Single Flash Information
FlashID=0xEF 0x40 0x19
WINBOND 256M Bits
QSPI is in single flash connection
QSPI is in 4-bit mode
QSPI Init Done
Flash Base Address: 0xFC000000
Reboot status register: 0xF058200C
Multiboot Register: 0x0000C402
Image Start Address: 0x02010000
Bank Selection 2
​
BankSel 2 != Register Read 239

Bank Selection Failed

Move Image failed reading FsblLength
Get Header Start Address Failed
Partition Header Load Failed
FSBL Status = 0xA00E


烧录程序的时候verify是OK的。调试运行FSBL程序,报错时的函数栈是main() > LoadBootImage() > GetPartitionHeaderInfo() > GetFsblLength() > QspiAccess() > SendBankSelect()。发现SendBankSelect()里有对MICRON_ID, MACRONIX_ID, SPANSION_ID型号Flash的代码,但没有WINBOND_ID的,所以失败了。Flash用的是W25Q256,是Winbond的。

想请教下正常启动会打印什么信息呢?是不是前面的分支走错了不应该进SendBankSelect()的?多谢大佬解答!
P.S. 生成boot.bin的时候架构选的是ZYNQ不是ZYNQ MP,然后两个核用了两个elf文件,是这个的关系吗?



boot.bin.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

821

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2033
金钱
2033
注册时间
2021-7-17
在线时间
635 小时
发表于 2022-5-9 16:39:44 | 显示全部楼层
回复

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2020-3-17
在线时间
24 小时
 楼主| 发表于 2022-5-18 14:05:07 | 显示全部楼层
有了点线索,在调试的时候把Image Start Address设为0就可以从Flash加载核0的程序了。但直接运行就算出来不是这个值,另外bitstream和核1的程序也不知道是啥地址。求大佬解答
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2023-7-31
在线时间
4 小时
发表于 2024-2-23 14:24:46 | 显示全部楼层
同问!!!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 10:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表