QorIQ T1042/T1022系列通信處理器結合64位核心,基于Power Architecture技術建構而成。适用于內建控制和資料平台應用,如固定路由器、交換機、嵌入式接入裝置、防火牆和其他資料包過濾應用,以及通用嵌入式計算,它具備較高的內建度,可提供卓越的性能優勢,簡化設計;支援硬體協助虛拟化,核心提供額外的核心特權等級;內建QorIQ DPAA,可以安排核心、硬體加速器和網絡接口的工作,可以解析輸入資料包的頭檔案,然後采用可選政策和堵塞管理,對其分類并且選擇資料緩沖區,采用多級排程分層将工作配置設定到核心或者加速器。
本産品隻保留了SPI這一種啟動方式,T1042/T2080 demo闆的啟動方式支援SPI /NAND/SD,本産品的硬體資源描述如下
處理器 | CPU | Freescale QorIQ T1042 |
FLASH | Boot Flash | 32M SPI NOR Flash |
記憶體 | 類型 | DDR3L |
插槽 | N/A | |
容量 | 4GB | |
網絡 | 網絡接口 | 4x 10/100/1000M千兆網口PHY |
Bypass | 2 pairs Gen2 | |
控制晶片 | MV 1512 | |
管理接口 | 1 x 10/100/1000Mbps以太網接口 | |
擴充子產品 | N/A | |
存儲 | 硬碟 | MINI SATA |
CF卡/SD卡 | NA | |
擴充 | ||
PCI | 4*PCIE BRIDGE | |
Mini-PCI-E | N/A | |
PCI-E | 4 x PCIx1 | |
I/O接口 | 序列槽 | 1 x RJ45 Front; 1x pin header |
USB | 1 x USB2.0 Front | |
重新開機按鍵 | YES | |
Bypass 按鍵 | YES |
本文章主要講述實際的u-boot移植過程和遇到的基本問題及解決方案,u-boot powerpc啟動流程請自行百度了解。
(1)搭建開發環境
本次開發過程中使用yocoto開發環境,u-boot源碼及編譯工具的擷取無需去網站單獨下載下傳,全部由yocoto提供,具體擷取方法請參考另外一篇博文,詳細介紹LS1021A 的環境搭建過程 https://mp.csdn.net/postedit/96874418,T1042/T2080的環境搭建過程可以參考執行。
環境搭建好之後,應該是如下目錄結構
[email protected]:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b# ls
bitbake.lock cache conf environment-setup-ppc64e5500-fsl-linux linux_src site-config-ppc64e5500-fsl-linux SOURCE_THIS sysroots test_tools tmp version-ppc64e5500-fsl-linux
[email protected]:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b#
執行source,使sdk環境生效
[email protected]:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b# source environment-setup-ppc64e5500-fsl-linux
[email protected]:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b# env
AS=powerpc64-fsl-linux-as
LDFLAGS=-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
AR=powerpc64-fsl-linux-ar
OECORE_TARGET_SYSROOT=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
TARGET_PREFIX=powerpc64-fsl-linux-
M4=m4
SHELL=/bin/bash
TERM=vt100
NM=powerpc64-fsl-linux-nm
OECORE_DISTRO_VERSION=2.0
CPPFLAGS=
OLDPWD=/work/QorIQ-SDK-V2.0-20160527-yocto
OECORE_SDK_VERSION=2.0
GDB=powerpc64-fsl-linux-gdb
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
SUDO_USER=test
SUDO_UID=1000
PKG_CONFIG_SYSROOT_DIR=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
CXXFLAGS= -O2 -pipe -g -feliminate-unused-debug-types
CONFIG_SITE=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/site-config-ppc64e5500-fsl-linux
USERNAME=root
CPP=powerpc64-fsl-linux-gcc -E -mhard-float -m64 -mcpu=e5500 --sysroot=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
CCACHE_PATH=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/../x86_64-fslsdk-linux/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux-uclibc:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux-musl:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/../x86_64-fslsdk-linux/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/arm-fsl-linux-gnueabi:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/arm-fsl-linux-uclibc:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/arm-fsl-linux-musl:
MAIL=/var/mail/root
PATH=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/../x86_64-fslsdk-linux/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux-uclibc:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux-musl:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/../x86_64-fslsdk-linux/bin:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/arm-fsl-linux-gnueabi:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/arm-fsl-linux-uclibc:/work/QorIQ-SDK-V2.0-20160527-yocto/build_ls1021atwr/sysroots/x86_64-fslsdk-linux/usr/bin/arm-fsl-linux-musl:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LD=powerpc64-fsl-linux-ld --sysroot=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
PWD=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b
STRIP=powerpc64-fsl-linux-strip
/usr/bin/lesspipe %s
ARCH=powerpc
RANLIB=powerpc64-fsl-linux-ranlib
CROSS_COMPILE=powerpc64-fsl-linux-
CC=powerpc64-fsl-linux-gcc -mhard-float -m64 -mcpu=e5500 --sysroot=/work/QorIQ-SDK-
至此,交叉編譯環境搭建完成,可以進入u-boot源碼編譯,看能否編譯生成正确的u-boot.bin。