Version 2 (modified by 7 years ago) ( diff ) | ,
---|
-
Android
- Building Android Source Code
- Android Pre-Compiled Software
- Booting Android
- Android Development Notes
- Android GW11036 Development Kit
- Display Output
- Networking
- GPS
- Sensors
- Analog Video Input for Camera
- Over-The-Air Updates
- Developer Tools
- Android Apps
- Sideloading Applications
- Extended Multimedia functionality (not available in standard Gateworks BSP)
Android
Gateworks provides an Android Board Support Package for the Ventana Product family. Android is a popular Operating System, developed by Google and based on a Linux kernel.
Gateworks Android BSP is based on Android Open Source Project (AOSP) code, with Freescale patches applied (some proprietary and not open-source), with some extra Gateworks patches on top specific to Ventana boards.
The following Ventana hardware is currently supported:
- GW551x/GW552x/GW553x/GW54xx/GW53xx/GW52xx/GW51xx
- LVDS Touchscreen / Backlight / Display (Freescale LVDS1 aka MCIMX-LVDS1 - see here for details)
- HDMI Display
- Analog Video Input (camera)
- Analog Audio Input (sound recording)
- Analog Audio Output (used when using LVDS video output)
- HID Mouse / Keyboard input
- Boot Devices: NAND (2GB required), micro-SD, USB Mass Storage (EHCI/OTG), mSATA
Gateworks has BSP's for the following versions of Android:
- Lollipop (Android 5.1.1)
- KitKat (Android 4.4.3)
- JellyBean-MR2 (Android 4.3)
The following is a hardware compatibility matrix:
Device | JellyBean-MR2 (4.3) | KitKat (4.4.3) | Lollipop (5.1.1) | Notes |
---|---|---|---|---|
Memory size | 512M | 512M | 512M | 1GB+ ram recommended |
GW551x | No | Yes | Yes | |
GW552x | No | Yes | Yes | |
GW553x | No | Yes | Yes | (IMU not yet supported) |
GW54xx | Yes | Yes | Yes | (HDMI/LVDS output only - no CVBS) |
GW53xx | Yes | Yes | Yes | |
GW52xx | Yes | Yes | Yes | |
GW51xx | Yes | Yes | Yes | |
PCIe | Yes | Yes | Yes | |
LVDS touchscreen | Yes | Yes | Yes | see here |
HDMI out | Yes | Yes | Yes | |
HID Mouse / Kbd | Yes | Yes | Yes | |
Analog Video In | Yes | Yes | Yes | (front Camera) see #camera |
Analog Audio In / Out | Yes | Yes | Yes | |
GPS (on board Wi2Wi) | Yes | Yes | Yes | see here |
External Storage | Yes | Yes | Yes | USB / micro-SD / SATA / NAND |
Ethernet | Yes | Yes | Yes | see here |
Wifi (client mode) | Yes | Yes | Yes | see here |
accelerometer | Yes | Yes | Yes | see here |
magnetometer | Yes | Yes | Yes | see here |
boot from micro-SD | Yes | Yes | Yes | |
boot from USB | Yes | Yes | Yes | |
boot from mSATA | Yes | Yes | Yes | |
boot from NAND | No | Yes | Yes | (requires 2GB NAND) |
Over-The-Air (OTA) update | No | No | Yes | see here |
Building Android Source Code
Android Pre-Compiled Software
Booting Android
Android Development Notes
Development Resources:
Android GW11036 Development Kit
Display Output
The Gateworks Android BSP's support HDMI and LVDS output. An HDMI connection will be auto-detected on bootup by the Android boot script but will default to 1080p resolution. If you need to specify 720p or 480p you can set the bootloader hdmi
env variable to 720p
or 480p
or manually set the video
parameter for more specific control. Note that Analog Video (CVBS) output available on the GW54xx is not supported.
The ability to mirror two displays is also available in the Gateworks Android BSP. The steps for duplication of displays as well as setting the outputs of individual displays is further documented on the Android/Booting wiki page.
Networking
Wired Ethernet Networking
Android does support Ethernet interfaces, but lacks the UI to select which interface to use if multiple are available.
By default the eth0 Network Interface is automatically configured via DHCP.
See Android/OSDevelopment for details on how to change this.
Wireless Networking
Android isn't designed to support a random variety of hardware, therefore supporting 'XYZ' radio device may involve customization.
The Gateworks Android BSP kernel is built with the following wireless device support by default (defined in kernel_imx/arch/arm/configs/gwventana_android_config):
- ath5k (PCI 802.11a/b/g)
- ath9k (PCIe 802.11n)
See Android Wireless for more info
Cellular Modem Networking
Modem support in Android is less than other operating systems.
Freescale has added support for one modem ( HUAWEI EM770W ). Gateworks has not tested this.
Please read more in the Freescale Release documents that apply to the release being used:
Modem configuration:
GPS
The Wi2Wi W2SG0008i on-board GPS module available as an option on Ventana boards is supported by the Android BSP.
Example Apps:
- GPS Test Plus - show GPS details
References:
Sensors
The Gateworks Ventana GW54xx/GW53xx/GW52xx boards have a Freescale FXOS8700 3-axis accelerometer/3-axis magnetometer sensor which is supported under the Gateworks Android BSP. This combination of sensors can provide you with:
- portrait/landscape detection, tap detect, fall detect
- pedometry, vibration analysis, and activity monitoring
- eCompass: device orientation and magnetic heading
- virtual gyro (in a magnetically clean/stable environment)
Note that while Android defines an 'orientation sensor' it has been deprecated in Android 2.2. Some apps however have not moved on to using the accelerometer/magnetometer for orientation.
Example apps:
- clinometer - a clinomometer (slope finder) and bubble level
- elixir-2 - a set of tools with a nice sensor monitoring app
References:
- http://developer.android.com/guide/topics/sensors/sensors_overview.html
- FXOS8700 datasheet
- FXOS8700 product page
- Freescale Presentation on Sensors
Analog Video Input for Camera
The Gateworks Android BSP's support Analog video capture via the ADV7180 CVBS video decoder.
The HDMI video input receiver is not supported at this time.
Over-The-Air Updates
Android has support for Over-The-Air software updates built-in. Gateworks has augmented this to improve it in several areas:
- single ota image for multiple boot devices (NAND/ubi or blockdev)
- add filesystem support used by Ventana Android BSP
- update Ventana bootloader/SPL
See Android/Updates for more details
Developer Tools
Developers can get started quickly by purchasing a USB Stick Pre-Loaded with Android on the Gateworks Online Shop
For Windows Developers (WinCE, Wec7), C# and .NET can be used for development, including but not limited to Xamarin.Android.
Android pairs great with Eclipse as an IDE.
It features a Full Java IDE, a Graphical UI Builder, and on device debugging options.
Please see the following link for more information: http://developer.android.com/tools/index.html
There are many other options around the net, including a Visual Studio option vs-android: Developing for Android in Visual Studio
Android Apps
Below are some apps. Apps can be found on many marketplaces or as APK's. Please note, Gateworks does not license is in no way affiliated with the companies or has tested any of these apps.
- firmDROID Digital Signage
- NoviSign Digital Signage
- Signage Player Android (FREE)
- TabShop - Point of Sale POS
- Smart Home Control
Sideloading Applications
Devices that are Android compatible may seek to license the Google Play client software. This allows them to become part of the Android app ecosystem, by allowing users to download developers' apps from a catalog shared by all compatible devices. This option isn't available to devices that aren't compatible. The process to achieve Google Android Compatibility is up to the end-user product as the Gateworks baseboards themselves are not a finished product until radios, modems, etc are added by the end user.
In order to install apps outside of the Google Android ecosystem (aka Google Play App Store) you will need to side-load apps or install an alternative marketplace. You will need to enable 'Unknown sources' in the 'Security' tab of the Settings application to load apk's. Once you do this you have a few options such as (to name a few):
- Obtain APK's from other devices or download sites such as http://www.androiddrawer.com
- Sideload apps via adb 'install' command
- Install an app store (see here for possible suggestions):
- Amazon's Appstore for Android from http://www.amazon.com/gp/mas/get/android
- requires an Amazon account
- APTOiDE - free repository of Android apps
- F-Droid - free repository of free and open source software (FOSS) Android apps
- Amazon's Appstore for Android from http://www.amazon.com/gp/mas/get/android
Extended Multimedia functionality (not available in standard Gateworks BSP)
Freescale offers additional packages to extend Android KitKat (4.4) and Lollipop (5.0) functionality avaialble to approved customers.
- Extended Multimedia Feature Package (additional codecs)
- local playback
- enhanced codecs, demultiplexer, and file formats: MOV, AVI, ASF, FLV, MPEG-PS, MPEG-TS
- trick mode playback
- multiple audio track selection
- recording
- stream playback: HTTP, RTSP, HTTPLive, RTP, UDP
- subtitle support
- Wi-Fi Display Sink Feature Package (Miracast support)
- the source provided is for a Realtek 8723AS WiFi SDIO card but the design of this feature allows porting to any WiFi hardware module
Some additional 'License limited codecs' can be obtained from Freescale as well which include:
- fsl_ac3_dec.tar.gz - AC3 Audio decodec
- fsl_ddp_dec.tar.gz - DD Plus Audio decoder
- fsl_ms_codec.tar.gz - ASF Demuxer, WMV Video decoder, WMA Audio decoder (Microsoft)
- fsl_real_dec.tar.gz - RM Demuxer, VPU Video decoder, RA Audio decoder (Real)
Notes:
- source code package provided as-is with no support and made available to approved customers via an extranet site
- customer will have options to purchase support or customization services from Freescale if needed
- for more info contact L2manager-android@…
Extended Multimedia Feature Package Installation instructions
To install the Freescale extended codec package you need the following:
- a build of the Gateworks Android BSP
- the tarball obtained from Freescale via an e-mail request to L2manager-android@… appropriate for the version of Android you are building (ie android_L5.1.1_2.1.0-ga_omxplayer_source.tar.gz)
Proceedure:
- untar the tarball in your Android build directory:
untar android_L5.1.1_2.1.0-ga_omxplayer_source.tar.gz
- this will extract the following:
- device/fsl-codec/ - pre-built core codecs
- external/fsl_imx_omx/ - integration into OpenMAX/stagefright via OpenMAXIL
- switch_build_to.sh - script for switching between
full
andcore
install - clean_obj_before_building.sh -
- this will extract the following:
- execute scripts to configure, clean, and make:
source build/envsetup.sh lunch ventana-user # select build variant ./switch_build_to.sh full ./clean_obj_before_building.sh make
There are two methods of inclusion:
- core - includes pre-built core codecs via shared-object libraries on filesystem only
- uses device/fsl-codec (HAVE_FSL_IMX_CODEC = false)
device/fsl-codec/fsl-codec.mk)
- full - integrates new codecs and functionality into OpenMAX/stagefright via OpenMAXIL
- uses external/fsl_imx_omx (HAVE_FSL_IMX_CODEC = true)
- includes the CactusPlayer app (built from provided source) that takes advantage of some of the features
You can later remove the Freescale extended codec package by removing the two directories and scripts it installs into your build directory:
rm -rf device/fsl-codec external/fsl_imx_omx switch_build_to.sh clean_obj_before_building.sh
Attachments (2)
- GW17013_slide.png (115.6 KB ) - added by 7 years ago.
- androidbezel.jpg (139.7 KB ) - added by 7 years ago.
Download all attachments as: .zip