S32V Yocto BSP19 + VSDK1.3.0 環境搭建與編譯 (上)

關鍵字 :S32VVSDKBSP
一、 S32V Yocto BSP19 環境架設

1.      工具下載
$ sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core git gettext libssl-dev chrpath texinfo git curl repo cmake

 
2.      JAVA 環境設定
sudo mkdir /usr/java

  
下載 JAVA JDK
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 
sudo tar xf jdk-8u191-linux-x64.tar.gz -C /usr/java

 
sudo vim /etc/profile
新增設定如下兩行:
export JAVA_HOME=/usr/java/jdk1.8.0_191
export PATH=/usr/java/jdk1.8.0_191/bin:$PATH

 
source /etc/profile

 
echo $PATH
echo $JAVA_HOME

 
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_191/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_191/bin/javac 300
sudo update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.8.0_191/bin/javaws 300
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

 
確認 JAVA 設定
Java -version

 

3.      git 環境設定
$ git config --global user.name "user name"
$ git config --global user.email user.name@wpi-group.com

 

4.      repo 環境設定
$ cd ~
$ mkdir ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ PATH=${PATH}:~/bin

 
$ mkdir
$ cd
$ repo init -u https://source.codeaurora.org/external/autobsps32/auto_yocto_bsp -b release/bsp19.0



 
$ repo sync

 
下方是 repo sync 完成的畫面:

 

5.      BSP 環境設定
$ sudo ./sources/meta-alb/scripts/host-prepare.sh

 
$ source nxp-setup-alb.sh -m s32v234evb
請閱讀 “NXP SOFTWARE LICENSE AGREEMENT”

 
確認後,輸入 “y”,然後 Enther

 

 

6.  BSP 編譯
a.  Uboot Menuconfig

$ bitbake u-boot

 
$ bitbake u-boot -c devshell

 
$ cd ../build/s32v234evb_config
$ make menuconfig

 

$ exit




b.  Kernel Menuconfig

$ bitbake virtual/kernel -c menuconfig




修改 CMA_SIZE_MBYTES = 32,接著存檔離開

 

 


c.  BSP 編譯

$ bitbake fsl-image-auto

 
編譯會出現問題,請參考下一章節說明
Image Path:/build_s32v234evb/tmp/deploy/images/s32v234evb/
U-boot Image:u-boot.s32
Kernel Image:Image
Filesystem:fsl-image-auto-s32v234evb.tar.gz

 
燒錄 SD Card:
請參考 “Auto_Linux_BSP_19.0_User_Manual.pdf”
 


7.      BSP常見問題

a.  ERROR: linux-s32-4.14-r0 do_fetch
Error Message:

 
執行清除狀態指令,再重新編譯,例如:
$ bitbake virtual/kernel -c do_cleansstate
$ bitbake virtual/kernel -c menuconfig

 

b.  ERROR: ramsmp-3.5.0-r0 do_fetch
Error Message:

 
查詢 yocto recipe .bb 設定檔,如下:
$ find ../sources/ | grep “ramsmp_3.5.0”
修改 recipe .bb 設定檔,如下:
$ vim ../sources/meta-alb/recipes-benchmark/ramsmp/ramsmp_3.5.0.bb


修改 ramsmp_3.5.0.bb SRC_URI 參數內容,如下:
SRC_URI = "http://sources.buildroot.net/ramsmp-${PV}.tar.gz \
          file://Makefile.patch;pnum=1 \
          "

接著重新編譯即可
 

c.  OAL: ERROR, Initialization failed. Please check the OAL kernel module.
Error Message:

 
s32v234.dtsi 打上 patch 0001-s32v234-dts-Add-VSDK-specific-configuration.patch:
$ cp /s32v234_sdk/os/linux/0001-s32v234-dts-Add-VSDK-specific-configuration.patch
/build_s32v234evb/tmp/work-shared/s32v234evb/kernel-source/arch/arm64/boot/dts/freescale/
$ patch -p0 s32v234.dtsi 0001-s32v234-dts-Add-VSDK-specific-configuration.patch
 

8. Yocto BSP 編譯常用指令
a.  List all tasks for package
顯示 u-boot (package) 的 task list:
$ bitbake u-boot -c listtasks


顯示 linux-s32 (package) 的 task list:
$ bitbake linux-s32 -c listtasks

 
b.  Find u-boot / kernel folder path
尋找 u-boot folder path
$ bitbake -e u-boot | grep "^S="

尋找 kernel folder path
$ bitbake -e linux-s32 | grep "^S="


c.  Build / Clean State / Deploy kernel and u-boot

清除編譯狀態:
$ bitbake u-boot -f -c do_cleansstate
$ bitbake linux-s32 -f -c do_cleansstate

編譯:
$ bitbake u-boot -f -c do_compile
$ bitbake linux-s32 -f -c do_compile

將編譯好的 Image 存入 deploy folder:
Image path:~/fsl-auto-yocto-bsp18/build_s32v234evb/tmp/deploy/images/s32v234evb/
$ bitbake u-boot -f -c deploy
$ bitbake linux-s32 -f -c deploy

P.S. -f 代表強制執行,-c 代表 command
 

d.  Show recipes information / version

Example:
顯示全部 recipes
bitbake-layers show-recipes

 
顯示特定字串 recipes
bitbake-layers show-recipes | grep -A10 opencv

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論

廖經理

廖經理

2019年6月3日
請問編譯時間需要多久呢? 或者有推薦的編譯主機規格, 可讓編譯時間縮短? 謝謝