Ubuntu16.4学习之zedboard安装交叉编译环境和交叉编译流程

2019-07-13 07:31发布

上一篇中按照《嵌入式系统软硬件协同设计实战指南》配置之后发现并不好用,这次按照《xilinx zynq soc与嵌入式linux设计实战指南》进行配置一、基本概念:1、交叉编译:在一个平台上上生成另一个平台上可以执行的代码。2、通过交叉编译工具可以在CPU能力很强、存储空间足够的主机平台下(PC机)编译出针对其他平台的可执行代码。3、主机平台上安装交叉编译工具链,然后用他编译源代码,最终生成可在目标平台上运行的代码。二、安装过程1、 下载u-boot源码https://github.com/Xilinx/u-boot-xlnx/releases2、 下载交叉编译器源码:https://pan.baidu.com/share/link?shareid=2118817891&uk=2047711911&fid=1318083080227163、(1)
   (2)复制xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin至zedboard文件夹下  (3) chmod a+x xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin  增加可执行属性   (4) ./ xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin 安装交叉编译器   出现
(如果之前没有安装32位的库就会提示需要安装32的库。apt-get install lib32ncurses5 ​apt-get install lib32z1zcu102交叉编译链还需安装这个库sudo apt-get install lib32stdc++6))(5)此后步骤要先切换到root模式上个步骤提示安装失败,执行dpkg进行重配置输入sudo dpkg-reconfigure dash
弹出
按Tab键并选择NO(6)重新安装
根据命令提示,按enter键
最后提示安装完成(7)修改环境变量sudo gedit /etc/environment 
修改完之后保存(8)重启ubuntu,之后进入root模式输入arm-xilinx-linux-gnueabi-gcc -v最后显示
显示gcc的版本信息,表明交叉编译环境安装成功三、编译系统内核1.编译U-BOOT: 作用生成u-boot.elf用于生成BOOT.bin文件(1)解压u-boot源码压缩 tar -zxvf u-boot-xlnx-xilinx-v2017.3.tar.gz(2)针对zedboard开发板 make CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zed_config make CROSS_COMPILE=arm-xilinx-linux-gnueabi-
如果zcu102的话,make CROSS_COMPILE=aarch64-linux-gnu- xilinx_zynqmp_zcu102_rev1_0_configmake CROSS_COMPILE=aarch64-linux-gnu-  需要安装两个库
sudo apt-get install  libssl-devapt-get install device-tree-compiler2、编译内核: 生成uImage镜像文件内核下载地址:https://github.com/Xilinx/linux-xlnx/releases?after=zynq-soc-for-4.6(1)解压内核文件:tar -xzvf linux-xlnx-xilinx-v2017.3.tar.gz(2)进入解压后的文件(3)编译 对内核进行配置和编译make CROSS_COMPILE=arm-xilinx-linux-gnueabi- ARCH=arm xilinx_zynq_defconfigmake CROSS_COMPILE=arm-xilinx-linux-gnueabi- ARCH=arm

由图看到生成image和zimage镜像文件解释:ARCH=arm是指该体系架构时ARM架构,CROSS_COMPILE是指定交叉编译器,xilinx_zynq_defconfig是默认厂家的配置文件
以上过程很慢Zcu102:make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 xilinx_zynqmp_defconfigmake CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 3、制作启动镜像mkimage -f zcu102.its image.ub   将编译内核生成的Image和设备树文件*.dtb,生成image.ub文件 4、在sdk中,用fsbl文件,bit文件,u-boot.elf(点击Creat Boot Image按顺序添加这三个文件)生成BOOT.bin.5、放入SD卡为了zedboard上运行linux系统,需要启动文件BOOT.bin,linux内核镜像(zImage)、设备树(device tree blob)和文件系统。BOOT.bit和image.ub文件放入SDfat分区,根文件系统放入ext4分区。  http://www.wiki.xilinx.com/Zynq+UltraScale%EF%BC%8B+MPSoC+Ubuntu+part+2+-+Building+and+Running+the+Ubuntu+Desktop+From+Sources Eth: gcc serv.c -o serv  编译eth上位机源码生成可执行文件cd  /run/media/mmcblk0p1 sudo tar -zxvf ROO1.tar.gz -C /media/andychen/ROOT1route add default gw 10.12.13.2route –nifconfig wlan0 upiwlist wlan0 scanning | grep ESSIDiwconfig wlan0 essid "lijie"ubuntu 123456 修改DNS :echo nameserver 192.168.43.1 > /etc/resolv.confWindows cmd下查看交换机已用IP :arp –a