标题:
Ubuntu12.04下Xilinx MicroBlaze调试总结(2)
[打印本页]
作者:
yuyang911220
时间:
2015-8-20 16:44
标题:
Ubuntu12.04下Xilinx MicroBlaze调试总结(2)
然后,在Software Configuration中不能设置bootloop(这个在后面会用到),这里要制定之前生产的可执行文件,正如上面注明的,ELF File to Initialize in Block RAM,这是直接在Block RAM(BRAM)中初始化并执行的!
设置完成之后点击program。
ps:这里针对Digilent Atlys编程的时候需要设置JTAG,否则识别不了,具体的就是Menu->Xilinx Tools->Config JTAG Settings,在弹出的窗口中的JTAG Cable一栏中Type选择Digilent USB Cable,默认的Auto Detect在这里不能识别Digilent的USB编程器。如下图:
不过这里的Digilent USB Cable可能是因为我安装了Digilent的工具才有的,如果没有安装Digilent的工具,XUP课程中也提供了一种设置方法,如下图(此方法我没有验证过):
待编程结束后即可看到串口终端有信息输出:
到此程序运行成功!
b. 将一部分section放到其他的存储区(比如外部的DDR中),而不是全部放在bram中。
这个方法对于Memory Test程序来说可能不适用(因为Memory Test是测试DDR的,不能放在DDR中运行),对于其他程序来说就可以了。主要的过程是修改linkscript,即链接脚本,它是用来设置section存放的地址的。
设置如下,打开Generate linker script
在basic选项卡中可以设置Code/Data/Heap&Stack存放的地址,如果要放到DDR中可以选择mcv_ddr2_s0_AXI_BASEADDR
设置完成之后也能编译通过,不过如果要在外部DDR中运行,则需要做一些其他设置。如下图,FPGA编程的时候需要设置
Software Configuration部分的内容必须为bootloop(
这里不能够将生成的elf文件直接通过Program FPGA烧写进去,否则会报
“
elf check failed!
"
,参考链接如下:
http://forums.xilinx.com/t5/Embedded-Development-Tools/Programing-FPGA-Problem-elfcheck-failed/m-p/64667#M13690
)
。
编程结束后,
Menu->Xilinx Tools->XMD Console打开XMD控制台,然后在控制台中:
cd到可执行文件存放的目录
dow xxx.elf
run
如果想要在线调试,直接点击xsdk面板上的debug按钮即可。
不过在Ubuntu12.04下,点击debug会出现如下Error:
ERROR : Unexpected error while launching program. java.lang.RuntimeException: Error creating session
at com.xilinx.sdk.debug.core.XilinxAppLaunchConfigurationDelegate.debugApplication(Unknown Source)
at com.xilinx.sdk.debug.core.XilinxAppLaunchConfigurationDelegate.launch(Unknown Source)
查了一些资料发现是GDB的问题,链接如下:
http://forums.xilinx.com/t5/Embedded-Development-Tools/XMD-XSDK-Debugging-does-not-start-Error-creating-session/td-p/110328
(同时解决方法在第二页)
找到microblaze的gcc工具链目录并执行mb-gdb:
thinki@G31T-M2:/opt/Xilinx/14.5/ISE_DS/EDK/gnu/microblaze/lin/bin$ ./mb-gdb
./mb-gdb: error while loading shared libraries: libexpat.so.0: cannot open shared object file:
No such file or directory
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0