天天看點

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

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

[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。

各類問題歡迎進群讨論:QQ群:245079182。

繼續閱讀