petalinux启动命令出现以下错误信息如何定位问题?

问题描述 投票:0回答:1

当我在 petalinux 项目中发出以下命令时: petalinux-boot --jtag --fpga --bitstream ../system.bit --u-boot

我收到以下错误。当我在网上搜索时,我找不到任何答案:

rlwrap: warning: your $TERM is 'xterm-256color' but rlwrap couldn't find it in the terminfo database. Expect some problems.: Inappropriate ioctl for device

Memory read error at 0xF8007080. MMU section translation fault                         
    invoked from within
"::tcf::eval -progress {apply {{msg} {puts $msg}}} {tcf_send_command tcfchan#0 Memory get siiii {Bea{o{msg o{} A}}} {JTAG-jsn-DLC10-00001c72991001-4ba00477-0.0 4160778368 4 4 7}}"
    (procedure "::tcf::send_command" line 4)
    invoked from within
"::tcf::send_command $chan Memory get "siiii" "Bea{o{msg o{} A}}" [list $ctx $start_addr $size $nbytes $mode]"
    (procedure "mrd" line 87)
    invoked from within
"mrd 0xF8007080"
    (procedure "ps_version" line 2)
    invoked from within
"ps_version"
    (procedure "ps7_post_config" line 8)
    invoked from within
"ps7_post_config"
    (file "/tmp/tmp.8jPVijmAkY" line 12)
INFO: The XSDB log is as follows

我尝试通过搜索 Zynq 7000 板文档来解决该问题,我尝试在 AVNET 板上启动 Linux。在那里我发现以下内容: “MMU 可能找不到全局映射或当前所选 ASID 与 TLB 中虚拟地址的匹配非安全 TLB ID (NSTID) 的映射。在这种情况下,硬件会执行转换表遍历,如果转换表遍历由 TTB 控制寄存器中的 PD0 或 PD1 位启用。如果转换表遍历被禁用,处理器将返回段翻译错误。

进一步搜索可找到链接 https://support.xilinx.com/s/article/52033?language=en_US

不确定这是否有帮助。 如果输入命令 petalinux-boot --jtag --kernel --hw_server-url tcp:127.0.0.1:3121,我会得到同样的错误。对解决问题有帮助吗?

编辑:我尝试使用 XSCT,当我发出命令时

 xsct% dow "../zynq_fsbl.elf" 

我明白了

 : Memory write error at0x0. MMU section translation fault. 

对解决问题有帮助吗?

我已经执行过几次启动命令了。看来必须禁用 MMU 才能下载 FSBL,这是正确的吗?

embedded-linux petalinux
1个回答
0
投票

我写下这个答案是因为它可能会在未来帮助别人。问题是主板已经在运行某些东西,因此当我们尝试再次启动时,它给出了 MMU 转换错误。当尝试多次启动时可能会发生这种情况。解决办法是把板子断电,运行minicom或者其他串口连接软件,然后给出启动命令。

© www.soinside.com 2019 - 2024. All rights reserved.