Vision Toolbox for MATLAB

Similar documents
Model-Based Design Toolbox

Model Based Development Toolbox MagniV for S12ZVC Family of Processors

Vision Toolbox for MATLAB

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

for ColdFire Architectures V7.2 Quick Start

for Freescale MPC55xx/MPC56xx Microcontrollers V2.10 Quick Start

Controller Continuum. for Microcontrollers V6.3. Quick Start

Model-Based Design Toolbox MPC57xx Series

for StarCore DSP Architectures Quick Start for the Windows Edition

NOVPEK NetLeap User Guide

CodeWarrior Development Studio for StarCore DSP SC3900FP Architectures Quick Start for the Windows Edition

CodeWarrior Development Studio

2005: 0.5 PQ-MDS-PCIEXP

Component Development Environment Installation Guide

CodeWarrior Development Studio for Freescale 68HC12/HCS12/HCS12X/XGATE Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System 200

CodeWarrior Development Studio for Power Architecture Processors Version 10.x Quick Start

Quick Start Guide for TWR-S08MM128-KIT TOWER SYSTEM MC9S08MM128. The industry s most complete solution for portable medical applications

Software Defined Radio API Release Notes

CodeWarrior Development Studio for etpu v10.x Quick Start SYSTEM REQUIREMENTS

CodeWarrior Development Tools mwclearcase Plug-in User s Guide

CodeWarrior Kernel-Aware Debug API

Upgrade the Solution With No Changes 2 Upgrade the Solution With No Changes If a Codebase does not contain updates to its properties, it is possible t

Figure 1. Power Barrel Connector Requirements

Vision Toolbox for MATLAB

MPC7410 RISC Microprocessor Hardware Specifications Addendum for the MPC7410TxxnnnLE Series

SDR API Linux Installation

Electrode Graphing Tool IIC Driver Errata Microcontroller Division

MC56F825x/MC56F824x (2M53V) Chip Errata

PQ-MDS-QOC3 Module. HW Getting Started Guide. Contents. About This Document. Required Reading. Definitions, Acronyms, and Abbreviations

NovTech User Guide Chameleon96

Updating the Firmware on USB SPI Boards (KITUSBSPIEVME, KITUSBSPIDGLEVME)

KIT34901EFEVB Evaluation Board

etpu General Function Set (Set 1) David Paterson MCD Applications Engineer

Building U-Boot in CodeWarrior ARMv8

KIT33972AEWEVBE Evaluation Board

MPC5200(b) ATA MDMA, UDMA Functionality BestComm Setup Recommendations

etpu Automotive Function Set (Set 2)

Using the CAU and mmcau in ColdFire, ColdFire+ and Kinetis

MQX RTOS Release Notes for Kinetis SDK v1.2.0 for KL33Z64 for FRDM-KL43Z Freescale Freedom Development Platform

USB Bootloader GUI User s Guide

56F8300 BLDC Motor Control Application

Mask Set Errata. Introduction. MCU Device Mask Set Identification. MCU Device Date Codes. MCU Device Part Number Prefixes MSE08AZ32_0J66D 12/2002

PCB Layout Guidelines for the MC1321x

Apollo2 EVB Quick Start Guide

MPR121 Jitter and False Touch Detection

MC33696MODxxx Kit. 1 Overview. Freescale Semiconductor Quick Start Guide. Document Number: MC33696MODUG Rev. 0, 05/2007

PAS08QF80 User s Manual

Design Recommendations to Implement Compatibility Between the MC13783VK and the MC13783VK5

MTIM Driver for the MC9S08GW64

PAS08QF5264 User s Manual

However, if an event comes in when the new value is being written to the pulse accumulator counter, that event could be missed. One solution to this p

KITPF0100SKTEVBE Programming Socket

PQ-MDS-PIB. HW Getting Started Guide 12,13. January 2006: Rev Check kit contents

Processor Expert Software Microcontroller Driver Suite. Device Initialization User Guide

Lab Tutorial for TWR-S08MM128-KIT TOWER SYSTEM LAB MC9S08MM128. Electrocardiogram (EKG) with Freescale USB stack

ColdFire Convert 1.0 Users Manual by: Ernest Holloway

M68CPA08QF Programming Adapter. User s Manual. Freescale Semiconductor, I. User s Manual. M68CPA08QF324448UM/D Version 1.

Keil uvision 4 Kinetis Support for Freescale MQX RTOS Release Notes

M68CPA08W1628T20. Programming Adapter. User s Manual. Freescale Semiconductor, I. User s Manual. M68CPA08W1628T20UM/D Version 1.

Device Errata MPC860ADS Application Development System Board Versions ENG, PILOT, REV A

Non-Windows Work Flow

MPC8349E-mITX-GP Board Errata

M68HC705E24PGMR PROGRAMMER USER'S MANUAL

SGTL5000 I 2 S DSP Mode

Using an I 2 C EEPROM During MSC8157 Initialization

56F805. BLDC Motor Control Application with Quadrature Encoder using Processor Expert TM Targeting Document. 56F bit Digital Signal Controllers

LA6584JA. Functions and Applications Single-phase full-wave driver for fan motor. Specitications

Utilizing Extra FC Credits for PCI Express Inbound Posted Memory Write Transactions in PowerQUICC III Devices

MQX RTOS Release Notes for Kinetis SDK FRDM- KV10Z Freescale Freedom Development Platform

Using the Project Board LCD Display at 3.3 volts

Mechanical Differences Between the 196-pin MAP-BGA and 196-pin PBGA Packages

LA6584M. Overview. Functions and Applications. Specitications. Monolithic Linear IC BTL Driver Single-Phase Full-Wave Fan Motor Driver

Processor Expert Software for i.mx Processors Version 1.0

Migrating from the MPC852T to the MPC875

HC912D60A / HC912Dx128A 0.5µ Microcontrollers Mask sets 2K38K, 1L02H/2L02H/3L02H & K91D, 0L05H/1L05H/2L05H

Using the PowerQUICC II Auto-Load Feature

PDB Driver for the MC9S08GW64

Introduction to LIN 2.0 Connectivity Using Volcano LTP

16-bit MCU: S12XHY256 Automotive Cluster Demo by: Jose M. Cisneros Steven McLaughlin Applications Engineer Microcontroller Solutions Group, Scotland

Converting Earlier Versions of CodeWarrior for StarCore DSPs Projects to Version

Using IIC to Read ADC Values on MC9S08QG8

Using the ColdFire+ Family Enhanced EEPROM Functionality Melissa Hunter Derrick Klotz

M68HC705E6PGMR PROGRAMMER USER'S MANUAL

Using the Asynchronous DMA features of the Kinetis L Series

Introduction to the S12G Family EEPROM Including a Comparison between the S08DZ, S12XE, and S12P Families

Collecting Linux Trace without using CodeWarrior

Interrupts in Decoupled Parallel Mode for MPC5675K Configuration and Usage

Kinetis USB-KW41Z Wireless Protocol Sniffer Quick Start Guide

Using the Multi-Axis g-select Evaluation Boards

56F805. Digital Power Factor Correction using Processor Expert TM Targeting Document. 56F bit Digital Signal Controllers. freescale.

Pad Configuration and GPIO Driver for MPC5500 Martin Kaspar, EMEAGTM, Roznov Daniel McKenna, MSG Applications, East Kilbride

EchoRemote Evaluation Software for Windows

MSC8144AMC-S Getting Started Guide

Symphony SoundBite: Quick Start with Symphony Studio. Installation and Configuration

MPR121 Proximity Detection

Using DMA to Emulate ADC Flexible Scan Mode on Kinetis K Series

Adding a run control interface into an existing CodeWarrior for MCU v10.x project

Is Now Part of To learn more about ON Semiconductor, please visit our website at

PowerQUICC HDLC Support and Example Code

i.mx31 PDK Power Measurement with GUI

Transcription:

Vision Toolbox for MATLAB Release Notes Embedded Target for the S32V234 Family of Automotive Vision Processors Version 2018.R1.RFP 1-1

Summary 1 What is New... 1-3 2 Vision Toolbox Features... 2-6 2.1 Packages & Derivatives... 2-6 2.2 Code Generation... 2-6 2.3 Functions and Kernels... 2-6 2.4 S32V234 Example Library... 2-7 3 Prerequisites... 3-8 3.1 OSes Supported... 3-8 3.2 MATLAB Required and Recommended Products... 3-8 3.3 Build Tools... 3-9 3.4 Vision SDK package... 3-10 4 Vision Toolbox Extras... 4-11 4.1 Evaluation Board Support... 4-11 5 Known Limitations... 5-11 6 Support Information... 6-11 1-2

1 What is New This release of NPX Vision Toolbox for MATLAB is designed to support the S32V234 Automotive Vision Processors for automatic code generation and NXP target deployment of vision applications for S32V234 directly from MATLAB environment. The NXP Vision Toolbox allows the following software development flow: - Implementation and simulation of Computer Vision applications in MATLAB environment using MATLAB built-in Vision Classes or NXP Vision Toolbox MEX wrappers for NXP Vision SDK classes - Automatic code generation from MATLAB m-scrips to C++ code - Application deployment on NXP S32V234 evaluation boards (SBC and EVB) via Ethernet port directly from MATLAB environment. - Application debugging via S32 Design Studio for Vision For more information please check the Vision Toolbox quick start guide or watch this webinar 1-3

NXP main features: - Automatic Code Generation support for the S32V234 Automotive Vision Processor ARM A53 and NXP APU cores from MATLAB environment; The code generation is supported via the nxpvt_codegen() MATLAB function. - s32v234 object target support for the S32V234EVB and S32V234SBC evaluation boards. The board configuration is supported via s32v234 object which can be used similar with raspi MATLAB standard object; - All the code generated from NXP Vision Toolbox is based on NXP Vision Software Development Kit for S32V234 RTM 1.2.0 + HF1 +HF2 that can be obtained from here. - MATLAB integration as Add-on to allow seamless installation and integration of NXP s Vision Toolbox with other existent solutions from MathWorks. NXP Vision Toolbox for S32V234 documentation and help can be easily accessible from MATLAB help; - Program APEX Vision Accelerator cores directly from MATLAB m-scripting using two built in methods: o APEX Core Framework (ACF): this method consists in writing special m-functions called graphs that are using dedicated APEX Kernels m-script wrappers which calls special routines from NXP Vision SDK optimized for performance. The following code snippet shows a simple rotate graph. The functions highlighted in bold are called APEX Kernels function outimg = rotate_graph(inimg, inoffset)%#codegen nxpvt_set_chunk(1, 8, 8); outindir = nxpvt.apu.indirect(inimg, inoffset); outimg = nxpvt.apu.rotate_180(outindir); end The code generated upon the call of rotate_graph() runs exclusively on the APEX core. o APEX Computer Vision (APEXCV): this method consists in writing applications using special functions supported by the Vision SDK that mimics the OpenCV function rgb2gray_image_main() inimgpath = 'data/sobel.jpg'; inimgumat = nxpvt.imread(inimgpath); outimgumatgray = nxpvt.apexcv.rgb2gray(inimgumat); nxpvt.imshow(outimgumatgray); end 1-4

functionalities. These functions are special wrappers on top of Vision SDK classes that implement complex algorithms. The code generated upon the call of APEXCV functions may have code that is executed on both ARM and APEX cores. - Ready to run examples and applications to exercise the A53/APU/ISP cores and learn how to program those IP directly from MATLAB m-scripts. Example library include: Face/Pedestrian/Lane detection applications that runs in Simulation or S32V Evaluation board on both A53/APU cores; APEX examples: Sobel, Gauss, Rotate, etc; APEX Computer Vision example: remap, resize, rgb2gray, Sobel, etc; IO Examples to read data from ISP: s32v234 camera, s32v234 video - APEX Kernels Emulation to exercise the A53/APU kernels directly into MATLAB Simulation environment and compare the bit-exactness against the hardware execution For more details please refer to the following chapters. 1-5

2 Vision Toolbox Features 2.1 Packages & Derivatives The NXP supports: - NXP S32V234 Vision Processor. - Testing and validation has been completed on production qualified parts mounted on S32V234 Evaluation Board and SBC-S32V234 Evaluation Board equipped with a S32V- SonyCam 2.2 Code Generation NXP Vision Toolbox support code generation for the devices and functions highlighted on top of the S32V234 block diagram below: 2.3 Functions and Kernels The NXP Vision Toolbox for S32V234 kernels organization follows the Vision SDK implementation and supports several component libraries: Arithmetic kernels - provide basic operators for element-wise addition, subtraction, multiplication, division and arithmetic shifting Comparison kernels - provide basic element-wise comparison operators like less than, less-than-or-equal, binary AND operator and binary descriptor matches Conversion kernels - support conversion from 16 to 8 bit and from RGB format to grayscale Display kernels - provide examples of marking an image at certain points as overlay or in a certain color channel. Feature detection - provides two corner detection algorithms FAST9 and Harris corner detection 2-6

Filtering - offers kernels for general purpose filtering, and also the most used filters like Gaussian filtering, gradient computation, non-maximum suppression and saturation Geometry - provides geometric transformations, like rotations and bilinear interpolation and also a replacement for indirect inputs, called offset selection Morphology - example of a morphological dilation operator. Object detection - two object detection algorithms: Haar cascade and LBP (local binary pattern) cascade Optimization - implementation of the Integral Image (SAT) kernel and a SAT-based box filter. Resizing - provides downsampling and upsampling kernels (gives examples of size changes inside a filter) Statistics - provides kernels for statistics computations, such as a Histogram kernel, a vector-to-scalar reduction kernel and an accumulation kernel. To use any of these kernels in the MATLAB m-script functions use: nxpvt.apu.<kernel_name>(args1, ) 2.4 S32V234 Example Library S32V234 Examples Library represents a collection of MATLAB models that let you test and run complex applications. These examples are grouped in different layers that mimics a typical development flow. The main functionalities supported are: - Vision Applications; - APEX Kernels; - APEX Computer Vision; - S32V234 IO Examples; The MATLAB models shown as examples are enhanced with a comprehensive description to help users understand better the functionality that is exercised, hardware setup instructions whenever are necessary and a result validation section. 2-7

3 Prerequisites 3.1 OSes Supported The NXP Vision Toolbox is supported only on PC with Windows OS. For a flowless development experience the minimum recommended PC platform is: Windows 7/10 64bit Operating System At least 2 GHz CPU Speed At least 4 GB of RAM At least 20 GB of free disk space. Internet connectivity for web downloads. Operating System Supported SP Level 64-bit Windows 7 SP1 X Windows 10 X 3.2 MATLAB Required and Recommended Products The NXP Vision Toolbox requires the following Mathwork products: Product Version Compatibility Required or Recommended MATLAB R2018a/b Required MATLAB Coder R2018a/b Required Embedded Coder R2018a/b Required Image Processing Toolbox R2018a/b Required Computer Vision System Toolbox R2018a/b Required Embedded Coder Support Package for ARM Cortex-A Processors Computer Vision System Toolbox OpenCV Interface R2018a/b R2018a/b Required Required MATLAB Support Package for USB Webcams R2018a/b Recommended Image Acquisition Toolbox Support Package for OS Generic Video Interface R2018a/b Recommended 3-8

Due to code generation performance issues the NXP Vision Toolbox uses a special feature rowmajor that has been introduces in MATLAB Coder 2018a. This feature allows better code generation that is compatible with embedded systems designed to store the arrays in row-major format avoiding this way unnecessary copies or transposes between MATLAB and Vision SDK APIs. 3.3 Build Tools The NXP Vision Toolbox supports code generation for the NXP ARM GNU and NXP APU compilers. Compiler Versions Tested NXP ARM GNU Compiler NXP GCC 6.3.1 NXP APU Compiler V1.0 build 530 The target compilers used for NXP Vision Toolbox needs to be configured. Use the notation below to setup these compiler environment or user variables. Ensure that such variables are defined to compiler path value as shown below: APU_TOOLS= C:/NXP/APU_Compiler_v1.0 S32V234_SDK_ROOT = C:/NXP/VisionSDK_S32V2xx_RTM_1_2_0_HF1/s32v234_sdk 3-9

3.4 Vision SDK package All the code generated by NXP Vision Toolbox is based on S32V234 Vision SDK package. This software package is also free of charge and apart of optimized kernels and libraries for the S32V automotive vision processors, it also contains the build tools to cross-compile the MATLAB generated code to ARM A53 and APEX cores. All Vision SDK components must be installed prior of using the NXP Vision Toolbox for S32V234 3-10

4 Vision Toolbox Extras NXP s Vision Toolbox enables additional functionalities that are not MCU specific but could help faster prototyping, validation and verification of the developed models. 4.1 Evaluation Board Support The NXP Vision Toolbox has built in capabilities to configure the SD-Card directly from Windows OS. A Linux OS configured to boot up the S32V234 platform to enable the Eth, ISP, ACF and other various drivers and modules is needed for running embedded vision algorithms. NXP Vision Toolbox facilitates: - Easy SD-Card configuration directly from Windows OS via pre-build bootable image - nxpvt_create_target()function for configuration directly from MATLAB 5 Known Limitations This is an Early Access Release. Please expect to some limitations in terms of code generations: - 4 classes from VSDK 1.2.0 BASE are not supported for Code Generation nor MEX Simulation: ColorConverterHT, ConvolveFilterHT, DerivativeXFilterHT, SobelXFilterHT - Limited support for VSDK 1.2.0 PRO classes: only Resize and Remap are supported for code generation and MEX simulation - Board detection features are limited in this release. The user needs to find the board IP manually. NXP S32V234 evaluation boards support the same configuration approach from MATLAB as Raspberry PI via objects. - Avoid any paths that includes spaces. Please install your MATLAB and VisionSDK related software into short paths without spaces. - Limited Help functionalities. Not all NXP Vision Toolbox functions are documented. For any information and help, please contact us via the dedicated Vision Support Community 6 Support Information To order NXP products, consult your local sales representative. For technical support please sign on to the following NXP s Model-Based Design Toolbox Community: https://community.nxp.com/community/mbdt 6-11

How to Reach Us: Home Page: www.nxp.com Web Support: www.nxp.com/support Information in this document is provided solely to enable system and software implementers to use NXP Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. NXP Semiconductor reserves the right to make changes without further notice to any products herein. NXP Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Typical parameters that may be provided in NXP Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including Typicals, must be validated for each customer application by customer s technical experts. NXP Semiconductor does not convey any license under its patent rights nor the rights of others. NXP Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the NXP Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use NXP Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold NXP Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that NXP Semiconductor was negligent regarding the design or manufacture of the part. MATLAB, Simulink, Stateflow, Handle Graphics, and Real-Time Workshop are registered trademarks, and TargetBox is a trademark of The MathWorks, Inc. Microsoft and.net Framework are trademarks of Microsoft Corporation. Flexera Software, Flexlm, and FlexNet Publisher are registered trademarks or trademarks of Flexera Software, Inc. and/or InstallShield Co. Inc. in the United States of America and/or other countries. NXP, the NXP logo, CodeWarrior and ColdFire are trademarks of NXP Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Flexis and Processor Expert are trademarks of NXP Semiconductor, Inc. All other product or service names are the property of their respective owners 2018 NXP Semiconductors. All rights reserved. 2018 NXP Semiconductors. All rights reserved