Changes between Initial Version and Version 1 of Android


Ignore:
Timestamp:
10/22/2017 05:28:45 AM (7 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Android

    v1 v1  
     1[[PageOutline]]
     2
     3= Android =
     4[[Image(androidbezel.jpg,400px)]]
     5
     6Gateworks 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.
     7
     8Gateworks Android BSP is based on [http://source.android.com/faqs.html 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.
     9
     10The following Ventana hardware is currently supported:
     11 * GW551x/GW552x/GW553x/GW54xx/GW53xx/GW52xx/GW51xx
     12 * LVDS Touchscreen / Backlight / Display ('''Freescale LVDS1''' aka '''MCIMX-LVDS1''' - see [wiki:ventana/LVDS here] for details)
     13 * HDMI Display
     14 * Analog Video Input (camera)
     15 * Analog Audio Input (sound recording)
     16 * Analog Audio Output (used when using LVDS video output)
     17 * HID Mouse / Keyboard input
     18 * Boot Devices: NAND (2GB required), micro-SD, USB Mass Storage (EHCI/OTG), mSATA
     19
     20Gateworks has BSP's for the following versions of Android:
     21 * Lollipop (Android 5.1.1)
     22 * !KitKat (Android 4.4.3)
     23 * !JellyBean-MR2 (Android 4.3)
     24
     25The following is a hardware compatibility matrix:
     26||= Device           =||= !JellyBean-MR2 (4.3) =||= !KitKat (4.4.3) =||= Lollipop (5.1.1) =||= Notes =||
     27|| Memory size            || 512M || 512M || 512M || 1GB+ ram recommended          ||
     28|| GW551x                 || No  || Yes || Yes ||                                  ||
     29|| GW552x                 || No  || Yes || Yes ||                                  ||
     30|| GW553x                 || No  || Yes || Yes || (IMU not yet supported)                                ||
     31|| GW54xx                 || Yes || Yes || Yes || (HDMI/LVDS output only - no CVBS) ||
     32|| GW53xx                 || Yes || Yes || Yes ||                                  ||
     33|| GW52xx                 || Yes || Yes || Yes ||                                  ||
     34|| GW51xx                 || Yes || Yes || Yes ||                                  ||
     35|| PCIe                   || Yes || Yes || Yes ||                                  ||
     36|| LVDS touchscreen       || Yes || Yes || Yes || see [#display here]              ||
     37|| HDMI out               || Yes || Yes || Yes ||                                  ||
     38|| HID Mouse / Kbd        || Yes || Yes || Yes ||                                  ||
     39|| Analog Video In        || Yes || Yes || Yes || (front Camera) see [#camera]     ||
     40|| Analog Audio In / Out  || Yes || Yes || Yes ||                                  ||
     41|| GPS (on board Wi2Wi)   || Yes || Yes || Yes || see [#gps here]                  ||
     42|| External Storage       || Yes || Yes || Yes || USB / micro-SD / SATA / NAND     ||
     43|| Ethernet               || Yes || Yes || Yes || see [#ethernet here]             ||
     44|| Wifi (client mode)     || Yes || Yes || Yes || see [#wifi here]                 ||
     45|| accelerometer          || Yes || Yes || Yes || see [#sensors here]              ||
     46|| magnetometer           || Yes || Yes || Yes || see [#sensors here]              ||
     47|| boot from micro-SD     || Yes || Yes || Yes ||                                  ||
     48|| boot from USB          || Yes || Yes || Yes ||                                  ||
     49|| boot from mSATA        || Yes || Yes || Yes ||                                  ||
     50|| boot from NAND         || No  || Yes || Yes || (requires 2GB NAND)              ||
     51|| Over-The-Air (OTA) update|| No || No || Yes || see [#ota here]                  ||
     52
     53
     54== Building Android Source Code ==
     55 * [wiki:Android/Building Building/Installing Android for the Ventana Family]
     56
     57
     58== Android Pre-Compiled Software ==
     59 * [wiki:Android/Building#GateworksPrecompiledAndroidBinary Android Download]
     60
     61
     62== Booting Android ==
     63 * [wiki:Android/Booting Booting Android on Ventana SBC]
     64
     65
     66== Android Development Notes ==
     67
     68Development Resources:
     69 * [wiki:Android/AppDevelopment Android Application Development]
     70 * [wiki:Android/OSDevelopment Android OS Development]
     71
     72== Android GW11036 Development Kit ==
     73 * [wiki:Android/DevelopmentKit GW11036 Android Development Kit]
     74
     75
     76[=#display]
     77== Display Output ==
     78The 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.
     79
     80The 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 [wiki:Android/Booting#DisplayOutputSelection] wiki page.
     81
     82[=#network]
     83== Networking ==
     84
     85
     86[=#ethernet]
     87=== Wired Ethernet Networking ===
     88Android does support Ethernet interfaces, but lacks the UI to select which interface to use if multiple are available.
     89
     90By default the '''eth0''' Network Interface is automatically configured via DHCP.
     91
     92See [wiki:Android/OSDevelopment#dhcp Android/OSDevelopment] for details on how to change this.
     93
     94
     95[=#wifi]
     96=== Wireless Networking ===
     97Android isn't designed to support a random variety of hardware, therefore supporting 'XYZ' radio device may involve customization.
     98
     99The Gateworks Android BSP kernel is built with the following wireless device support by default (defined in kernel_imx/arch/arm/configs/gwventana_android_config):
     100 * ath5k (PCI 802.11a/b/g)
     101 * ath9k (PCIe 802.11n)
     102
     103See [wiki:Android/wireless Android Wireless] for more info
     104
     105[=#wifi]
     106=== Cellular Modem Networking ===
     107Modem support in Android is less than other operating systems.
     108
     109Freescale has added support for one modem ( HUAWEI EM770W ). Gateworks has not tested this.
     110
     111Please read more in the Freescale Release documents that apply to the release being used:
     112 * [http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx53-processors/android-os-for-i.mx-applications-processors:IMXANDROID?code=IMXANDROID&nodeId=0150522FC8ZrDR988D&fpsp=1&tab=Documentation_Tab Release Notes]
     113
     114Modem configuration:
     115 * https://community.freescale.com/docs/DOC-328353
     116
     117
     118[=#gps]
     119== GPS ==
     120The [wiki:gps#Wi2WiW2SG0008iGW5400-CGW5300GW5200GW5100 Wi2Wi W2SG0008i] on-board GPS module available as an option on Ventana boards is supported by the Android BSP.
     121
     122Example Apps:
     123 * [http://edugasper.store.aptoide.com/app/market/com.chartcross.gpstestplus/22/706099/GPS%20Test%20Plus GPS Test Plus] - show GPS details
     124
     125References:
     126 * http://developer.android.com/reference/android/location/LocationManager.html
     127
     128
     129[=#sensors]
     130== Sensors ==
     131The Gateworks Ventana GW54xx/GW53xx/GW52xx boards have a Freescale [http://cache.freescale.com/files/sensors/doc/data_sheet/FXOS8700CQ.pdf FXOS8700] 3-axis accelerometer/3-axis magnetometer sensor which is supported under the Gateworks Android BSP. This combination of sensors can provide you with:
     132 * portrait/landscape detection, tap detect, fall detect
     133 * pedometry, vibration analysis, and activity monitoring
     134 * eCompass: device orientation and magnetic heading
     135 * virtual gyro (in a magnetically clean/stable environment)
     136
     137Note 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.
     138
     139Example apps:
     140 * [http://fernando-messixlr.store.aptoide.com/app/com.plaincode.xclinometer/6/2470842 clinometer] - a clinomometer (slope finder) and bubble level
     141 * [http://donkarleon.store.aptoide.com/app/market/com.bartat.android.elixir/82/4776394/Elixir%202 elixir-2] - a set of tools with a nice sensor monitoring app
     142
     143References:
     144 * http://developer.android.com/guide/topics/sensors/sensors_overview.html
     145 * [http://cache.freescale.com/files/sensors/doc/data_sheet/FXOS8700CQ.pdf FXOS8700 datasheet]
     146 * [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FXOS8700CQ FXOS8700 product page]
     147 * [http://2012ftf.ccidnet.com/pdf/0531.pdf Freescale Presentation on Sensors]
     148
     149
     150[=#camera]
     151== Analog Video Input for Camera ==
     152The Gateworks Android BSP's support Analog video capture via the ADV7180 CVBS video decoder.
     153
     154The HDMI video input receiver is not supported at this time.
     155
     156
     157[=#ota]
     158== Over-The-Air Updates ==
     159Android has support for Over-The-Air software updates built-in. Gateworks has augmented this to improve it in several areas:
     160 * single ota image for multiple boot devices (NAND/ubi or blockdev)
     161 * add filesystem support used by Ventana Android BSP
     162 * update Ventana bootloader/SPL
     163
     164See [wiki:Android/Updates] for more details
     165
     166
     167[=#development]
     168== Developer Tools ==
     169Developers can get started quickly by purchasing a USB Stick Pre-Loaded with Android on the [http://shop.gateworks.com/index.php?route=product/product&path=70_82&product_id=133 Gateworks Online Shop]
     170
     171For '''Windows Developers (WinCE, Wec7), C# and .NET''' can be used for development, including but not limited to [http://xamarin.com/android Xamarin.Android].
     172
     173Android pairs great with '''Eclipse''' as an IDE.
     174
     175It features a Full Java IDE, a Graphical UI Builder, and on device debugging options.
     176
     177Please see the following link for more information: [http://developer.android.com/tools/index.html]
     178
     179There are many other options around the net, including a '''Visual Studio''' option [http://www.gavpugh.com/2011/02/04/vs-android-developing-for-android-in-visual-studio/ vs-android: Developing for Android in Visual Studio]
     180
     181
     182[=#app-development]
     183== Android Apps ==
     184Below 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.
     185
     186 * [http://firmdroid.com/ firmDROID Digital Signage]
     187 * [http://www.novisign.com/software/ NoviSign Digital Signage ]
     188 * Signage Player Android (FREE)
     189 * Bar POS Free
     190 * [http://www.smartlab.at/tabshop-pos/ TabShop - Point of Sale POS]
     191 * [http://www.smarthome.com/android_apps.html Smart Home Control]
     192
     193
     194[=#app-sideloading]
     195== Sideloading Applications ==
     196Devices 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.
     197
     198In 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):
     199 * Obtain APK's from other devices or download sites such as http://www.androiddrawer.com
     200 * Sideload apps via [http://developer.android.com/tools/help/adb.html adb] 'install' command
     201 * Install an app store (see [http://www.onepf.org/appstores/ here] for possible suggestions):
     202  * Amazon's Appstore for Android from http://www.amazon.com/gp/mas/get/android
     203   * requires an Amazon account
     204  * [http://www.aptoide.com/ APTOiDE] - free repository of Android apps
     205  * F-Droid - free repository of free and open source software (FOSS) Android apps
     206
     207
     208[=#multimedia]
     209== Extended Multimedia functionality (not available in standard Gateworks BSP) ==
     210Freescale offers additional packages to extend Android !KitKat (4.4) and Lollipop (5.0) functionality avaialble to approved customers.
     211 * Extended Multimedia Feature Package (additional codecs)
     212  - local playback
     213  - enhanced codecs, demultiplexer, and file formats: MOV, AVI, ASF, FLV, MPEG-PS, MPEG-TS
     214  - trick mode playback
     215  - multiple audio track selection
     216  - recording
     217  - stream playback: HTTP, RTSP, HTTPLive, RTP, UDP
     218  - subtitle support
     219 * Wi-Fi Display Sink Feature Package (Miracast support)
     220  - the source provided is for a Realtek 8723AS !WiFi SDIO card but the design of this feature allows porting to any !WiFi hardware module
     221
     222Some additional 'License limited codecs' can be obtained from Freescale as well which include:
     223 * fsl_ac3_dec.tar.gz - AC3 Audio decodec
     224 * fsl_ddp_dec.tar.gz - DD Plus Audio decoder
     225 * fsl_ms_codec.tar.gz - ASF Demuxer, WMV Video decoder, WMA Audio decoder (Microsoft)
     226 * fsl_real_dec.tar.gz - RM Demuxer, VPU Video decoder, RA Audio decoder (Real)
     227
     228Notes:
     229 * source code package provided '''as-is''' with no support and made available to approved customers via an extranet site
     230 * customer will have options to purchase support or customization services from Freescale if needed
     231 * for more info contact L2manager-android@freescale.com
     232
     233=== Extended Multimedia Feature Package Installation instructions ===
     234To install the Freescale extended codec package you need the following:
     235 - a build of the Gateworks Android BSP
     236 - the tarball obtained from Freescale via an e-mail request to L2manager-android@freescale.com appropriate for the version of Android you are building (ie android_L5.1.1_2.1.0-ga_omxplayer_source.tar.gz)
     237
     238Proceedure:
     239 1. untar the tarball in your Android build directory:
     240{{{
     241untar android_L5.1.1_2.1.0-ga_omxplayer_source.tar.gz
     242}}}
     243  * this will extract the following:
     244   - device/fsl-codec/ - pre-built core codecs
     245   - external/fsl_imx_omx/ - integration into OpenMAX/stagefright via OpenMAXIL
     246   - switch_build_to.sh - script for switching between {{{full}}} and {{{core}}} install
     247   - clean_obj_before_building.sh -
     248 2. execute scripts to configure, clean, and make:
     249{{{
     250source build/envsetup.sh
     251lunch ventana-user # select build variant
     252./switch_build_to.sh full
     253./clean_obj_before_building.sh
     254make
     255}}}
     256
     257There are two methods of inclusion:
     258 * core - includes pre-built core codecs via shared-object libraries on filesystem only
     259  - uses device/fsl-codec (HAVE_FSL_IMX_CODEC = false)
     260device/fsl-codec/fsl-codec.mk)
     261 * full - integrates new codecs and functionality into OpenMAX/stagefright via OpenMAXIL
     262  - uses external/fsl_imx_omx (HAVE_FSL_IMX_CODEC = true)
     263  - includes the CactusPlayer app (built from provided source) that takes advantage of some of the features
     264
     265You can later remove the Freescale extended codec package by removing the two directories and scripts it installs into your build directory:
     266{{{
     267rm -rf device/fsl-codec external/fsl_imx_omx switch_build_to.sh clean_obj_before_building.sh
     268}}}