zynq linux移植

上传人:101****457 文档编号:88684905 上传时间:2019-05-06 格式:DOCX 页数:14 大小:921.66KB
返回 下载 相关 举报
zynq  linux移植_第1页
第1页 / 共14页
zynq  linux移植_第2页
第2页 / 共14页
zynq  linux移植_第3页
第3页 / 共14页
zynq  linux移植_第4页
第4页 / 共14页
zynq  linux移植_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《zynq linux移植》由会员分享,可在线阅读,更多相关《zynq linux移植(14页珍藏版)》请在金锄头文库上搜索。

1、1. 安装VMware Workstation 102. 装载Fedora17的镜像。3. 安装完毕后,启动。从Application中添加Terninal到Activitise。4. 切换到root用户。命令:su root。需要输入构建系统时的root账户密码。5. 更新Fadora。命令:yum update。6. 切换回自己用户。 su bill7. 从Mentor上下载交叉编译工具:arm-2013.11.3.-arm-none-linux-gnueabi.bin,并拷到Linux的home/(用户)下。8. 安装交叉编译工具。首先修改安装工具的执行权限,chmod +x *.bin

2、 ;安装命令: ./ arm-2013.11.3.-arm-none-linux-gnueabi.bin9. 然后再次用安装命令开始GNU安装: ./ arm-2013.11.3.-arm-none-linux-gnueabi.bin10. 设置环境变量PATH。export PATH=/home/bill/MentorGraphics/Sour.-linux/bin:$PATH。11. 设置环境变量。export CROSS_COMPILE=arm-none-linux-gnueabi-12. 构建u-boot. 1) 参考附录1,从Github上下载u-boot的源码库(http:/ u-

3、boot-xlnx release xilinx-v2013.4 Source code(tar.gz)或(zip)2) cd xilinx_vivado134/u-boot-xlnx-xilinx-v2013.43) make distclean由于U-boot中的UART使用的时钟默认是50MHz,而vivado构建的系统中UART的时钟是100MHz,导致UART的波特率不是设置要求的115200.故要求修改构建U-boot的源文件xilinx u-boot-xlnx-xilinx-v2013.4includeconfigszynq_common.h。简单方法就是在桌面中找到该文件双击打

4、开,修改下列代码的红色处:将50000000改为100000000.保存退出。步骤:1. cd include/configs2. gedit zynq_common.h3. 检查48行和54行是否为100000000,(源文件默认是50000000)。即PS-UART的配置源代码如下:/* Zynq serial driver */#ifdef CONFIG_ZYNQ_SERIAL_UART0# define CONFIG_ZYNQ_SERIAL_BASEADDR0 0xE0000000# define CONFIG_ZYNQ_SERIAL_BAUDRATE0 CONFIG_BAUDRATE

5、# define CONFIG_ZYNQ_SERIAL_CLOCK0 50000000 客户如果用的是uart0,看看这个时钟频率和客户在xps里面配置的是否一致#endif#ifdef CONFIG_ZYNQ_SERIAL_UART1# define CONFIG_ZYNQ_SERIAL_BASEADDR1 0xE0001000# define CONFIG_ZYNQ_SERIAL_BAUDRATE1 CONFIG_BAUDRATE# define CONFIG_ZYNQ_SERIAL_CLOCK1 50000000 客户如果用的是uart1,看看这个时钟频率和客户在xps里面配置的是否一致

6、#endif4. Save,Quit5. 退回到xilinx u-boot-xlnx-xilinx-v2013.4。cd .6. cd .7. pwd. 确认在xilinx u-boot-xlnx-xilinx-v2013.4路径下。4) make zynq_zed_config5) make正确的显示截图如下:6) 拷贝u-boot到Win7文件夹下,并重命名u-boot.elf。(vmware下可以直接将u-boot拖到win7下)。7) 在SDK中,利用toolsCreate zynq image,将FSBL、System.bit、u-boot.elf一起生成boot镜像文件(注意三者的

7、顺序不能颠倒)。最后将U-boot.bin,改为BOOT.BIN,拷入sd卡。13. 构建kernel内核1 参考附录1,从Github上下载Kernel的源码2 cd xilinx/linux- v2013.4/linux-xlnx-xilinx-v2013.4/3 (若需要,一般不用)。sudo yum y install gcc4 make ARCH=arm distclean5 make ARCH=arm xilinx_zynq_defconfig6 将终端设置为全屏,然后敲 make ARCH=arm menuconfig选择Device Drivers=Block Device关于

8、Ramdisk大小和个数改成下面的值(8) Default number of RAM disks (32768) Default RAM disk size (kbytes)OK,Save,Exit,Exit,7 make ARCH=arm uImage LOADADDR=0x00100000,在linux-xlnx-xilinx-v2013.4下开始构建内核镜像。(约十几分钟)。8 若出现找不到mkimage命令,那么在u-boot-mastertools执行拷贝命令cp mkimage usrbin9 运行后的结果:10 拷贝uImage到win7的文件夹下。14. Device-tre

9、e的生成。1. 拷贝linux-xlnx-xilinx-v2013.4archarmbootdtszynq_zed.dts到linux-xlnx-xilinx-v2013.4,并修改文件名为devicetree.dts。在linux-xlnx-xilinx-v2013.4路径下:cp arch/boot/dts/zynq-zed.dts ./devicetree.dts(表示当前路径)2. 由于4.9的dts文件中不再默认对以太网的IP进行设置,故无法自动启动后无法访问到主机IP:192.168.1.10。故需要修改devicetree.dts3. ./scripts/dtc/dtc -O d

10、tb -I dts -o devicetree.dtb devicetree.dts4. 拷贝devicetree.dtb到win7的文件夹下。15创建文件系统和初始化文件:1:gunzip ramdisk.image.gz 解压一个旧的ramdisk.image.gz,这个旧的ramdisk是支持多少M的没有关系,只是需要里面的目录树 2:mkdir tmp_mnt 创建一个挂载旧ramdisk的目录 3:sudo mount -o loop ramdisk.image tmp_mnt/ 讲旧的ramdisk解压后的ramdisk.image文件挂载到tmp_mnt目录 4:dd if=/d

11、ev/zero of=ramdisknew.image bs=1024 count=32768 创建一个新的ramdisknew.image文件,这个ramdisk最大占用32MB的内存,此时ramdisknew.image文件里面没有任何目录,可以通过hexdump命令看到里面是全0. 5:mke2fs -F ramdisknew.image -L ramdisk -b 1024 -m 0 以ext2的方式格式化ramdisknew.image文件,此时通过hexdump命令可以看到里面已经有了一些数据 6:tune2fs ramdisknew.image -i 0 禁用时间检查 7:chm

12、od a+rwx ramdisknew.image 改变ramdisknew.image的访问属性 8:mkdir tmp_mnt_new 创建tmp_mnt_new目录以挂载ramdisknew.image 9:sudo mount -o loop ramdisknew.image tmp_mnt_new/ 将ramdisknew.image挂载到tmp_mnt_new目录 10:sudo cp -R tmp_mnt/* tmp_mnt_new/ 将ramdisk.image里面的目录树拷贝到ramdisknew.image里面 11:cp something/you/need tmp_mn

13、t_new/ 将你们编译出来的可执行文件拷贝到ramdisknew.image中 12:sudo umount tmp_mnt 卸载ramdisk.image 13:sudo umount tmp_mnt_new卸载ramdisknew.image 14:gzip ramdisknew.image压缩ramdisknew.image,得到ramdisknew.image.gz文件15: mkimage -A arm -T ramdisk -C gzip -d ramdisknew.image.gz uramdisk.image.gz 将ramdisk.image.gz添加一个64bytes的头

14、,生成uramdisk.image.gz16. 应用程序调试在SDK中生成U-BOOT镜像,改名成boot.binLinux软件调试1. 在SDK中,新建一个应用工程。2. 选择Linux平台。3. 选择程序模板4. 调试程序5. 配置调试平台若有提示,选Yes6. 在SDK的终端可以看到输出。7. 若想在Zynq的终端显示输出信息,应该在Zynq的Linux下执行该文件。8. 若需要自动启动则需要在生成ramdisk时将可执行文件拷进去。11改成:cp hellow_linux tmp_mnt_new/9. 最后的结果:特别提醒:3.6的内核,3.9的dts的混搭一般一定会出问题,必须版本匹配。不搞一套,几乎肯定会出问题。搞成一套是必须的。附录1 github上下载内核gz压缩包的方法Step1:在浏览器中输入https:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号