UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Observer rampage
Observer
760 次查看
注册日期: ‎01-14-2019

eaglego hd的video初始化失败 Exception: Cannot read target memory.

我最近在用eaglego  hd这块板。商家给的white_balance例程(应该不会有错),我编译成功,

 

然后把程序烧进板子里。

下载程序的方法是::Run as ---launch on hardware

下载完程序之后,SDSOC弹出这个界面

微信图片_20190131222706.png

烧录程序时,SDX log的信息如下:

10:11:29 INFO : Registering command handlers for SDK TCF services
10:11:30 INFO : Launching XSCT server: xsct.bat -interactive C:\Users\huangjianhua\test\temp_xsdb_launch_script.tcl
10:11:35 INFO : Validating SDSoC License
10:11:43 INFO : License available for SDSoC
10:11:43 INFO : Validating SDAccel License
10:11:44 INFO : License for SDAccel is unavailable
10:11:45 INFO : XSCT server has started successfully.
10:11:49 INFO : Successfully done setting XSCT server connection channel
10:11:49 INFO : Successfully done setting SDK workspace
10:32:37 INFO : Connected to target on host '127.0.0.1' and port '3121'.
10:32:38 INFO : Jtag cable 'Platform Cable USB 000018ff2c3301' is selected.
10:32:38 INFO : 'jtag frequency' command is executed.
10:32:38 INFO : Sourcing of 'E:/GradDesg/snowleo2/hw/vivado/snowleo2.sdk/snowleo2_wrapper_hw_platform_0/ps7_init.tcl' is done.
10:32:38 INFO : Context for 'APU' is selected.
10:32:38 INFO : System reset is completed.
10:32:41 INFO : 'after 3000' command is executed.
10:32:41 INFO : 'targets -set -filter {jtag_cable_name =~ "Platform Cable USB 000018ff2c3301" && level==0} -index 1' command is executed.
10:32:50 INFO : FPGA configured successfully with bitstream "C:/Users/huangjianhua/test/NO2/Debug/NO2.elf.bit"
10:32:50 INFO : Context for 'APU' is selected.
10:32:50 INFO : Hardware design information is loaded from 'C:/Users/huangjianhua/test/NO2/Debug/_sds/p0/ipi/snowleo2.sdk/snowleo2_wrapper.hdf'.
10:32:50 INFO : Context for 'APU' is selected.
10:32:52 INFO : 'ps7_init' command is executed.
10:32:52 INFO : Context for processor 'ps7_cortexa9_0' is selected.
10:32:53 INFO : The application 'C:/Users/huangjianhua/test/NO2/Debug/NO2.elf' is downloaded to processor 'ps7_cortexa9_0'.
10:32:53 INFO : ----------------XSDB Script----------------
connect -url tcp:127.0.0.1:3121
source E:/GradDesg/snowleo2/hw/vivado/snowleo2.sdk/snowleo2_wrapper_hw_platform_0/ps7_init.tcl
targets -set -nocase -filter {name =~"APU*" && jtag_cable_name =~ "Platform Cable USB 000018ff2c3301"} -index 0
rst -system
after 3000
targets -set -filter {jtag_cable_name =~ "Platform Cable USB 000018ff2c3301" && level==0} -index 1
fpga -file C:/Users/huangjianhua/test/NO2/Debug/NO2.elf.bit
targets -set -nocase -filter {name =~"APU*" && jtag_cable_name =~ "Platform Cable USB 000018ff2c3301"} -index 0
loadhw C:/Users/huangjianhua/test/NO2/Debug/_sds/p0/ipi/snowleo2.sdk/snowleo2_wrapper.hdf
targets -set -nocase -filter {name =~"APU*" && jtag_cable_name =~ "Platform Cable USB 000018ff2c3301"} -index 0
ps7_init
targets -set -nocase -filter {name =~ "ARM*#0" && jtag_cable_name =~ "Platform Cable USB 000018ff2c3301"} -index 0
dow C:/Users/huangjianhua/test/NO2/Debug/NO2.elf
----------------End of Script----------------

10:32:54 INFO : Memory regions updated for context APU
10:32:54 INFO : Context for processor 'ps7_cortexa9_0' is selected.
10:32:54 INFO : 'con' command is executed.
10:32:54 INFO : ----------------XSDB Script (After Launch)----------------
targets -set -nocase -filter {name =~ "ARM*#0" && jtag_cable_name =~ "Platform Cable USB 000018ff2c3301"} -index 0
con
----------------End of Script----------------

10:32:54 INFO : Launch script is exported to file 'C:\Users\huangjianhua\test\.sdk\launch_scripts\xilinx_sdsoc_application\system_debugger_using_debug_no2.elf_on_local.tcl'

 1.

从上述信息来看,我应该是下载程序成功了吧??

 

2.

现在我debug发现程序卡在一个地方了。

static INLINE void Xil_Out32(UINTPTR Addr, u32 Value)
{
volatile u32 *LocalAddr = (volatile u32 *)Addr;
*LocalAddr = Value;          卡在这里了
}

 Xil_Out32(UINTPTR Addr, u32 Value)操作的地址是0x40010000,可能是DDR访问错误???

0 项奖励
7 条回复7
Moderator
Moderator
728 次查看
注册日期: ‎08-02-2007

回复: eaglego hd的HDMI没有显示

你是用Xilinx的HDMI demo还是? HDMI monitor和HDMI cable是好的?

 

0 项奖励
Observer rampage
Observer
716 次查看
注册日期: ‎01-14-2019

回复: eaglego hd的HDMI没有显示

@nathanx

1.我用的是威视锐公司提供的白平衡例程,就是摄像头采集数据,然后对图像进行处理,再显示。现在我debug发现程序卡在一个地方了。

static INLINE void Xil_Out32(UINTPTR Addr, u32 Value)
{
volatile u32 *LocalAddr = (volatile u32 *)Addr;
*LocalAddr = Value;          卡在这里了
}

报错:Exception: Cannot read target memory. Memory read error at 0x40010000. Cannot access virtual memory. Execution context is running

 2.这个问题我听不懂。我刚接触这块板还没到一个月。没有基础。但是我比较肯定硬件没有问题。

0 项奖励
Xilinx Employee
Xilinx Employee
708 次查看
注册日期: ‎09-14-2018

回复: eaglego hd的HDMI没有显示

hi

1. 你debug的设置是怎样的?可否截图看下。

2. Xil_Out32(UINTPTR Addr, u32 Value)操作的地址是什么?

供参考~

0 项奖励
Observer rampage
Observer
681 次查看
注册日期: ‎01-14-2019

回复: eaglego hd的HDMI没有显示

@chaoz

1.debug截图

V[)ZC_4@SCVD@J(8RKSFPLG.jpg

不知你说的是不是这张截图呢??

2.Xil_Out32(UINTPTR Addr, u32 Value)操作的地址是0x40010000

0 项奖励
Observer rampage
Observer
531 次查看
注册日期: ‎01-14-2019

回复: eaglego hd的HDMI没有显示

@chaoz

我发现板子运行了一段时间就自动复位了。应该设置出问题了。但是我又不知道是哪里的问题

0 项奖励
Xilinx Employee
Xilinx Employee
488 次查看
注册日期: ‎09-14-2018

回复: eaglego hd的HDMI没有显示

hi @rampage

1. 自动复位和前面所说程序卡住是同一个问题吗?是否可以理解程序卡住的现象其实是因为自动复位了?

2. 自动复位的时间时间间隔是否每次都一样?板子上是否有看门狗复位电路。因为是第三方板子,最好和第三方咨询下。

3. 如果跑别的程序会遇到这个问题吗,可以通过这点来判断是软件问题还是硬件问题。

----------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
----------------------------------------------------------------------------------------------

0 项奖励
Observer rampage
Observer
437 次查看
注册日期: ‎01-14-2019

回复: eaglego hd的HDMI没有显示

@chaoz

1.自动复位和前面所说程序卡住是同一个问题

2.自动复位的时间时间间隔是基本每次都一样。但是我debug发现好像每次引发复位(先假设卡死就是复位)的语句不一样。比如:

 

for (i = 0; i < FRAME_HEIGHT; i++) {
for (j = 0; j < FRAME_WIDTH; j++) {
#pragma AP PIPELINE II = 1
index = (i * FRAME_WIDTH + j);
thisPixel = input[index];

中间省略

output[index]=(Rnew | (Gnew<<8) | (Bnew<<16));
}
}

有时在j=4时就卡死了,有时又在j=5时卡死。

 

至于有没有看门狗电路,我还不知道。客服没回复我,估计是不回复的了。

3.跑别的程序依然会遇到这个问题。

4.我发现只要把HDMI的线拔掉,他就不会卡死。

0 项奖励