Learn ZYNQ (3)

移植android3.3到ZedBoard

follow doc:Android移植Guide1.3.pdf

follow website:

sudo apt-get install git gnupg flex bison gperf build-essential zip curl
libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386
libreadline6-dev:i386 libgl1-mesa-glx:i386  libgl1-mesa-dev g++-multilib
mingw32 tofro-dos  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
uboot-mkimage gparted screen

从以下网址下载dk-6u45-linux-i586.bin

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html

进入编译目录

chmod u+x jdk-6u45-linux-i586.bin

./jdk-6u45-linux-i586.bin

mkdir -p /usr/lib/jvm

mv jdk1.6.0_45 /usr/lib/jvm/

update-alternatives --install "/usr/bin/java" "java"
"/usr/lib/jvm/jdk1.6.0_45/bin/java" 1

update-alternatives --install "/usr/bin/javac" "javac"
"/usr/lib/jvm/jdk1.6.0_45/bin/javac" 1

update-alternatives --install "/usr/bin/javaws" "javaws"
"/usr/lib/jvm/jdk1.6.0_45/bin/javaws" 1

update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so"
"mozilla-javaplugin.so" "/usr/lib/jvm/jdk1.6.0_45/jre/lib/i386/libnpjp2.so"
1

update-alternatives --config java

update-alternatives --config javac

update-alternatives --config javaws

update-alternatives --config mozilla-javaplugin.so

下载Linux 源

git clone https://github.com/Digilent/linux-digilent.git

下载Android Kernel

git clone https://android.googlesource.com/kernel/common -b android-3.3

在疆目录下建立bin目录并将其添加到path环境变量,并下载REPO脚本

mkdir ~/bin

export PATH=~/bin:$PATH

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo >
~/bin/repo

给repo加权限

chmod a+x ~/bin/repo

cd YourWorkspace

新建repo疆目录,repo将安装在此目录下,然后安装最新的repo

repo init -u https://android.googlesource.com/platform/manifest

repo init -u https://android.googlesource.com/platform/manifest -b
android-4.0.1_r1

repo sync

准备BOOT.BIN(FSBL,SSBL,)

下载wget
http://www.digilentinc.com/Data/Products/ZedBoard/ZedBoard_Linux_Design.zip

解压后在sd_image目录下可以发现sd卡boot分区需要装载的所有文件

VGA(HDMI)

[Hardware Design Source
folder]:/root/android_for_zed/ZedBoard_Linux_Design/

[Xillinux sources folder] :
/root/android_for_zed/xillinux-eval-zedboard-1.2/

下载http://www.xillybus.com/downloads/xillinux-eval-zedboard-1.2.zip

cd ~/android_for_zed/

cp -r xillinux-eval-zedboard-1.2/system/pcores/xillyvga_v1_00_a/
ZedBoard_Linux_Design/hw/xps_proj/pcores/

cd
~/android_for_zed/ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a

mkdir netlist

安装ISE14.4

用ISE打开~/android_for_zed/xillinux-eval-zedboard-1.2/runonce

regenerate core

完成后:

cd ~/android_for_zed/

cp xillinux-eval-zedboard-1.2/runonce/vga_fifo.v
ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a/hdl/verilog/

cp xillinux-eval-zedboard-1.2/runonce/vga_fifo.ngc
ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a/netlist/

cp xillinux-eval-zedboard-1.2/cores/xillyvga_core.ngc
ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a/netlist/

cd
~/android_for_zed/ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a/data

vi xillyvga_v2_1_0.pao

加入一行lib xillyvga_v1_00_a vga_fifo verilog

cd
~/android_for_zed/ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a/hdl/verilog

vi xillyvga.v

最后加入一段

FDCE vga_iob_ff[13:0] (

.Q({vga_red, vga_green, vga_blue,
vga_hsync, vga_vsync}),

.D({vga_red_app[7:4],
vga_green_app[7:4], vga_blue_app[7:4], vga_hsync_app, vga_vsync_app}),

.C(vga_clk_app),

.CE(1‘b1),

.CLR(1‘b0)

);

在第69行修改

output [3:0] vga_blue,

output [3:0] vga_green,

output  vga_hsync,

output [3:0] vga_red,

cd
~/android_for_zed/ZedBoard_Linux_Design/hw/xps_proj/pcores/xillyvga_v1_00_a/data/

vi xillyvga_v2_1_0.bbd

加入以下3行:

Files

#####

vga_fifo.ngc,xillyvga_core.ngc

vi xillyvga_v2_1_0.mpd

第90行那里,改三行:

PORT vga_red = "", DIR = O, VEC = [3:0]

PORT vga_green = "", DIR = O, VEC = [3:0]

PORT vga_blue = "", DIR = O, VEC = [3:0]

第7行后插入两行:

OPTION STYLE = MIX

OPTION RUN_NGCBUILDF = TRUE

用ISE的XPS打开~/android_for_zed/ZedBoard_Linux_Design/hw/xps_proj/system.xps如下图

点击BUS INTERFACE的TAB页

删除axi_hdmi_tx_16_b0, axi_iic_hdmi, axi_vdma_0共三项

打开system.mhs,修改152行去掉hdmi_int,

点IP Catalog ->Project local PCores ->User -> XILLYVGA

将VGA通过INTERCONNECT3链接到ZYNC,其他接线如图所示

点Ports->Xillvga_0,将如图所示几个端口MakeExernel

OK,Generate bitstream.

4 Prepare the kernel for Android

git log --pretty=oneline --format="%Cgreen%h %Creset%s" --grep="Linux 3.3."
-n 20

显示20行:

7a84477 mtd: fix oops in dataflash driver

e2aa417 Merge tag ‘v3.3-rc7‘ into gpio/next

fde7d90 Linux 3.3-rc7

192cfd5 Linux 3.3-rc6

d5a74af Merge tag ‘iommu-fixes-v3.3-rc5‘ of
git://git.kernel.org/pub/scm/linux/k

e0e5ce5 Merge branch ‘imx/dt‘ of
git://git.linaro.org/people/shawnguo/linux-2.6

a0008bf Merge branch ‘lpc32xx/fixes-non-critical‘ of
git://git.antcom.de/linux-2

f2273ec Merge branch ‘lpc32xx/fixes‘ of git://git.antcom.de/linux-2.6 into
fixes

a173fc6 Merge branch ‘kirkwood/board‘ into next/boards

6b21d18 Linux 3.3-rc5

2daa79e Merge branch ‘lpc32xx/drivers‘ into next/drivers

fa2c8f4 Merge tag ‘v3.3-rc4‘ into for-3.4 in order to resolve the conflict
resol

b01543d Linux 3.3-rc4

ffafe77 Merge branch ‘v3.3-samsung-fixes-3‘ of
git://git.kernel.org/pub/scm/linu

082f53c Merge branch ‘for-arm-soc‘ of git://sources.calxeda.com/kernel/linux
int

a08a499 Merge tag ‘v3.3-rc3‘ as we‘ve got several bugfixes in there which are
co

d65b4e9 Linux 3.3-rc3

290436c Merge tag ‘v3.3-rc2‘ into perf/core

177f72f Merge tag ‘v3.3-rc2‘ into for-3.4

62aa2b5 Linux 3.3-rc2

以上源都含有Linux3.3.的字符

需要将patch放到Linux Kernel 顶层

git diff 192cfd5 HEAD > 3.3-rc6-to-Android.patch

有意个文件3.3-rc6-to-Android.patch出现在当前Linux根目录中了。

git apply --ignore-whitespace --ignore-space-change --check
3.3-rc6-to-Android.patch

weiwandaisxu

Learn ZYNQ (3),布布扣,bubuko.com

时间: 2024-10-12 22:27:39

Learn ZYNQ (3)的相关文章

Learn ZYNQ(2)

AXI HP接口的DMA+GIC编程(参照博客) 参照文档:UG873,博客文档 我的Vivado+SDK工程文件打包(60+M) 我的DMA驱动程序(未完成) Vivado 接线图: 地址分配: Learn ZYNQ(2),布布扣,bubuko.com

Learn ZYNQ (9)

创建zybo cluster的spark集群(计算层面): 1.每个节点都是同样的filesystem,mac地址冲突,故: vi ./etc/profile export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH export JAVA_HOME=/usr/lib/jdk1.7.0_55 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar export PA

Learn ZYNQ (8)

在zed的PS端运行spark: (1)设置uboot为sd卡启动rootfs: "sdboot=if mmcinfo; then " \                         "run uenvboot; " \                         "echo Copying Linux from SD to RAM... && " \                         "fatlo

Learn ZYNQ(10) – zybo cluster word count

1.配置环境说明 spark:5台zybo板,192.168.1.1master,其它4台为slave hadoop:192.168.1.1(外接SanDisk ) 2.单节点hadoop测试: 如果出现内存不足情况如下: 查看当前虚拟内存容量: free -m cd /mnt mkdir swap cd swap/ 创建一个swap文件 dd if=/dev/zero of=swapfile bs=1024 count=1000000 把生成的文件转换成swap文件 mkswap swapfi

Learn ZYNQ (7)

矩阵相乘的例子 参考博客:http://blog.csdn.net/kkk584520/article/details/18812321 MatrixMultiply.c typedef int data_type; #define N 5 void MatrixMultiply(data_type AA[N*N],data_type bb[N],data_type cc[N]) { int i,j; for(i = 0;i<N;i++) { data_type sum = 0; for(j =

ZYNQ 7000平台UDP数据包(1字节或2字节)校验和Checksum错误0xFFFF解决方案(linux+vxworks6.9平台)

在赛灵思ZYNQ 7000平台,使用UDP方式发送1字节或者2字节数据时,校验和为错误值0xffff,接收机无法正常接收ZYNQ7000平台发送的数据,本人已经找到该问题的解决方案,有该问题的朋友可以通过邮箱[email protected]与我联系,联系时请详细描述你的环境,针对该咨询提供的问题解决方案会收取一定的费用,费用不会太高,现在是知识付费的年代,希望各位理解,同时如果能够解决您的问题,也是为你节约了开支.我会及时回复邮件的.具体事项可以邮件沟通[email protected].

SylixOS 基于ZYNQ的时钟频率修改详解

概述 本文档以ZYNQ7000平台为例,详细介绍如何去修改ZYNQ的时钟频率. 时钟频率修改流程 ZYNQ7000的时钟频率修改流程,如图 2.1所示.具体步骤如下: 步骤一:解除ZYNQ7000的寄存器写锁定: 步骤二:向对应寄存器写入我们需要设置的PLL倍频值和PLL配置参数: 步骤三:进行PLL的旁路模式转换和软件重启,使我们刚刚设置的PLL倍频值和PLL配置参数生效: 步骤四:重新使寄存器处于写锁定状态. 图 2.1 ZYNQ7000的时钟频率修改流程图 ZYNQ7000的ARM_PLL

利用Zynq Soc创建一个嵌入式工程

英文题目:Using the Zynq SoC Processing System,参考自ADI的ug1165文档. 利用Zynq Soc创建一个嵌入式工程,该工程总体上包括五个步骤: 步骤一.新建空白工程 步骤二.创建一个Embedded Processor工程 步骤三.Zynq7 Processing System的管理 步骤四.综合仿真.编译运行.生成二进制文件 步骤五.Exporting Hardware to SDK 步骤一.新建工程 1. 点击Vivado图标启动软件,Create

Vivado Zynq 学习

目标 --------------------------------------------------- 视图菜单 (Vivado SDK) 文件目录 文件格式 流程:工程 -> 非工程 -> 脚本 Create Hardware Design Create Hardware IP Use    Hardware IP:  ARM AXI USB DMA RAM CLK RST Create Software Design 方法 ------------------------------