ADAS系列之一

一.介绍

         ADAS(Advanced Driver Assistance Systems)高级辅助驾驶,是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

二.s32v234介绍

       S32V234是nxp公司第二代视频处理器系列,基于64位ARM Cortex-A53CPU,具有高达1000MHz 四核ARM Cortex-A53,集成了32 KB/32 KB I-/D- L1高速缓存,NEON MPE协处理器,双精度FPU,带2 CPU256KB L2缓存的2集群,存储器管理单元,GIC中断控制器,提供ISP,功能强大的3D GPU,两个APEX-2可视加速器,支持SafeAssure™安全性,具有汽车级的可靠性,功能安全性,支持汽车和工业自动化,适用于汽车ADAS,NCAP前置摄像头,物体检测和识别,车载全景可视系统以及机器学习和传感器融合应用。

 s32v234的主要特性:

• ARM Cortex-A53, 64-bit CPU

– Up to 1000 MHz Quad ARM Cortex-A53
– 32 KB/32 KB I-/D- L1 Cache
– NEON MPE co-processor
– Dual precision FPU
– 2 clusters with 2 CPUs and 256 KB L2 cache each
– Memory Management Unit
– GIC Interrupt Controller
– ECC/parity error support for its memories
– Generic timers
– Fault encapsulation by hardware for redundantexecuted application software on multiple corecluster
• ARM Cortex-M4, 32-bit CPU
– Up to 133 MHz
– 16 KB/16 KB I-/D- L1 Cache
– 32+32 KB tightly coupled memory (TCM)
– ECC/parity support for its memories
• Clocks
– Phase Locked Loops (PLLs)
– 1 external crystal oscillator (FXOSC)
– 1 FIRC oscillator
• System protection and power management features
– Flexible run modes to consume low power based onapplication needs
– Peripheral clock enable register can disable clocks tounused modules, thereby reducing currents
– Power gating of unused A53 cores and GPU
– Low and high voltage warning and detect
– Hardware CRC module to support fast cyclicredundancy checks (CRC)
– 120-bit unique chip identifier
– Hardware watchdog
– eDMA controller with 32 channels (withDMAMUX)
– Extended Resource Domain Controller
• Safety concept
– ISO 26262, ASIL level target
– Measures to detect faults in memory and logic
– Measures to detect single point and latent faults
– Quantitative out of context analysis of functionalsafety (FMEDA) tailored to application specifics
– Safety manual and FMEDA report available
• Security
– CSE with 16 KB of on-chip Secure RAM and ROM.
– ARM TrustZone (TZ) architecture support
– Boot from NOR flash with AES-128 (CTR)
– On-Chip One-Time Programmable elementController (OCOTP_CTRL) with on chip electricalfuse array.
– System JTAG Controller (SJC)
• Debug functionality
– Standard JTAG and Compact JTAG
– 16-bit Trace port, Serial Wire Output port
• Timers
– General purpose timers (FTM)
– Two Periodic Interrupt Timer (PIT)
– IEEE 1588 Timers (part of Ethernet Subsystem)
• Analog
– 1x 12-bit 1.8 V SAR ADC with self-test
• Communications
– UART(w/ LIN2.1l)
– Serial peripheral interface (SPI)
– I2C blocks
– PCI express 2.0 with endpoint and root complexsupport
– LFAST serial link
– 1 GBit Ethernet with PTP IEEE 1588
– FD-CAN
– FlexRay Dual Channel, Version 2.1 RevA
• Memory interfaces
– 32-bit DRAM Controller with support for LPDDR2/DDR3/DDR3L - Up to 1066 MHz data rate with ECC (SEC-DEDTED)triple errror detection support for subregion
– QuadSPI supporting Execute-In-Place (XIP)
– Boot flash fault detection and correction using two-dimensional parity.
– Triple fault detection and single fault correction scheme for external DDR-RAM including address/page fault detection.
• Video input interfaces, Image processing, graphics processing, display
– Display Control Unit (2D-ACE) with 24-bit RGB, GPU frame buffer decoding
– GPU GC3000 with frame buffer compression
– 2x VIU (Video interface unit) for camera input
– 2x MIPICSI2 with four lanes for camera input (support 1080 pixel @ 30 fps)
– Image signal processor (ISP), supporting 2x1 or 1x2 megapixel @ 30 fps and 4x2 megapixel for subset of functions(exposure control, gamma correction)
– 2x APEX2-CL Image cognition processor supporting OpenCL 1.2. APEX-642CL comprises two Array Processing Unit
(APU) cores configurable as single SIMD engine with 64 16-bit Computational Units (CU), or configurable as two coreMIMD engines with 32 16-bit CUs each.
– CUs are comprised of four Functional Units: 16-bit Multiplier, Load Store Unit, ALU, and Shifter
– JPEG video decoder (8/12-bit)
– H.264 video decoder (8/10/12-bit), High-intra and constrained baseline formats
– H.264 video encode (8/10/12-bit), High-intra only
– Fast DMA for data transfers between DRAM and System RAM with CRC
• Human-Machine Interface (HMI)
– GPIO pins with interrupt support, DMA request capability, digital glitch filter
– Configurable slew rate and drive strength on all output pins
• System RAM
– 4 MB On-Chip System RAM with ECC

三.官方源码编译教程

3.1  Download the Yocto Project Environment into your directory:

1. mkdir fsl-auto-yocto-bsp
2. cd fsl-auto-yocto-bsp
3. repo init -u https://source.codeaurora.org/external/autobsps32/auto_yocto_bsp -b hotfix/bsp17.0.hf1 -m adas.xml
4. repo sync

Note:如果你的机器没有安装repo,那么请遵循下面的步骤:

1. mkdir ~/bin
2. curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo> ~/bin/repo
3. PATH=~/bin:$PATH 
4. chmod a+x ~/bin/repo

打开repo将改为:

#REPO_URL='git://codeaurora.org/tools/repo.git'
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

3.2Create build folder:

1../sources/meta-alb/scripts/host-prepare.sh
2,source nxp-setup-alb.sh -m s32v234sbc

运行完以上步骤:你将会如下目录:

ccion@ubuntu:~/ccion/fsl-auto-yocto-bsp/build_s32v234sbc$ ls
bitbake-cookerdaemon.log  cache  conf  SOURCE_THIS  tmp

然后修改此目录下面的conf/local.conf.j将vsdk加入yocto系统。

FSL_LOCAL_MIRROR = "file:///your path/fsl_local_mirror"
LICENSE_FLAGS_WHITELIST_append = " commercial "

操作完以上步骤后,请在nxp官网下载VisionSDK_S32V2xx_RTM_xxx.bin。网站:https://www.nxp.com/cn/search?keyword=s32v234#

bitbake fsl-image-vsdk

接下来就是漫长的等待编译,由于很多源码会从网上下载,所以第一次编译需要很长时间,大概12小时。编译完后,可以将downloads目录下的源码包保存。

ccion@ubuntu:~/ccion/code/fsl-auto-yocto-bsp/build_s32v234sbc/tmp/deploy$ ls
images  licenses  rpm

编完后,如上目录images就是我们所需要的镜像。

ccion@ubuntu:~/ccion/code/fsl-auto-yocto-bsp/build_s32v234sbc/tmp/work/aarch64-fsl-linux$ ls
acl                          boost             flac                   inputproto                  libical           libxft                          nfs-utils                   setserial
alsa-lib                     bridge-utils      flex                   iozone3                     libice            libxi                           nspr                        shadow
alsa-plugins                 busybox           fontconfig             iperf3                      libidn            libxml2                         ocv                         shadow-sysroot
apex-add                     bzip2             freetype               iproute2                    libjpeg-turbo     libxrandr                       ofono                       shared-mime-info
apexcv-basic                 cairo             gawk                   iptables                    libmnl            libxrender                      openssh                     speexdsp
apexcv-orb                   canutils          gcc                    iputils                     libmpc            libxshmfence                    openssl                     sqlite3
apexcv-remap                 cnn-classifier    gcc-runtime            isl                         libnfsidmap       libxt                           opkg-utils                  stat
apexcv-simple                consolekit        gconf                  isp-h264dec-single-stream   libnl             libxtst                         pango                       strace
apex-downsample-upsample-cv  coreutils         gd                     isp-jpeg-4stream            libnss-mdns       libxv                           pciutils                    strongswan
apex-emulation-test          cracklib          gdb                    isp-ov10635-viu-dcu         libogg            libxxf86vm                      pedestrian-detection        sysfsutils
apex-face-detection-cv       cryptodev-linux   gdbm                   isp-ov10640-quad            libpam            lighttpd                        pedestrian-detection-aggcf  sysstat
apex-fast9-cv                curl              gdk-pixbuf             isp-sonyimx224-csi-dcu      libpcap           linux-libc-headers              perl                        sysvinit
apex-gauss5x5-cv             damageproto       gettext                isp-sonyimx224-default      libpciaccess      lmbench                         pixman                      tcpdump
apex-histogram-cv            db                giflib                 isp-sonyimx224-h264enc      libpcre           lmsensors                       pkgconfig                   tcpreplay
apex-indirect-input-cv       dbus              glib-2.0               isp-sonyimx224-rgb-yuv-gs8  libpng            lrzsz                           polkit                      tcp-wrappers
apex-integral-image-cv       dbus-glib         glibc                  isp-stereo-apexbm           libpthread-stubs  lzo                             presentproto                tiff
apex-isp-face-detection-cv   demos-data        glibc-initial          isp-stereo-calib            librsvg           m4                              procps                      u-boot-environment
apex-isp-fast9               devmem2           glibc-locale           kbproto             

可以看到在此目录下,就是vsdk提供过来的demo应用实例。

猜你喜欢

转载自blog.csdn.net/weixin_41965270/article/details/83119582