专栏首页hank解决Xilinx ZCU106 Linux启动后没有响应问题。

解决Xilinx ZCU106 Linux启动后没有响应问题。

工作中,一直使用ZCU106,Linux都启动正常。今天同事拆开DDR保护金属外壳,看了DIMM条。

之后第一次启动Linux,登陆系统后,Linux不再有响应。后续启动Linux,有时在打印分配网络地址信息后,Linux不再有响应;有时打印emmc的错误信息后,,Linux不再有响应。后来更是没法从SD卡启动。 下面是emmc的错误信息:

```
[ 19.055784] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[ 19.071676] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 29.163776] mmc0: Timeout waiting for hardware cmd interrupt.
[ 29.169512] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 29.175944] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001002
[ 29.182376] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[ 29.188809] mmc0: sdhci: Argument: 0x00000c00 | Trn mode: 0x00000000
[ 29.195241] mmc0: sdhci: Present: 0x01ff0000 | Host ctl: 0x00000001
[ 29.201674] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080
[ 29.208106] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x0000fa07
[ 29.214539] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00018000
[ 29.220972] mmc0: sdhci: Int enab: 0x00ff0083 | Sig enab: 0x00ff0083
[ 29.227404] mmc0: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000001
[ 29.233837] mmc0: sdhci: Caps: 0x35ecc881 | Caps_1: 0x00002007
[ 29.240269] mmc0: sdhci: Cmd: 0x0000341a | Max curr: 0x00000000
[ 29.246701] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000
[ 29.253134] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 29.259566] mmc0: sdhci: Host ctl2: 0x00000000
[ 29.264002] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000000000
[ 29.271129] mmc0: sdhci: ============================================
```

在SDK里创建一个FSBL, 在文件的开始处添加“#define FSBL_DEBUG_DETAILED”,编译后运行,得到如下信息:

```
Xilinx Zynq MP First Stage Boot Loader
Release 2018.3 Oct 30 2019 - 15:19:20
Reset Mode : System Reset
Platform: Silicon (4.0), Cluster ID 0x80000000
Running on A53-0 (64-bit) Processor, Device Name: XCZU7EV
FMC VADJ Configuration Successful
Board Configuration successful
Processor Initialization Done
================= In Stage 2 ============
eMMC Boot Mode
XFSBL_ERROR_UNSUPPORTED_BOOT_MODE
Boot Device Initialization failed 0x6
================= In Stage Err ============
Fsbl Error Status: 0x0
```

FSBL检查到启动模式是eMMC, 对应值是0110。原来的启动模式是SD1, 对应值是1110。比较发现,启动模式的第四位发生了改变。重新设置拨码开关为SD1,也就是把sw6.4设置为off,再启动Linux,登陆系统后,Linux工作正常。 之前原因可能是sw6.4被碰到了一个中间位置。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PetaLinux使用bitbake提前下载所有软件包

    PetaLinux环境下,也可以使用Yocto/openembedded的bitbake。Xilinx ug1144有详细说明。 为了方便,我编写了以下脚本,导...

    hankfu
  • 下载Linux内核开发文档到本地查看

    看Linux代码,最好结合Linux内核开发文档。Linux内核开发文档在https://www.kernel.org/ ,访问速度慢。一般开发,也只需要某一个...

    hankfu
  • [分享] Xilinx MPSoC以太网调试思路

    在嵌入式系统里,以太网是一个基本的接口,既用于调试,也用于数据传输。所以在单板调试过程中,以太网是一个基本的任务。如果以太网工作正常,也可以说是一个重要的里程碑...

    hankfu
  • python检测主机存活端口

    py3study
  • 学术资讯|打破两项世界纪录,腾讯优图开源视频动作检测算法DBG

    近日,腾讯优图实验室提出一种新的视频动作检测算法DBG并开源,这是继今年4月人脸检测算法DSFD开源后,优图的又一次开源动作。

    优图实验室
  • 打破两项世界纪录,腾讯优图开源视频动作检测算法DBG

    ? 近日,腾讯优图实验室提出一种新的视频动作检测算法DBG并开源,这是继今年4月人脸检测算法DSFD开源后,优图的又一次开源动作。 目前,DBG算法在全球两大...

    腾讯技术工程官方号
  • 腾讯优图开源视频动作检测算法DBG,打破两项世界纪录

    腾讯优图实验室提出一种新的视频动作检测算法DBG已经开源,该算法在全球两大权威视频动作数据集ActivityNet-1.3和THUMOS14上均取得了第一。 ...

    腾讯开源
  • 博通要花1000亿美元收购高通,半导体史上最大收购案更像是炒作

    镁客网
  • Python Requests:prox

    推荐阅读:https://blog.csdn.net/wangzuxi/article/details/40377467  

    py3study
  • python整小时 整天时间戳获取算法

    py3study

扫码关注云+社区

领取腾讯云代金券