Zybo GPIO Demo Run Embedded Linux
1.Environment
Ubuntu 12.04 x86_64
Vivado 2013.4
SDK 2013.4
2.Pre-requisites
2.1 CodeSourcery arm-gcc toolchain lite 32-bit compatible
git clone https://github.com/xupsh/CodeSourcery.git
echo “export PATH=~/CodeSourcery/bin:$PATH” >> ~/.bashrc
echo “export CROSS_COMPILE=arm-xilinx-linux-gnueabi-“ >> ~/.bashrc
arm-xilinx-linux-gnueabi-gcc –v
2.2 fsbl Download
http://pan.baidu.com/s/1jGj1yLK
LinaroDemo-> boot_image
2.3 u-boot Download
http://pan.baidu.com/s/1dD6D2pz
git clone https://github.com/Xilinx/u-boot-xlnx.git
Click Download ZIP right hand
2.4 devicetree Download
http://pan.baidu.com/s/1pJyR4pl
2.5 Kernel Download
http://pan.baidu.com/s/1pJqec35
https://github.com/Xilinx/linux-xlnx
branch->tags->Xilinx-v2013.4
2.6Randisk Download
wget http://www.wiki.xilinx.com/file/view/arm_ramdisk.image.gz/419243558/arm_ramdisk.image.gz
3.Hardware
Open vivado,Create a new project named zybo_gpio_demo,Click next。

In the device selection pannel,we choose xc7z010clg400-1 destdevice。

Add a new block design,named design_1。


Click Add Ip button in the view window,and add ZYNQ IP Core.

Double Click IP Core to configure it。

Choose Import XPS Settings,Add ZYBO_zynq_def.xml,click OK。

Download Link:
http://www.digilentinc.com/Data/Products/ZYBO/ZYBO_def.zip

Now ZYNQ has been configured and fit for zybo。

Click OK,go back to block design,click Add Ip button again,Insert GPIO IP core。

Double click GPIO core to config it:

The configuration is as follows:open Dual Channel,Set the bit width of each channel to 4bit。

Click Run Block Automation in the, and Run Connection Automation tips column, and Vivado will auto connection and configure。Click ok in all the pop-up dialogs。


Click refresh button at bottom left,the result is as follows。


In Source window, choose Sources tab,right click design_1, choose Generate Output Products…


Right click zynq_system_1,choose Create HDL Wrapper,Keep default,click OK, Vivado will generate a top file for IP subsystem。


Right click Constraints->constrs_1 and choose Add Source。

In the pop-up dialog,choose Create File…,rename it to system.xdc。

http://www.digilentinc.com/Data/Products/ZYBO/ZYBO_Master_xdc.zip
reference ZYBO_Master.xdc, add LED and SW constraints altogether 8 lines。

Finally,In Flow Navigator,expand Program and Debug,click Generate Bitstream.

When bitstream generated,Bitstream Generation successful completed dialog will be open, Choose Open Implementation Design,Click OK to finish.

In IP Integrator Item, click Open Block Design,choose zynq_system_1.bd,reopen the Block Design we built.

Choose File > Export > Export Hardware for SDK….,Export Hardware for SDK dialogue will be open,make sure Include bitstream and Launch SDK has been choosed.


4.Linux
4.1Compile u-boot
Enter u-boot source code folder and modify the boot file:
vi ./include/configs/zynq_zed.h
Modify line 39, insert code:
#define CONFIG_ZYNQ_PS_CLK_FREQ 50000000UL
Run the following command in u-boot source code folder.
make zynq_zed config
make
cp u-boot u-boot.elf
4.2Compile Kernel
Enter kernel source code folder, and run the following command.
cd linux-xlnx-xilinx-v2013.4
make ARCH=arm xilinx_zynq_defconfig
make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage
cp arch/arm/boot/uImage .
4.3 Change Randisk
Run the following command and do the modify:
cp arm_ramdisk.image.gz ramdisk.image.gz
gunzip ramdisk.image.gz
mkdir file_tmp
mount ramdisk.image –o loop ./file_tmp/
Run the following command to repack to uramdisk:
sudo umount file_tmp/
gzip ramdisk.image
sudo apt-get install u-boot-tools
mkimage –A arm –T ramdisk –C gzip –d ramdisk.image.gz uramdisk.image.gz
5.References
5.1 My source references
http://pan.baidu.com/s/1bnq23UZ
5.2 Zybo Demo
http://www.digilentchina.com/product-more.asp?ClassId=1&Unid=367
5.3 Zybo Design Engineer Source
http://www.digilentinc.com/Products/Detail.cfm?Prod=ZYBO
6.Tips
6.1 If there are no mmcblk0p2 in the /dev/ folder?
You can connect the sdio(mmc) part to the arm processer in the ZYNQ IP configuration window

6.2 How to boot arm ubuntu with auto login?
solution: modify /etc/init/ttyPS0.conf, insert a line in the end,
exec /bin/login -f root < /dev/ttyPS0 > /dev/ttyPS0 2>&1
Zybo GPIO Demo Run Embedded Linux的更多相关文章
- 构建自己的embedded linux系统
[教程]使用buildroot完全自定义自己的embedded linux系统(nand)http://www.eeboard.com/bbs/thread-38377-1-1.html [教程] [ ...
- 【转载】关于Embedded Linux启动的经典问题
转载自:http://linux.chinaunix.net/techdoc/install/2009/04/13/1107608.shtml 发信人: armlinux (armlinux), 信区 ...
- How to build and run ARM Linux on QEMU from scratch
This blog shows how to run ARM Linux on QEMU! This can be used as a base for later projects using th ...
- Qt for Embedded Linux
1. Qt for Embedded Linux http://doc.qt.io/qt-5/embedded-linux.html 2. Installing Qt for Embedded Lin ...
- 虹软人脸识别——官方 Qt Demo 移植到 Linux
一.前言 最近需要在 Linux 平台下开发一个人脸识别相关的应用,用到了虹软的人脸识别 SDK.之前在 Windows 平台用过,感觉不错,SDK 里面还带了 Demo 可以快速看到效果.打开 Li ...
- postgresql9.5 run 文件linux安装后配置成开机服务
网上出现的比较多安装方法要么是源码安装,要么是yum安装,我发觉都要配置很多属性,比较麻烦,所以现在我在centos7长用 run文件来安装 http://get.enterprisedb.com/p ...
- Understanding Memory Technology Devices in Embedded Linux
转: NAND Chip Drivers NAND technology users such as USB pen drives, DOMs, Compact Flash memory, and S ...
- 记第一次使用NET CORE 2.2 完成的DEMO部署在LINUX并且上线
.NET CORE 这么久了一直没有成功打通过,今天花了点儿时间做了一个小DEMO,首次完成并且部署上线.记录一下. DEMO中只是测试了一下从MSSQL中获取数据,并且显示在页面上,涉及到了数据库连 ...
- Qt4.8.6 Embedded Linux 的编译与移植
最近买了个飞凌ok6410 的开发板,于是在其中搭建qt4.8.6运行环境.费了两三天时间,主要还是对Linux系统的生疏,在一些问题上徘徊很久,在这里做一些过程笔记.烧写ARM-Linux系统,根据 ...
随机推荐
- java内存溢出和内存泄露
虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险. 最近在网上搜集了一些资料,现整理如下: —————————————————————————————————————— ...
- sh6.脚本磁盘分区格式化
练习1. 写一个脚本,通过ping 命令测试192.168.0.100到192.168.0.254之间的所有主机是否在线, 如果在线,就显示"ip is up."IP为真实IP地址 ...
- php7 安装redis扩展
从pecl下载的phpredis扩展在make时报错,google了一下,解决办法,因为phpredis 有专门为php7的分支,所以先git clone phpredis下来 git clone h ...
- sqlserver 中数据导入到mysql中的方法以及注意事项
数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...
- Google之Chromium浏览器源码学习——base公共通用库(一)
Google的优秀C++开源项目繁多,其中的Chromium浏览器项目可以说是很具有代表性的,此外还包括其第三开发开源库或是自己的优秀开源库,可以根据需要抽取自己感兴趣的部分.在研究.学习该项目前的时 ...
- ORA-12638:身份证明检索失败
本地Sqlplus 连一远程数据库,出现 ORA-12638: 身份证明检索失败,pl/sql developer 也是同样的问题,tnsping 是没有问题的. 找到本地的sqlnet.ora文件, ...
- 文件管理[Linux]
文件系统 rootfs: 根文件系统 /boot 系统启动相关的文件,如内核.initrd.以及grub(bootloader) /dev 设备文件 块设备 随机访问 字符设备 线性访问 设备号 主设 ...
- opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较
opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较 参考: http://wenku.baidu.com/link?url=1aDYAJBCrrK-uk2w3sSNai7h52x_ ...
- shell获取文件最后100行,开头100行,指定开始行和结束行的内容
文件最后100行:tail -n100 filePath: 文件开头100行:head -n100 filePath: 文件指定开始行和结束行的内容:sed '1,100p' filePath: 文件 ...
- SQL 语句与性能之执行顺序
select * , t3.Name from t1 left join t2 on t1.sysno = t2.Asysno left join t3 on t3.sysno = t2.Bsysno ...