Lindenis V5
Contents
Key Features
- AI video analysis with hardware acceleration
- Face detection and regconition
- Intelligent motion detection
- Human counting
- Vehicle license plate recognition
- Binocular depth of field (DOF) image
- 4K Smart encoding
- H.264 BP/MP/HP, H.265 MP, MJPEG/JPEG baseline encoding
- I/P Frame, Smart P frame reference
- Real-time multi stream H.264/H2.65 encoding, 3840x2160@30fps+VGA@30fps+3840x2160@1fps snapshot
- Supports CBR and VBR mode, 2kbps~100Mbps
- H265/H264/MJEPG decoding, up to 4K@30fps
- 360 Panoramic Stitching with Hardware Acceleration
- Lens distortion correction and fisheye correction
- Binocular stitching (360° panorama,180° wide angle)
- Professional Image Effects
- Dual individual ISP, ISP1 supports 4244x3168, ISP2 supports 3264x2448
- Adjustable 3A functions (AE, AWB, and AF)
- Highlight compensation, backlight compensation, gamma correction, and color enhancement
- Supports defect pixel correction, 2D/3D denoising
- Supports sensor built-in WDR, 2F-Frame/Line base WDR, Local Tone mapping
- Various interfaces
- Supports 2 x MIPI-CSI2, 4 x AHD, 1 x DVP input
- Supports BT1120 input/output
- Supports Line-in/Line-out
- Supports Dual-channel differential MIC inputs
- Supports WiFi 802.11ac / BT4.2 (option)
- Software Support
- Linux kernel 4.4
- Linbian (Based on Debian 9)
- OpenCV
- Compute Library
- Tensorflow
- GStreamer with hardware acceleration
Target Applications
You can use it for the following product engineering validation test:
- SDV
- Smart IPC
- Car DVR
- Smart Camera
- 3D/VR Camera
- Panoramic Camera
- VLPR device
- Face recognition device
Or you can use it to build:
- A computer
- A streaming server
Pretty much anything else.
OS
Linbian OS
Others OS
Accessories Step-by-Step Guides
Power Supply
HDMI Cable
Enclosures
Camera module
LCD
Flash module
WiFi and Bluetooth module
Hardware Specification
SoC and Memory
CPU Architecture
- Quad-core ARM Cortex-A7 Processor@1512Mhz
- A power-efficient ARM v7 architecture
- Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function
- VFPv4 Floating Point Unit
- Supports dynamic frequency scaling
- 32KB L1 Instruction cache and 32KB L1 Data cache
- 512KB L2 cache
VPU Architecture
- Video Encoding H.265/H.264 4K@30fps
- Video Decoding H.265/H.264 4K@30fps
IPU Architecture
- Dual ISP 13M@30fps + 8M@30fps
- Fisheye
- Stitching
AIE Architecture
- Built-in with intelligent analytics acceleration engine.
- Supports motion detection, perimeter defense, video diagnosis, face detection, flow statistics.
- Supports binocular depth map.
System Memory
- RAM Memory: 1GB
- Storage Memory: Lindenis V5 do not have built-in flash
Board Features
Video Out
- HDMI 1.4 Type A, up to 4K@30FPS
- MIPI-DSI, 4 lanes, up to 1080P
Video In
- 2 x MIPI-CSI2 - Camera interface, 4 lanes per channel
Audio
- 3.5mm Line in / out
- 2 x mic
Network
- 10/100/1000Mbps Ethernet
- WiFi with Bluetooth (optional)
Storage
- MicroSD Card bootable, support SDHC and SDXC, storage up to 256GB
- USB2.0 Host port x 4
Expansion Ports
- Board to Board connector - Flash module interface
- Wi-Fi/BT Module Header - SDIO 3.0 and UART, pitch 2.0mm
- 2x20 pins "PI BUS" GPIO Header, pitch 2.54mm, compatible with Raspberry Pi B+ J8 GPIO Header
- 2x3 pins GPIO Header, pitch 2.54mm
- 2x7 pins "I2S" GPIO Header, pitch 2.54mm
- VBAT - Battery connector, pitch 2.0mm
- 2x28 pins "CSI0" and "CSI1" GPIO Header, pitch 1.27mm
Board Information
- Board Dimensions: 130mm x 85mm
- Input Power: 5V@2A micro USB connector, 3.7V Li-Ion battery connector
- Power consumption
- Lindenis V5 connector layout
- Lindenis V5 pinout
- Lindenis V5 PCB Dimensions
- Lindenis V5 PCB place map
Board Schematic
Board Certifications
Datasheet
- Allwinner V5 V100 SoC Information
- X-Powers AXP233 Information
- Samsung DDR3L Datasheet
- Foresee eMMC Datasheet
- AP6255 Module Spec Sheet
- Ethernet PHY Datasheet
- LCD Module Specification
- GOODiX GT911 5-Point Capacitive Touch Controller Datasheet
- USB 2.0 Hub Controller
SDK
Overview
Features
- Supports Debian 9
- Linux kernel 4.4 (official version)
- U-Boot 2014.07
- ARM GCC based cross toolchain
- Integrated build system
Main Components
File system
Ext4 file system is used as default root file system. This includes all the files, libraries, drivers, nodes and others entries, that will be mounted in the target board when Linux finishes to boot up.
For Linbian OS, the rootfs created from a Debian base system (only support armel architectures currently, armhf architectures will be supported in the near future). It's easy to install packages via apt-get.
Kernel
This includes all drivers.
Bootloader
The bootloader loads kernel.
Toolchain
Used to build kernel, libraries and applications for the target hardware.
Layout
├── build # Build scripts ├── build.sh # Top level build script ├── debian # Debian based rootfs build scripts │ ├── overlay # Overlay of system │ └── stretch-alip.tar.gz # A Debian basic root file system ├── device # Platforms relative files │ ├── cuckoo │ ├── eagle # Allwinner V5 platform │ │ ├── boards # Board's relative files │ │ │ ├── allwinner-dvb # Allwinner dvb │ │ │ └── lindeni-v5 # Lindenis V5 SBC │ │ │ ├── configs # Lindenis V5 SBC board configurations, sys_config.fex etc. │ │ │ └── rootfs # Lindenis V5 SBC board rootfs overlay │ │ ├── bootloader # Allwinner V5 Bootloader relative files │ │ ├── configs # Allwinner V5 platform configurations, env.cfg, sys_partition.fex, etc. │ │ └── rootfs # Allwinner V5 platform rootfs overlay │ └── petrel ├── kernel # Kernel source code ├── out # Building output ├── tools # Tools for building and packing │ ├── build │ │ └── toolchain # Cross toolchain └── u-boot # U-Boot source code
- Rootfs overlay
- The build scripts copy overlay as follows:
- debian/overlay
- device/PLATFORM/rootfs
- device/PLATFORM/boards/BOARD/rootfs
Documents
- For the sample mentioned in the documentation, please visit mpp_sample.
Download and Build
System requirements
Listed below are the recommended requirements for downloading and building the SDK:
- CPU: x86_64 or better family processor
- Memory: 8GB or higher
- Disk: 10GB free hard disk space
- OS: Ubuntu 14.04 (tested) or higher
- Network: internet connection
Linux host setup
Ubuntu 14.04
HINT: later version should also work.
Install prerequisites
$ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install git git-core u-boot-tools qemu qemu-user-static debootstrap lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386 gawk
- dpkg --add-architecture i386: support 32bit architecture
- apt-get update: retrieve new lists of packages
- git git-core: manage source code
- u-boot-tools: build kernel image
- qemu qemu-user-static: emulator for arm on host CPU
- debootstrap: for installing a Debian base system
- lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386: for running 32bit tools
- gawk: GNU Awk
Sudo without password
$ sudo visudo
Add this line at the end (change “james” to your username):
james ALL=(ALL) NOPASSWD: ALL
Ctrl-X to leave, save your changes, and you're done!
Downloading
SDK
The SDK is available on github.
We use Repo manage Git repositories. Clone Repo from android Git repositories or other mirrors and install it.
Chinese developers can install Repo follow these steps:
$ git clone http://mirrors.ustc.edu.cn/aosp/git-repo.git ~/.bin/repo $ echo "export PATH=~/.bin/repo:$PATH" >> ~/.bashrc $ source ~/.bashrc
For Lindenis V5, download the SDK via:
$ repo init -u https://github.com/lindenis-org/manifest.git -b v5 $ repo sync
The Download time depends on your network connection speed. After finish the download, you should get below directories:
build build.sh debian device kernel tools u-boot
Start a branch for local workspace:
$ repo start v5 --all
Before building the source, you have to download a basic rootfs and toolchains.
Basic rootfs
Download the basic rootfs from FTP server with user 'ftp' (password: lindeni) and store to debian directory.
Toolchain
Download the toolchain from FTP server with user 'ftp' (password: lindeni) and store to tools/build/toolchain directory (create directory if not exist).
Building
Setup env
For Lindenis V5 SBC:
$ source build/envsetup.sh All available platforms: 0. eagle(Allwinner-V5,sun8iw12p1,arm) 1. petrel(Allwinner-H3,sun8iw7p1,arm) 2. cuckoo(Allwinner-V3,sun8iw8p1,arm) Choice: 0 All available OS: 0. buildroot 1. debian Choice: 1 0. allwinner-dvb 1. lindeni-v5 Choice: 1
Build source
- Build kernel and rootfs
$ ./build.sh
Now you can build the OS image. You can also build component separately for debugging as follow.
- Build kernel only
$ ./build/mk-kernel.sh
- Build rootfs only (debian)
$ ./build/mk-debian.sh
- Build U-Boot
$ ./build/mk-u-boot.sh
Build image
For MicroSD Card image:
$ ./build.sh flat-fw
For eMMC image:
$ ./build.sh pack
Installation
Linbain OS
Overview
Linbian is the recommended operating system for normal use on Lindenis V5.
Linbian is a free operating system based on Debian, optimised for the Lindenis V5 hardware. You can use it to build some creativity app, or use it for engineering validation test. Feel free to coding and compiling on it directly, no need to cross build anymore.
Linbian is maintained by Lindenis Tech. Ltd.. The SDK is hosted on GitHub.
Applications
- LXDE: Default desktop environment.
- Media player: is a GStreamer based video play, which can be run standalone on the desktop.
- Camera: is a GStreamer based camera app, which can be run standalone on the desktop.
- Streaming Server: is a GStreamer based RTSP server.
- GStreamer Tools: gst-inspect-1.0, gst-launch-1.0
- Speech recognition: is a speech recognition demo.
- Face recognition: is a face recognition demo. Capture video with ldcamsrc, detect face with EVE.
- Motion detection: is a intelligent motion detection demo.
- Human counting: is a human counting demo.
- VLPR: is a vehicle license plate recognition demo.
- Image stitch: is realtime image stitch demo.
- Binocular DOF Image
Framewrok
- X11: is an open source implementation of the X Window System.
- GStreamer: is an open source media framework. Running on Lindenis V5 with hardware acceleration.
- Tensorflow: is an open source machine learning framework.
- Python: is a general purpose programming language that is easy to use.
Libraries
- OpenMAX: Video decoder / encoder plugin for GStreamer.
- ldcamsrc: Lindenis camera source plugin for GStreamer.
- EVE: is a embedded vision engine.
- CVE: is a compute vision engine.
- OpenCV
- Compute Library: a software library for computer vision and machine learning.
- wiringPi: is a PIN based GPIO access library written in C for Lindenis V5.
Linux Kernel
- Official version: 4.4
Setup
What you Need
You will need the following to get started with using your Lindenis V5 board:
- Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.
- Power Supply (PSU) and a micro usb cable. Please make sure to use a PSU rated at +5V@2A.
- MicroSD card (4GB or higher capacity) rated 'class 10' or better.
- Camera module (recommended).
- HDMI cable (optional).
- Network Cable connected to the Internet (optional).
- Input device(s) such as: keyboard, mouse, etc.
Installation
Download the image
Download the image from FTP server with user 'ftp' (password: lindeni).
For China mainland users, you can also download the images from Baidu Netdisk. The key code is "vcss".
Note that there are two type images here. Make sure you download the right one.
- For-SDCard: the image can be written to the SD card
- For-eMMC: the image can be written to the eMMC (you should purchase a eMMC module firstly)
Writing an image to the SD card
Writing the image to MicroSD Card by Etcher is recommended.
- Using a computer with an MicroSD Card reader.
- Visit etcher.io and download and install the Etcher SD card image utility.
- Run Etcher and select the image you downloaded.
- Select the SD card drive. Note that the software may have already selected the right drive.
- Finally, click Flash to transfer the image to the MicroSD Card. You'll see a progress bar that tells you how much is left to do. Once complete, the utility will automatically eject/unmount the SD card so it's safe to remove it from the computer.
Now that you have an operating system. You can slot your SD card into your SBC and connect the power. Then you will boot directly to the desktop environment.