Android-Pie User-Manual 20190330
Android-Pie User-Manual 20190330
Android-Pie User-Manual 20190330
VER. 1.00
March 30, 2019
Page 1 of 18
REVISION HISTORY
Revision Date Originator Notes
1.00 March 30, 2019 TechNexion First public release
Page 2 of 18
Table of Contents
1. Introduction ................................................................................................................... 4
1.1 About Android Pie ....................................................................................................................... 4
2. Support List of TechNexion Hardware Platform ......................................................... 5
3. Software Configuration ................................................................................................. 6
3-1 Software Revision ...................................................................................................................... 6
3-2 Memory Layout of the Android 9 Image ..................................................................................... 6
3.3 Image Installation ....................................................................................................................... 7
3.4 Serial Debug............................................................................................................................... 7
3.5 Network ...................................................................................................................................... 7
3.6 Expansion Pin Header................................................................................................................ 9
3.7 Termux app............................................................................................................................... 10
3.8 Audio HAT ................................................................................................................................ 12
3.9 Serial Link ................................................................................................................................ 13
3.10 Android Treble ........................................................................................................................ 15
4. Software Development and Upgrade ......................................................................... 17
5. Q & A ............................................................................................................................ 18
Page 3 of 18
1. Introduction
1.1 About Android Pie
Android Pie (9.0) is the latest Android version in 2018, which improves its user experience and performance. Some of its
customized features as below:
Page 4 of 18
2. Support List of TechNexion Hardware Platform
Android Pie will be supported on below TechNexion platforms:
Initial support
◼ PICO-IMX8M
Future support
◼ PICO-IMX8MM
◼ EDM-IMX8M
◼ PICO-IMX6
◼ PICO-IMX7
Each hardware has its unique functions and features, please refer to the data sheet for more details if needed. All product
information can be found on TechNexion official website.
Page 5 of 18
3. Software Configuration
3-1 Software Revision
Name Revision
u-boot 2018.03-g456ed24
linux kernel 4.14.78-g9d10589
Android 9.0.0-1.0.0_8m-ga
Section Description
GPT Partition information
Bootloader u-boot.imx: First stage u-boot image
Partition 1 dtbo_a (backup partition) dtbo.img
Page 6 of 18
3.3 Image Installation
Use MFGtool to flash Android 9 image to eMMC. This tool can be downloaded from the link.
Android Debug Bridge (ADB): plug-in a Type-C USB cable to the connector (a) on the PI baseboard, issue the command
‘adb shell’, then start debugging.
3.5 Network
➢ Ethernet
Android auto runs DHCP daemon when boot. Please make sure to plug-in the cable before booting the device.
➢ WiFi
◼ Station mode
Support both 2.4GHz and 5GHz bands
◼ AP (Access Point) mode
Support 2.4GHz with WPA- PSK security password
Only one networking mode can work at a time. When ethernet mode is on, it will show a failed WiFi connection icon on the
top right corner of the screen. To turn on WiFi station mode, please remove the ethernet cable, the system will
automatically switch to WiFi station mode. Users can also issue below command to disable the ethernet.
Page 7 of 18
Ethernet is necessary to enable AP mode. Ethernet will work as a network node, connecting to Wide Area Network. If the
ethernet cable is unplugged before booting up, it will connect to Local Area Network only.
➢ Bluetooth modes:
◼ Bluetooth Classic mode
◼ Bluetooth LE mode
Page 8 of 18
3.6 Expansion Pin Header
(J8)
(J9)
PI baseboard
PI baseboard provides expansion pin header for users to easily expand the customized I/O devices using GPIO, I2S, I2C,
SPI and PWM low speed interfaces.
Page 9 of 18
3.7 Termux app
Termux is a Linux terminal emulator for Android, which supports apt and opkg package managers. It allows Linux users to
develop Android apps more easily.
However, for security concern (selinux on Android), Termux cannot run on normal user mode. To remove security
limitations, users need to issue below commands:
$ adb shell
$ su
# setenforce 0
Page 10 of 18
Termux is not working when Android selinux is locked.
Page 11 of 18
3.8 Audio HAT
(c)
(d)
Audio-HAT
Audio-HAT is designed based on expansion pin header mentioned in Chapter 3.6. It connects to the expansion pin header
directly. Android 9 supports Audio-HAT through sysfs. In the next distribution, it will be supported in android framework.
In the latest distribution, it provides Termux app, which can easily control the functions of Audio-HAT as following:
# ls /sys/class/leds/
gpio-led pca995x:blue0 pca995x:blue4 pca995x:green2 pca995x:red1
mmc0:: pca995x:blue1 pca995x:blue5 pca995x:green3 pca995x:red2
mmc1:: pca995x:blue2 pca995x:green0 pca995x:green4 pca995x:red3
mmc2:: pca995x:blue3 pca995x:green1 pca995x:red0 pca995x:red4
◼ Speakers
1. Testing
In Android, tinyalsa related tool can easily play the wave file. Please note the speaker only supports <= 16
bits.
# tinyplay test.wav -D 2 -c 2
Playing sample: 2 ch, 48000 hz, 16 bit (you can choose mono mode or stereo mode using -c parameter)
2. Developing
Please add the source code of system command application to downloaded github SDK.
◼ MEMS microphone
1. Testing
Please note the microphone only supports 32 bits.
# tinycap test.wav -D 0 -c 2 -r 48000 -b 32 (you can choose mono mode or stereo mode using -c parameter)
2. Developing
Please add the source code of system command application to downloaded github SDK.
Page 12 of 18
3.9 Serial Link
It supports a 2-wire RS232 port on 40-pin expansion pin header as (J8) in chapter 3.6.
TX: Pin 7
RX: Pin 11
Page 13 of 18
Click “SERIAL PORT SETTING” to config the UART node and baud rate, users can easily to test read, write and loopback
functions.
Page 14 of 18
3.10 Android Treble
◼ ADB
Connect a USB type-C cable from Host PC to hardware board, and issue the commands to debug:
Root permission
$ adb root
Normal permission
$ adb shell
◼ Fastboot
In Android 9, users must use fastboot command to unlock the partition flashing permission before any upgrade
behavior.
In fastboot mode, please issue commands to unlock first before starting to flash new images:
Page 15 of 18
Below features are fully supported, users can develop on our github SDK.
◼ A/B system
◼ OTA upgrade
◼ Treble structure of source code
Page 16 of 18
4. Software Development and Upgrade
Online Github SDK includes the source code and instruction.
https://github.com/technexion-android/cookers/tree/tn-p9.0.0_1.0.0_8m-ga
Page 17 of 18
5. Q & A
1. Why does video player only support portrait mode when using MIPI-DSI LCD panel on landscape mode?
Ans:
It’s due to the bugs in OMX VPU library from chip vendor. Alternatively, TechNexion provides a workaround to change the
parameters on user’s video using ffmpeg tool:
Ans:
Step 1. Unlock the flashing permission such as chapter 3.10 and reboot in fastboot mode.
# reboot bootloader
Step 3. Disabling the secure function using adb command on host side, then reboot again.
$ adb root
$ adb disable-verity
$ adb reboot
Step 4. Remount the all partitions as writeable partitions, for now, users can create a file to test.
## Host side
$ adb root
$ adb remount
$ adb shell
Page 18 of 18