T1042/T2080 u-boot移植(一)

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的環境搭建過程可以參考執行。

環境搭建好之後,應該是如下目錄結構

root@test:/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
root@test:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b# 

       執行source,使sdk環境生效

root@test:/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b# source environment-setup-ppc64e5500-fsl-linux 
root@test:/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
LANG=zh_CN.UTF-8
PYTHONHOME=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr
OECORE_NATIVE_SYSROOT=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux
CONFIGURE_FLAGS=--target=powerpc64-fsl-linux --host=powerpc64-fsl-linux --build=x86_64-linux --with-libtool-sysroot=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
KCFLAGS=--sysroot=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
CXX=powerpc64-fsl-linux-g++  -mhard-float -m64 -mcpu=e5500 --sysroot=/work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/ppc64e5500-fsl-linux
OBJCOPY=powerpc64-fsl-linux-objcopy
SHLVL=1
SUDO_COMMAND=/bin/bash
HOME=/home/test
LANGUAGE=zh_CN:zh
CFLAGS= -O2 -pipe -g -feliminate-unused-debug-types
LOGNAME=root
OECORE_ACLOCAL_OPTS=-I /work/QorIQ-SDK-V2.0-20160527-yocto/build_t1042d4rdb-64b/sysroots/x86_64-fslsdk-linux/usr/share/aclocal
LESSOPEN=| /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。

各類問題歡迎進羣討論:QQ羣:245079182。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章