首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» zedboard的linux的交叉编译环境的建立
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
zedboard的linux的交叉编译环境的建立
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-9-9 21:47
|
只看该作者
zedboard的linux的交叉编译环境的建立
软件开发
,
软件设计
,
linux
,
虚拟机
,
Linux
要开发ZedBoard最重要的是Xilinx ISE工具集,在这个IDE里能够完成大部分的逻辑及底层软件开发工作。如果做裸奔开发,一个IDE足矣,但是若不想一辈子不穿衣服,需要涉及Linux下的软件设计,就得在Linux中进行编译。Xilinx的IDE里貌似也集成了开发Linux软件的相关环境,但兔子还不太会用,而且Linux下需要进行编译的东西太多了,很多地方SDK也无能为力,因此还是走传统路线——在Linux下建立Xilinx编译环境。首先在机器上面安装一个虚拟机,在上面安装ubnutu linux1 12.04 stl 版本,如果是64位机器的话需要安装32位的库文件。方法是 sudo apt-get install ia32-libs,如果是对64位系统发行版本的进一步说明的话访问:
http://sourcery.mentor.com/GNUToolchain/kbentry62
下一步是下载交叉编译环境网址是:
https://code.google.com/p/zedboard-book-source/downloads/detail?name=xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin&can=2&q=
安装交叉编译环境:Mentor网站上的一篇文章说,还需要32-bit版本的xulrunner,我这里没装过,但也能用,不放心的可以按照这里的步骤安装:
https://sourcery.mentor.com/GNUToolchain/kbentry62
之后在终端中输入:
dpkg-reconfigure dash
在弹出的对话框中选否,将dash改为bash,这样才能顺利执行Sourcery CodeBench安装程序。下载好的安装文件为:xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,在该文件路径下输入./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin打开安装程序,兔子选择默认路径(Do not modify PATH),装好后的执行文件路径为/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/,以后每次编译软件的时候都需要通过export指令将编译环境的路径加入PATH环境变量,后面编译一些内容的时候还会用需要修改ARCH,其指令如下:
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/
PATH
如果不想每次都输入,就在通过gedit /etc/bash.bashrc指令打开bash.bashrc文件,在里面加入上述指令,这样开机就会自动执行了,同样可以运行source /etc/bash.bashrc指令使设置立即生效,通过echo $PATH指令可以看到我们刚才设置的路径。下面让我们来编译点东西试试,首先是HelloWorld。找个地方新建一个hello.c文件,用gedit编辑,代码如下:#includeint main(void){ printf("Hello ZedBoard!\n"); return 0;} 在C文件所在目录中输入下面指令进行:arm-xilinx-linux-gnueabi-gcc hello.c在兔子电脑上生成了a.out文件,可能是以前设置的原因,不确定在你那里会叫什么呵呵。如图:
将生成的文件拷贝到U盘,连接到ZedBoard的USB OTG上,先挂载U盘,然后运行软件测试一下:
mount /dev/sda1 /mnt/
/mnt/a.out
至此交叉环境就搞定了,效果如下:
下面再编译个U-Boot试试,Xilinx在Wiki上也做了介绍:
http://wiki.xilinx.com/zynq-uboot
首先为自己选一个用于开发的目录,兔子的目录位于/arm/zed,这个依喜好自定啦。通过Git下载Xilinx U-Boot代码(注意,这里已经换名称了):
git clone git://git.xilinx.com/
u-boot-xlnx
.git
cd
u-boot-xlnx用我们之前安装的交叉编译环境进行编译,由于我们已经设置了环境变量,这里直接执行编译即可,先进行配置:
make zynq_zed_config
配置完成后编译:
make
编译结束后,会生成一个u-boot文件(没有后缀名),这是一个elf文件,将其另存为u-boot.elf。这个文件很重要,在我们以后生成Boot Loader时会用到,用到时再解释吧。之后我们就将开始设计自己的自定义AXI总线外设了,下次会为大家呈现一个通过GPIO读取Switch值并控制LED的IP,最终目的是在Linux下通过自己的软件控制这个硬件IP。来源:风飞向何处的博客
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议