Yocto 1.8 Linux BSP – Gateworks i.MX6 SBCs

yoctoproject_logo_cmyk

Gateworks would like to announcethe release & support of Yocto 1.8 on the Ventana Family of Single Board Computers that feature the Freescale i.MX6 processor. Yocto 1.8 is under the code name Fido. Yocto is a Linux operating system that Gateworks uses for video input and output, networking, GUI, IoT and more. Gateworks recommends all customers and engineers update from Yocto 1.7 to Yocto 1.8.

Yocto 1.8 Updates and Highlights:

  • Updated Linux Kernel. The kernel has been updated to the Gateworks downstream 3.14 vendor kernel.
  • Updated the gstreamer video framework to gstreamer-imx and gstreamer-1.0
    • Updated to the gstreamer-imx community based plugins for utilizing i.MX6 hardwareacceleration to provide increased flexibility over what is provided fromFreescale in gst-fsl-plugins
    • Included RTSP server application, gst-variable-rtsp-server
    • More gstreamer-imx information is available here
  • AVC8000nano Video Capture Mini-PCIe card for up to 8x D1 inputs
    • The driver is now loaded by default in Yocto 1.8 and tested with gstreamer-imx
    • This is very useful for surveillance and compositing many video sources into one screen
    • Find more information here
  • Updated uboot-envtools
  • Updated gsc-update tool
  • Support for the GW16113 IO Expansion module via the gwsoc software tool. More information available here.

To get started, Gateworks has posted Pre-Built images on the Yocto Wiki page. This includes tarballs and ubis for multimedia and gui images. The wiki page also documents building Yocto 1.8 from source.

Yocto Software Wiki Page

Please update to Yocto 1.8 and contact Gateworks with any questions. Their support team is happy and available to work with you!

Android Touchscreen Development Kit

androidbezelAndroid is becoming a very useful platform for demanding embedded systems. When coupled with a LCD touchscreen, Android loaded on a rugged industrial single board computer can become the interface everyone desires. Gateworks has created a turn-key Android development system to bring a product to market quickly!

The system includes the following:

  • GW5224Single Board Computer
    • Freescale i.MX6 Quad Core Processor
    • 1GB DRAM
    • 2GB NAND Flash
    • GPS
  • WiFi and Bluetooth Radio
  • 7″ LCD PCAP Touchscreen Display with black anodized bezel
  • 8GB MicroSD Pre-Loaded with Android OS
  • Power Supply
  • Serial Console Adapter & more!

For more information, please visit:Android Development Kit

Speeding Up Boot Times with Falcon Mode

Everyone desires computers that boot very fast! The software that is shipped bydefault on Gateworks boards is tuned to be very ‘developer friendly’ for getting started in the development cycle.Common questions like: ‘How can I make my software boot quicker?’ are asked frequently and Gateworks hasdevoted time into documenting various methods of increasing boot speed or boot speed perception (see http://trac.gateworks.com/wiki/boot_speed). Gateworks has additionallyimprovedboot speeds by implementing U-Boot’s Falcon mode in the Ventana bootloader. Gateworks Ventana is the first IMX6 based board in mainline U-Boot to get this support.

What is U-Boot Falcon mode? Falcon mode is named after the Peregin Falcon, the fastest member of the animal kingdom. U-Boot Falcon mode speeds up boot time by bypassing the bootloader completely which can save 3 to 10 seconds depending on the system configuration.

Continuing with the technical details, Falcon mode is a feature of the Secondary Program Loader (SPL) which is built from the same U-Boot source that builds U-Boot proper. The job of the SPL is to configure the memory controller and load the next stage – which is typically the full-blown, feature-rich U-Boot bootloader, which in turn is responsible for loading the OS. The U-Boot bootloader can easily add 3 to 10 seconds to the boot-up of a system dependingon its configuration, theboot medium (Flash vs micro-SD for example) and the filesystem on that boot medium. To bypass the loading of U-Boot, the Ventana SPL now supports reading an OS kernel and boot parameters (or ‘args’) directly from NAND flash blocks or raw micro-SD sectors (sans filesystems). This typically takes 1 to 2 seconds, depending on the size of your OS kernel and results in being able to have a fancy graphical splash-screen show up within the first couple of seconds of power. What theOS does next is very dependent on theapplication and OS configuration. If several seconds are shaved off in getting to the OS with Falcon mode then the system boot time has been sped up in some cases significantly.

Keep in mind that using Falcon mode is something that should be done at the end of thedevelopment cycle as the U-Boot bootloader features that are bypassed can come in very handy during development.

For reference and more information, please see:

Android KitKat Software Release for Ventana SBCs

androidkitkat

Gateworks is proud to announce the release of Android KitKat for it’s family of Ventana SBCs. The source and pre-built images for Android 4.4.3 (KitKat) have been released.

To find out what is new in KitKat 4.4 compared to the prior Android JellyBean release, please see the Android documentation: http://www.android.com/versions/kit-kat-4-4/

Notable changes include:

  • Update to the Android Open Source Project’s 4.4.3 code base
  • Added NAND flash support (for Ventana boards that have 2GB NAND)
  • Added support for new products such as the GW551x and GW552x
  • Freescale has added manyIMX6 performance and stability improvements.
  • Newer 3.10.53 based Linux kernel which has many improvements.

Freescale has verified that their Kitkat 4.4.3 BSP (which Gateworks BSP is sourced from), passes Android Compatibility Test Suite (CTS 4.4_r3).

We recommend everyone switch to this new branch for all future Android support.

To get started, followthebuilding instructions on GateworksSoftware Wiki site here: http://trac.gateworks.com/wiki/Android/Building#BuildingAndroidforVentanafromsource

Yocto 1.7 Dizzy BSP Update for Ventana SBCs

Gateworks would like to announce the availability ofOpenEmbedded Yocto 1.7 ‘Dizzy’ for the Ventana Family of SBCs. Yocto is the Linux distro that Gateworks supports for Video and Audio applications.

Yocto 1.7 is an update ofYocto 1.6 with many smaller changes to note, primarily in the form of package and buildtool updates.To stay inline with Freescale’s Yocto BSP, theproven 3.10.17 kernel is being used.

To see the full release notes, please visit the Yocto Release page here.

To build Yocto 1.7 from source or to download pre-compiled
binaries, please visit the Gateworks Wiki site here: http://trac.gateworks.com/wiki/OpenEmbedded/Building#Pre-CompiledBinary

To view Gateworks’ changes to the Yocto BSP, please visit our GitHub page at https://github.com/Gateworks/meta-gateworks

New GSC Watchdog

Gateworks has posted before about their very valuable Gateworks System Controller (GSC) here. A new feature that has recentlybeen added is a GSC watchdog.

A watchdog timer is a functionality that forces a reset of the system in response to a problem in the software. Watchdog timers are very important in embedded systems that are installed in remote, rugged, and hard to reach installations and environments.

CPU’s typically have a watchdog timer but the GSC watchdog will completely power cycle the board removing any software dependencies in the shutdown process. The GSC watchdog isa more robust and reliable watchdogthan the standard CPU watchdog for the following reasons:

  • Complete power cycle – The GSC Watchdog resides on a separately powered microprocessor and thus completely powers off the main CPU. A CPU watchdog simply does a ‘soft-reset’ that may not fully resolve software issues while full power is still applied.
  • Isolation – The GSC Watchdog is isolated thus avoiding any collateral lock from main CPU.
  • Full protection starting from power on – the GSC watchdog is constantly running from the moment the board boots. CPU watchdogs do not function in the bootloader where the GSC Watchdog does.

This watchdog requires GSC versions greater than v44 (download here) and requires the latest BSP software as well. Please review the full watchdog documentation in the wiki links below for more information and to learn how to enable the watchdog:

  • GSC Hardware Watchdog:
    • http://trac.gateworks.com/wiki/gsc#HardwareWatchdog
  • GSC Watchdog Kernel Drivers:
    • http://trac.gateworks.com/wiki/gsc#GSCWatchdogkerneldriver

H.264 Video Streaming over Network

The Gateworks Ventana Family of Single Board Computers is well suited for multimedia applications. The Freescale i.MX6 processor has hardware encoding and decoding making for very little processor overhead. To take advantage of this hardware decoding it is important to always use the ‘vpuenc’ and ‘vpudec’ gstreamer pipeline elements.

  • vpuenc – VPU (Video Processing Unit) encoder
  • vpudec – VPU (Video Processing Unit) decoder

It is also important to use a high compression video format such as H.264 which uses significantly less network bandwidth while retaining good quality. To use this, we encode by using the following pipeline element:

  • vpuenc codec=avc

When streaming over the network, TCP is a reliable protocol but often too stringentfor video applications. UDP is often preferred so that even if packets are lost, the stream will continue without waiting for the lost packet. To use UDP, we use the udpsrc and udpsink pipeline elements.

Here is an example pipeline to stream live video over the network using two Ventana Single Board Computers. Be sure the two single board computers are on the same network and can ping each other. Both should also be running OpenEmbedded Yocto operating system. An analog video camera is connected to the video input on a Ventana board. Another Ventana board is connected to a HDMI monitor.

Start the server board pipeline first: (board with HDMI monitor connected)

root@ventana:~# gst-launch udpsrc port=9001 ! h264parse ! queue max-size-time=0 max-size-buffers=0 ! vpudec low-latency=true frame-plus=1 framedrop=false ! mfw_v4lsink sync=false async=false

Then start the client pipeline (board with analog video camera connected)

root@ventana:~# gst-launch tvsrc device=/dev/video0 ! vpuenc codec=avc ! udpsink host=192.168.1.2 port=9001sync=false async=false

For more information, please view our GStreamer Software Wiki here: http://trac.gateworks.com/wiki/Yocto/gstreamer

Ventana Family Model Numbers & Ordering Options

The Ventana Family of Single Board Computers has been a very popular offering with the HDMI HD video input and HDMI output, the CAN Bus port and high performance i.MX6 processor along with many more great features. To provide the widest range of options, variations of each family member was created to make ordering more simple. These variations along with their part numbers are listed on our Ventana ordering options Wiki page:http://trac.gateworks.com/wiki/ventana/orderoptions

New and updated Gateworks Developer Mailing Lists

Gateworks prides itself on support for it’s customers. Software is a constantly evolving element to the system and Gateworks is committed to continuously updating and stabilizing it’s Board Support Packages (operating systems supported). Customers can be notified via email through mailing lists about recent code commits to Gateworks repositories. This transparency allows customers to be notified of improvements, new features, and solutions for the software. There is typically a mailing list for each BSP (Board Support Package) to better match the development system being used. This blog post is to announce two new mailing lists for Android and OpenEmbedded.

Follow the link below and sign up for the Gateworks Mailing lists today!

Gateworks Mailing Lists

Ventana JTAG Software Release

Gateworks is proud to announce JTAG programming support for the Ventana family of Single Board Computers. This support allows precompiled binaries that include the kernel, bootloader, and root filesystem to be flashed via Gateworks JTAG software onto any Ventana board. This is valuable as it is the most simple way to load new software and updates onto the board. The same JTAG software is also backwards compatible with all previous Gateworks boards. This release is limited to Linux and provides programming support and does not include upload or verify support. Ventana is unique in that it is the first family to use NAND flash which requires additional routines to handle bad blocks.

The new JTAG Linux executables, can be found on the Gateworks Software Wiki:

http://trac.gateworks.com/wiki/jtag_instructions#JTAGExecutables

To find the most current and up to date prebuild binary images of OpenWrt for Ventana:

http://trac.gateworks.com/wiki/ventana/openwrt#Step2.InstallingFirmware

Gateworks Support Team