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_1choose 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的更多相关文章

  1. 构建自己的embedded linux系统

    [教程]使用buildroot完全自定义自己的embedded linux系统(nand)http://www.eeboard.com/bbs/thread-38377-1-1.html [教程] [ ...

  2. 【转载】关于Embedded Linux启动的经典问题

    转载自:http://linux.chinaunix.net/techdoc/install/2009/04/13/1107608.shtml 发信人: armlinux (armlinux), 信区 ...

  3. 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 ...

  4. Qt for Embedded Linux

    1. Qt for Embedded Linux http://doc.qt.io/qt-5/embedded-linux.html 2. Installing Qt for Embedded Lin ...

  5. 虹软人脸识别——官方 Qt Demo 移植到 Linux

    一.前言 最近需要在 Linux 平台下开发一个人脸识别相关的应用,用到了虹软的人脸识别 SDK.之前在 Windows 平台用过,感觉不错,SDK 里面还带了 Demo 可以快速看到效果.打开 Li ...

  6. postgresql9.5 run 文件linux安装后配置成开机服务

    网上出现的比较多安装方法要么是源码安装,要么是yum安装,我发觉都要配置很多属性,比较麻烦,所以现在我在centos7长用 run文件来安装 http://get.enterprisedb.com/p ...

  7. Understanding Memory Technology Devices in Embedded Linux

    转: NAND Chip Drivers NAND technology users such as USB pen drives, DOMs, Compact Flash memory, and S ...

  8. 记第一次使用NET CORE 2.2 完成的DEMO部署在LINUX并且上线

    .NET CORE 这么久了一直没有成功打通过,今天花了点儿时间做了一个小DEMO,首次完成并且部署上线.记录一下. DEMO中只是测试了一下从MSSQL中获取数据,并且显示在页面上,涉及到了数据库连 ...

  9. Qt4.8.6 Embedded Linux 的编译与移植

    最近买了个飞凌ok6410 的开发板,于是在其中搭建qt4.8.6运行环境.费了两三天时间,主要还是对Linux系统的生疏,在一些问题上徘徊很久,在这里做一些过程笔记.烧写ARM-Linux系统,根据 ...

随机推荐

  1. mysql安装时到最后start service时就不响应了的解决方法

  2. Java Web技术之Cookie

    Cookie:它是服务器在获取到用户的请求之后,把用户的请求中的重要资源保存在这个对象中,在给用户响应的时候,把这个对象发给客户端.然后浏览器接收到这个Cookie之后,浏览器会自动的把Cookie中 ...

  3. Tomcat7.0+的JNDI问题

    上次搭建spring+springmvc+mybatis框架时用的第三方连接池jar包,但是部署到tomcat中后访问没有问题,但是启动时报了个JNDI的错,我没用JNDI你给我报什么,fuck!把错 ...

  4. eclipse工具常用快捷键总结

    1.  ctrl + shift + r  可以根据类名快速找到你所需要的类名称 2.  ctrl + shift + i  debug的时候可以查看代码的值 3.  ctrl + shift + f ...

  5. Docker Container 配置独立IP

    1.宿主机安装网桥工具包 要是Linux可以工作在网桥模式,必须安装网桥工具bridge-utils,运行命令: yum install bridge-utils

  6. json 排序

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. js简单的设置快捷键,hotkeys捕获键盘键和组合键的输入

    设置快捷键 这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb). hotkeys on Githubhotkeys预览 创建 您将需要在您的系 ...

  8. 数学系列:XXX

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  9. 阿里云linux ecs服务器配置apache+php环境

    我们需要安装的软件有apache,php和MySQL. 首先关闭SELINUX(SELINUX是一个安全子系统,它能控制程序只能访问特定文件.如果不关闭,你可能访问文件受限): vi /etc/sel ...

  10. Puppet自动化部署-前期环境准备(2)

    在安装Puppet环境之前需要配置好机器的基本配置,如规范网络地址IP.hostname,certname认证名称,ntp时间同步等配置完毕,完善的搭建自动化环境. 1.环境介绍 此处实现部署的环境是 ...