ZYBO基础环境配置篇--------UBOOT编译和linux裁剪

一.环境需要开发工具和软件包

  • 开发工具: vivado 2015. 2
  • 软件包

二. 编译UBOOT

  • 安装 openssl
    sudo apt-get install libssl-dev
  • 安装gcc编译器
    • 解压文件夹
tar -xvf arm-linux-gcc-4.4.3-20100728.tar.gz
  • 环境变量
    将gcc的bin文件路径添加到PATH
gedit ~/.bashrc
# 将下面信息加入文件中 /home/jinshan/桌面/arm/lab10/ 根据自己路径修改
export PATH=/home/jinshan/桌面/arm/lab10/arm-2013.11/bin:$PATH
# 环境变量生效
source ~/.bashrc
  • 查看gcc版本
arm-none-eabi-gcc -v

这里写图片描述
- 安装 sourceryg++-2016.11-64-ia16-elf-x86_64-linux-gnu.

# 授予执行权限, 安装时候全部默认安装,无需修改
chmod 777 sourceryg++-2016.11-64-ia16-elf-x86_64-linux-gnu.bin
./sourceryg++-2016.11-64-ia16-elf-x86_64-linux-gnu.bin    
  • 编译uboot生成u-boot
 cd   u-boot-xlnx-master
 # 新建运行脚本
 gedit install.sh
 # 将下列信息添加到里面
  CROSS_COMPILE=arm-none-eabi-
  export PATH=路径:$PATH  # 路径为sourceryg++-2016.11-64-ia16-elf-x86_64-linux-gnu.bin的所在文件目录
 make ARCH=arm CROSS_COMPILE=arm-none-eabi-  zynq_zed_config
  make ARCH=arm CROSS_COMPILE=arm-none-eabi-

# 运行脚本install.sh
sh install.sh                                               
  • 编译成功会生成u-boot可执行文件, 修改位u-boot.elf文件名
mv u-boot u-boot.elf

    接下来在vivado的SDK上生成UBOOT.BIN(省略....)
 

二.裁剪移植LINUX

  • 解压linux-digilent-digilent-v3.6.tar.gz
tar -zxvf linux-digilent-digilent-v3.6.tar.gz
  • 编译系统
cd linux-digilent-digilent-v3.6
# 新建install.sh
gedit install.sh
#加入下面内容
CROSS_COMPILE=arm-none-eabi- 
export PATH=路径:$PATH  # 路径为sourceryg++-2016.11-64-ia16-elf-x86_64-linux-gnu.bin的所在文件目录
make  ARCH=arm CROSS_COMPILE=arm-none-eabi-  digilent_zynq_defconfig 
make  ARCH=arm CROSS_COMPILE=arm-none-eabi-  menuconfig 
make  ARCH=arm CROSS_COMPILE=arm-none-eabi- 

# 保存install.sh文件后,执行它,进行编译

sh install.sh

  编译成功在boot文件夹下生成Image文件和zImage镜像文件
这里写图片描述
- 生成设备树DTB文件

#修改arch/arm/boot/dts/digilent-zed.dts文件chosen内容为
chosen {
        /*bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=1";*/
        bootargs = "console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M init=/init earlyprintk rootwait devtmpfs.mount=1"; 
        linux,stdout-path = "/axi@0/serial@e0001000";
    };

# 修改后执行,生成设备树文件devicetree_ext3.dtb 
./scripts/dtc/dtc -I dts -O dtb -o ../devicetree_ext3.dtb arch/arm/boot/dts/digilent-zed.dts
  • 最后将启动文件BOOT.BIN, linux内核镜像zImage, 设备树DTB文件和文件系统,拷贝到SD卡,插到实验板。
    JP5配置为SD
    串口设置为波特率115200,8位停止位,1位停止位,无校验位和数据流控制。通过串口终端查看RAMDISK启动的信息。  

猜你喜欢

转载自blog.csdn.net/jmu201521121021/article/details/80488500