-
Notifications
You must be signed in to change notification settings - Fork 12
Getting Started with the Helium reference platform
The 96Boards Helium platform is based on the 64-bit ARMADA® Mobile PXA1928 SoC by Marvell. On board is 2GB RAM, 8GB internal eMMC, a TI WLAN/BT connectivity chip, 1x OTG and 2x host USB ports and other standard 96Boards features such has high and low speed expansion headers for UART, DSI and HSIC. An external power supply will be provided along with the Helium boards.
Helium boards come with the following connectors
HDMI Port
At present the HDMI port is only supported up to 720p display. We expect a future software update to support 1080p and more alternate video modes for the display.
USB Ports
There are multiple USB ports on the Helium board:
- One micro USB OTG port on the front edge of the board
- Two Type A USB 2.0 host ports on the front edge of the board
- One USB 2.0 host port on the high-speed expansion bus
UART Ports
The 96Boards UARTs are mapped as follows. They are configured at 115200 baud by default. The kernel console defaults to /dev/ttyS3.
Board UART location Linux tty device
------------------- ----------------
Debug 2x2 2mm header UART /dev/ttyS0
Bluetooth UART /dev/ttyS1
LS Expansion UART1 /dev/ttyS2
LS Expansion UART2 /dev/ttyS3
- Note that the LS expansion port I/O pins on the 96-Boards 2mm header, including the UART signals, are at 1.8V levels.
The following are known software issues on the current Android 5.1 release.
-
Not Yet Supported
- HDMI and Expansion bus audio.
- WiFi & Bluetooth wireless interfaces.
- Hardware accelerated codecs for playing media files are not supplied by Marvell. The default Google software codecs must be used.
-
Partially Supported
- HDMI video is displayed up to 720p
-
Unique Serial ID
- Support for a serial id is missing in u-boot. This causes the fastboot devices command to return "????????????".
- Need better UMS support
- Need to allow for setting fs-types for better UMS support. Can't mount with usb mass storage gadget.
Before you start installing the MDK release on your Helium Board, it is important have your host machine ready with all the necessary software required to work with Helium and SDB. To get started, you will need an external power supply and a USB keyboard.
The Helium board requires an external power supply providing 12V at 2A. (The board will also work with 9V or 15V power supplies). It is not possible to power the board from a USB power supply because the board can use more power than is available from a standard USB power supply. The Helium board uses a standard DC barrel jack with a 1.7mm barrel, center pin positive. An adapter cable is required to use power supplies with 2.1mm barrel jacks. If you didn’t get a power supply for helium with the development kit, suggested power solutions and adapters can be found here.
Ensure that minicom, fastboot and adb are installed on your host system:
$ sudo apt-get install minicom
$ sudo apt-get install android-tools-fastboot
$ sudo apt-get install android-tools-adb
A standard user will want pins 1-2 connected and leave the others open unless needed.
Connected Pin Functions
PINS 1-2: Auto-power up when power the power connector is inserted into the barrel jack. If link 1-2 is not closed, it will be necessary to power press the power button on the long side of the board near the barrel jack to get the board to boot.
PINS 3-4: PXA1928 SoC internal ROM to start up in bootROM USB download mode which will allow installing a supplied bootloader over the microUSB OTG port into eMMC.
PINS 5-6: Force boot into fastboot mode (used for flashing partitions).
If Link 1-2 is not installed then the back edge push button switch near the power jack is used to power on the Helium board. Make sure a cable is NOT connected between the front side microUSB port (next to the HDMI port) and a PC as this will cause the board to start up in fastboot mode.
The console comes up to UART1 on the Low Speed Expansion Connector. A small mezzanine UART-USB card is available to enable direct connection to a PC (Linaro’s “Sonic Screwdriver”). Alternatively you can use an FTDI cable configured for 1.8V operation terminated in wires and directly connect the UART Tx, Rx and GND wires to pins 1, 11 and 13 on the 96Boards low speed expansion header. Connect the UART-USB card microUSB port or FTDI cable to your PC and start up a terminal program (e.g. minicom). Configure the PC serial port to be 115200 baud, 8 data bits, 1 stop bit, and no parity bit, disable flow control.
If you are using a Linaro “Sonic Screwdriver” debug board please make sure it is installed as pictured below. J1 pin selection should be set to UART1. Note that the back edge of the device (where DC is connected) should be flush with the back edge of the debug board (side with Micro USB connector).
You can cause damage to your device OR the debug board by installing backwards!
U-Boot 2015.07-gaa0691b (Aug 28 2015 - 11:19:22 -0700)
I2C: ready
DRAM: 2 GiB
MMC: mv_sdh: 0, mv_sdh: 1
In: eserial2
Out: eserial2
Err: eserial2
Net: usb_ether
Error: usb_ether address not set.
Hit any key to stop autoboot: 0
Your host may need to be configured for fastboot, if you have never installed it before. If you already have fastboot configured, please double check that you have the lines below in /etc/udev/rules.d/51-android.rules under “Add Marvell & Fastboot Vendor ID/Product ID information to udev rules”
Use the following commands to install fastboot on your Linux PC
$ sudo apt-get install android-tools-fastboot # On Debian/Ubuntu
$ sudo yum install android-tools # On Fedora
$ sudo pacman -S android-tools # On Arch
Either create the file: /etc/udev/rules.d/51-android.rules with the following content, or append the content to the file if it already exists. You will need to have superuser privileges to create and/or edit the file.
$ sudo vi /etc/udev/rules.d/51-android.rules
# or
$ sudo gedit /etc/udev/rules.d/51-android.rules
Add the following to the file:
# USB download gadget on Marvell PXA1928 Helium
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", GROUP="dialout"
# Ethernet gadget on Marvell PXA1928 Helium
SUBSYSTEM=="usb", ATTR{idVendor}=="0525", ATTR{idProduct}=="a4a1", MODE="0600", GROUP="dialout"
# TD2 on Marvell PXA1928 Helium
SUBSYSTEM=="usb", ATTR{idVendor}=="1286", ATTR{idProduct}=="8165", MODE="0600", GROUP="dialout"
The Helium board can be placed into "fastboot" mode in several ways.
- connect J15 pin 5-6
- via serial console during boot
- via serial console after boot (Android OS)
- via Android Debug Bridge (adb) after boot (Android OS)
Each method is described below depending on the device's power state and ability to use a serial console.
*NOTE: Fastboot protocol will require a USB connection from your host to the micro USB port on Helium.
- Find J15 on the “top” view of the Helium board. Connect pins 5 and 6 with a jumper.
- Power on the device normally
- After about 5 seconds the device will automatically enter fastboot mode
-
Confirm that you have serial console by following the instructions in the section “Connecting to a UART Console”
-
Power on the device normally
-
Interrupt the autoboot delay when “Hit any key to stop autoboot:” is displayed by pressing enter in your serial terminal.
-
Once interrupted you should see a prompt
=>
-
Use the "fastboot" u-boot command to place the device into fastboot mode
=> fastboot
-
Nothing is output on console when device enters fastboot mode. The cursor will drop down 1 line and stay there without re-printing “=>” prompt.
-
Confirm that you have serial console by following the instructions in the section “Connecting to a UART Console”
-
When you hit enter in your serial terminal you should see a prompt
shell@helium:/ $
-
Use the “reboot bootloader” command to restart the device in fastboot mode
shell@helium:/ $ reboot bootloader
-
Confirm that you have a Micro USB cord connected from the Helium device to your host machine and that the device is showing up in the “adb devices” list.
-
Use the following command on your host in a command shell to reboot the device into fastboot mode
$ adb reboot bootloader
Software installation for Helium boards is a four step process
- Release Software Download
- Boot Helium in “fastboot” mode
- Install Bootloader
- Install Android
Download and save the release software images from here. The following table describes the images found in the release package
Image Name Description
---------- -----------
u-boot.bin Helium Bootloader
pxa19280-helium.dtb Helium Device Tree Blob
boot.img Helium Kernel and RAM Disk
system.img Helium Android /system Filesystem
userdata.img Helium Android /data Filesystem
cache.img Helium Android /cache Filesystem
vendor.img Helium Android /vendor Filesystem
See “How to place Helium board into fastboot mode” section and use any one of the 4 listed methods to place your helium board in fastboot mode.
-
Locate the u-boot.bin file downloaded with the release
-
Confirm that fastboot has been installed / configured on your host machine per the section: “Configuring fastboot”
-
Confirm your host machine has detected Helium in fastboot mode
$ sudo fastboot devices ???????????????? fastboot
-
Use the following commands on your host from a command shell to update.
$ cd <location where you saved uboot.bin> $ sudo fastboot flash bootloader u-boot.bin $ sudo fastboot reboot-bootloader
-
Make sure that the method you are using to enter fastboot still works and that you re-enter fastboot mode. Then, reset the MMC partition table with the following commands:
$ sudo fastboot oem format $ sudo fastboot reboot-bootloader
Reboot Helium in fastboot mode (already done at the end of “Step 3”) and run following commands from your host machine connected to Helium.
$ sudo fastboot flash boot boot.img
$ sudo fastboot flash dtb pxa1928-helium.dtb
$ sudo fastboot flash cache cache.img
$ sudo fastboot flash system system.img
$ sudo fastboot flash userdata userdata.img
$ sudo fastboot flash vendor vendor.img
Jetson hardware reference platform:
Getting Started
Kernel-Only-Build Instructions for Jetson
Helium hardware reference platform:
Getting Started
Kernel-Only-Build Instructions for Helium
Ara Android Setup:
Build and Boot Instructions