S32V234 开发环境 BSP 编译

笔者 Jackknife 主要负责 ADAS 领域,对 NXP S32V234 拥有非常深入的研究,如果对 S32V234 方案感兴趣,欢迎联系。

S32V234 开发环境:推荐 ubuntu16.04 ,空间至少 20G 

S32V234 主要包括 uboot,kernel,rootfs 三部分,由于 yocto 环境下编译,在国内因为网络问题,有些组件下载困难。

本次讲解以 standalone 形式,以 BSP18+VSDK1.2 为例讲解

gcc 下载

本次编译务必选用 linaro gcc6.3.1 版本。

下载地址:https://releases:linaro:org/components/toolchain/binaries/6:3-2017:05/aarch64-linux-gnu/gcc-linaro-6:3:1-
2017:05-x86_64_aarch64-linux-gnu:tar:xz

VSDK1.2 下载

进入 NXP 官网:https://www.nxp.com.cn/products/processors-and-microcontrollers/arm-processors/s32v2-vision-mpus-/vision-processor-for-front-and-surround-view-camera-machine-learning-and-sensor-fusion:S32V234?tab=Design_Tools_Tab

这里介绍一下 S32DS 跟 VSDK 区别

S32DS : S32 Design Studio for Vision Processors ,是一个 类似于 eclipse 的 IDE 工具,主要用来开发 ISP 及 APEX 的图形工具,S32DS 安装后会包含 VSDK ,VSDK 的版本在 S32DS\s32v234_sdk\ReleaseNotes.txt  文件里。

如:

S32DS_Vision_v2.0 对应 VSDK1.0.0  ;  

S32DS_Vision_v2018.R1 对应 VSDK1.2.0HF1

VSDK :Vision SDK Software   也提供单独的下载版本,这里先推荐 下载 VSDK1.2 。 

点击进入 VSDK 下载,在历史版本里面找到 VSDK1.2.0 ,下载 linux 版本

S32V234 开发环境 BSP 编译

 

S32V234 开发环境 BSP 编译

完成下载后,进入安装 VSDK 。

在 VSDK 安装目录,VisionSDK_S32V2_RTM_1_2_0\s32v234_sdk\os\build_content.tar.gz  压缩包,解压后对应于 S32V234EVB 目录的所有固件,可以烧录到 NXP EVM 进行开机测试。

如果需要重新编译 uboot ,kernel 依照如下步骤:

uboot:

下载 uboot 代码

git clone https://source.codeaurora.org/external/autobsps32/u-boot
cd u-boot
git checkout -b  master v2016.01_bsp18.0
ls

编译 uboot

make ARCH=aarch64 CROSS_COMPILE=/path/to/your/toolchain/dir/bin/aarch64-linux-gnu- <board>_defconfig
make CROSS_COMPILE=/path/to/your/toolchain/dir/bin/aarch64-linux-gnu-

kernel:

下载 kernel 代码

git clone https://source.codeaurora.org/external/autobsps32/linux
cd linux
git checkout -b master v4.14.34_bsp18.0
ls

注意:合入 vsdk 的 1 个 patch,VisionSDK_S32V2_RTM_1_2_0\s32v234_sdk\os\linux\0001-s32v234-dts-Add-VSDK-specific-configuration.patch

编译 kernel

make ARCH=arm64 CROSS_COMPILE=/path/to/your/toolchain/dir/bin/aarch64-linux-gnu- <soc_name>_defconfig
make ARCH=arm64 CROSS_COMPILE=/path/to/your/toolchain/dir/bin/aarch64-linux-gnu-

rootfs:

如果需要自己编译 rootfs ,则必须要 yocto 环境,

当然也可以使用 VisionSDK_S32V2_RTM_1_2_0\s32v234_sdk\os\build_content.tar.gz  压缩包内已经编译好的 rootfs 。