zynq u-boot編譯
1.BOOT.bin介紹
映像檔案BOOT.BIN一般包括:FSBL,Bitstream和SSBL這三個檔案,其中Bitstream是配置PL端程式,是可選項,在製作Linaro系統的時候並不需要。FSBL是first stage boot loader,檔案的製作需要使用Vivado環境;SSBL是Second Stage Boot Loader,這裡使用的是Xilinx公司提供的u-boot。
2.生成FSBL
參考《ZYNQ平臺學習–(2)生成FSBL》,生成FSBL的ELF檔案。
3.生成u-boot
u-boot採用的是xilinx官方提供的u-boot包來生成的。
先設定好Linux的開發環境,然後進入命令列模式。操作步驟如下所示。
1. 獲取u-boot包$ git clone git://git.xilinx.com/u-boot-xlnx.git
2. 根據使用的開發工具的版本,選擇對應的分支,例如在本專案中使用的Vivado 2015.4,故選擇u-boot的相應版本。
$ cd u-boot-xlnx
$ git checkout xilinx-v2015.4
3. 編輯配置檔案
對單板u-boot的配置主要通過配置標頭檔案來完成,比如xilinx提供的u-boot裡,如果要對zedboard配置,可以使用zynq_zed.h這個標頭檔案。配置指令如下:
$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zed_config
在實際使用,需要針對自己的板卡和應用進行一些修改。例如,板卡的名稱為zynq_seb。進入
u-boot-xlnx/configs
資料夾,將zynq_zed_defconfig
檔案複製一份,並重新命名為zynq_seb_defconfig
,該檔案用於配置板卡的功能。然後修改該檔案的內容,如下所示:
CONFIG_ARM=y CONFIG_ARCH_ZYNQ=y CONFIG_TARGET_ZYNQ_SEB=y CONFIG_DEFAULT_DEVICE_TREE="zynq-seb" # CONFIG_SYS_MALLOC_F is not set CONFIG_SPL=y CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_OF_EMBED=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y
主要是修改板卡名稱,其他的部分基本參照xilinx的zed。
進入u-boot-xlnx/include/configs
,將zynq_common.h
複製一份,修改名稱為zynq_seb.h
。然後修改啟動方式。修改的內容如下:
#define CONFIG_EXTRA_ENV_SETTINGS \
"ethaddr=00:0a:35:00:01:22\0" \
"kernel_image=uImage\0" \
"kernel_load_address=0x2080000\0" \
"devicetree_image=devicetree.dtb\0" \
"devicetree_load_address=0x2000000\0" \
"bitstream_image=fpga.bit\0" \
"fdt_high=0x20000000\0" \
"initrd_high=0x20000000\0" \
"sdboot= mmcinfo && " \
"echo - load ${bitstream_image} to PL... && " \
"fatload mmc 0 0x200000 ${bitstream_image} && " \
"fpga loadb 0 0x200000 ${filesize} && " \
"echo - Copying Linux from SD to RAM... && " \
"fatload mmc 0 ${kernel_load_address} ${kernel_image} && " \
"fatload mmc 0 ${devicetree_load_address} ${devicetree_image} && " \
"setenv bootargs console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait &&" \
"bootm ${kernel_load_address} - ${devicetree_load_address} \0" \
進入u-boot-xlnx/arch/arm/dts
,將zynq-zed.dts
複製一份,重新命名為zynq-seb.dts
,在這裡直接借用ZED的裝置樹檔案,然後在u-boot-xlnx/arch/arm/dts/Makefile
中增加該裝置樹檔案。
4. 修改u-boot-xlnx/arch/arm/mach-zynq/Kconfig
檔案,增加如下內容:config TARGET ZYNQ_SEB
bool "Zynq SeBoard"
default "zynq_seb" if TARGET_ZYNQ_SEB
5. 編譯,使用如下指令:$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_seb_config
$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-
6. 將生產u-boot檔案改名為u-boot.elf。
4.合成BOOT.bin
開啟SDK軟體,進入工程。開啟Xilinx Tools
-Create Boot Image
。如圖1所示。
圖1 生成BOOT
首先新增上一節中生成的FSBL檔案,然後新增u-boot.elf。然後點選Create Image
。生產BOOT.bin。
該檔案可以用來啟動ZYNQ。
相關推薦
zynq u-boot編譯
1.BOOT.bin介紹 映像檔案BOOT.BIN一般包括:FSBL,Bitstream和SSBL這三個檔案,其中Bitstream是配置PL端程式,是可選項,在製作Linaro系統的時候並不需要。FSBL是first stage boot loader,檔案的製作需要
RK-3399 U-boot編譯構建
介紹 RK3399我們可能在U-Boot中使用的主要功能: CPU:ARMv8 64位Big-Little架構, *大:雙核Cortex-A72 Little:四核Cortex-A53 IRAM:200KB DRAM:4GB-128MB雙通道 eMMC:支援e
ZYNQ U-BOOT 鑑權和解密方法(authentication和decryption)
轉至:https://blog.csdn.net/cph77777/article/details/79708982 ZYNQ U-BOOT 鑑權和解密方法 [email protected] 技術交流QQ群:691976956 ZYNQ 支援最新
u-boot編譯與燒錄
手上屯了好久的友善tiny210開發板和迅為4412開發板,一直沒怎麼用,因為課題需要用到嵌入式,需要自己編寫一些簡單的驅動和應用,於是又拿起了這兩塊板子。 從最基礎的u-boot開始吧,首先就是uboot的燒錄,看了兩個板子的手冊都是不一樣的。4412的板子通過超級終端進
TI davinci u-boot 編譯方法
1,下載最新的 u-boot for davinci 2,下載 ARM 交叉編譯工具(請下載 linux 版本,因為 u-boot 只能在 linux 環境下編譯) TI 推薦的是: CodeSourcery GNU Toolchain for ARM Processo
U-boot 編譯找不到 arm-none-linux
更改 Makefile 的arm 工具鏈路徑 if arm CORSS_COMPILE = /usr/local/arm_2007q1/bin/arm-none-linux-gnueabi- ( 自己的工具鏈路徑) endif
修改u-boot編譯選項以便支援使用arm-linux-gnueabihf-編譯器編譯(soft-float & VFP hard)
預設的u-boot編譯時使用的soft float api,而arm-linux-eabihf-預設使用的float預設是hard,使用arm-linux-gnueabihf-gcc -v可以找到選項--with-float=hard,而檢視arch/arm
全志H3 u-boot 編譯(一)
因為工作需要,最近開始折騰全志方案。手上的開發板式FriendlyARM的nanopi-M1-plus,友善之臂的板子做的還是可以滴,板子尺寸非常小,該有的介面都有,以後擴充套件的介面也基本預留出來了。 言歸正傳,這個板子的相關使用說明都需要從Wiki上查詢,Wiki上
ubuntu上u-boot的編譯
復制 span ubuntu虛擬機 str 可執行文件 linu 編譯 解壓 自定義 1,下載u-boot 2,將Windows中的u-boot復制到ubuntu虛擬機中自定義目錄並解壓 3,進入該目錄cd 4,安裝dtc:sudo apt-get install devi
u-boot的啟動、編譯過程和命令添加
U-BOOTu-boot的啟動、編譯過程和命令添加MCU:s5pv210開發板:unsp210u-boot:1.3.4一、簡介U-Boot是一種支持多架構,多操作系統的Bootloader(啟動引導程序)u-boot目前最新版本是:http://ftp.denx.de/pub/u-boot/二、啟動過程嵌入式
u-boot.2012.10——mini2440(一、編譯測試)
圖片 doc bootp 服務器 存儲 分享 .com AS boa 參考資料:http://www.360doc.com/content/15/1107/16/6828497_511455732.shtml 1 、vi boards.cfg發現u-2012.10已經支持了
CCS編譯U-boot
51cto 如果 ges 修改 mark 源碼包 裝包 exist 安裝 CPU選用TI出的am335x,為方便調試采用CCS編譯U-boot。準備Uboot源碼包,交叉工具鏈,CCS安裝包。1.打開CCS,選擇File->new project,選擇“Makefil
uboot編譯突然出現has EABI version 5 but target u-boot has EABI ve
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
U-boot 配置與編譯
首先選擇預設配置: [email protected]:~/share/build/u-boot-2018.11$ make vexpress_ca15_tc2_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfi
編譯myzr的u-boot
source /my-imx6/03_tools/myimx6_31452_build_env 用echo $ARCH echo $GCC_PATH echo $CROSS_COMPILE 命令可以檢視配置是否生效 make distclean make myimx6ek200-6u_
U-boot移植之配置及編譯詳解 1
1.Uboot 的配置過程主要涉及四個檔案: uboot/makefile uboot/mkconfig uboot/config.mk uboot/board/samsung/smdkc110/u-boot.lds 2
u-boot打補丁以及編譯
u-boot 打補丁以及編譯 2018-11-18 u-boot-1.1.6.tar.bz2 是未經修改的原始碼, u-boot-1.1.6_jz2440.patch 是補丁檔案。對程式碼 的修改可以從補丁檔案中看出來。 執行以下操作即可編譯出 u-boot.b
U-boot配置及編譯階段流程巨集觀分析
原文地址:http://blog.csdn.net/qq_28992301/article/details/51814239 U-boot配置及編譯階段流程巨集觀分析 通過配置和編譯,我們才能從U-boot的原始碼得到可執行的程式。 本文以x210這塊板子(基於s
Zynq-Linux移植學習筆記之十-u-boot網路配置
在zynq開發板zc706上,網路通路由下面三個裝置組成: 其中zynq負責對phy進行配置,當zynq上的網路控制器以及phy完成正確配置時,能夠看到RJ45上面的黃燈亮,此時表明鏈路已經通了。如果u-boot中已經設定了IP地址,通過網線就可以ping通
編譯U-boot和Linux核心的步驟和詳解
1、準備材料 linux核心和uboot的原始碼包—- 6818GEC.tar.gz 環境:VMware12.0 Ubuntu16.04(64位) (1)先將 6818GEC.tar.gz 放在Ubuntu的共享目錄下,然後將 68