首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» Ubuntu12.04下Xilinx MicroBlaze调试总结(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Ubuntu12.04下Xilinx MicroBlaze调试总结(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-8-20 16:44
|
只看该作者
Ubuntu12.04下Xilinx MicroBlaze调试总结(2)
Software
,
执行文件
然后,在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
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议