Communicating with the Board
With Android, there are several options to connect your host PC to the Genio boards for debugging and development purposes:
UART Port: The UART port provides access to Boot ROM, bootloader and kernel console access in Android. This design is shared across all Genio EVKs.
- USB: Various functionality is provided via the USB of Genio SoCs in it’s default configuration:
Image Download: You can program the on-board storage (EMMC or UFS) through USB with Genio Tools.
- Ethernet connectivity: The device is configured to expose a virtual Ethernet connection with the host via multiple protocols.
This allows various networking services to be exposed such as ssh / scp to obtain shell & file transfer functionality.
Debugging capabilites: The device is also configured as an Android Debug Bridge (ADB) device.
Serial Console
Most Genio evaluation kits and development boards have the UART0 port connected to an UART-to-USB chip, such as FTDI-232 on Genio 350-EVK, which expose the UART as an USB serial device to your host PC, allowing access to boot messages, plus bootloader and Linux consoles.
Note
See Connecting Board to Host for more details of connecting UART0.
For other development boards, check which port UART0 is connected to in the user guide or schematics of the board.
Serial configuration
Different stages of the boot process utilise different baud rates:
Console |
Baud Rate |
Purpose |
|---|---|---|
Download Agent |
921600 |
Download progress log from download agent ( |
Boot ROM |
115200 |
SoC boot ROM logs and messages |
Bootloader Console |
921600 |
Bootloader console for debugging and boot configurations |
Kernel Console |
921600 |
kernel messages and inux console |
Settings other than baud rate are the same between the boot firmware and Linux console:
Data Bits: 8
Stop Bits: 1
Parity: None
Flow control: None
Connect to UART
You can now connect to the UART using the following command:
picocom -b 921600 /dev/ttyUSB0
or using
screen /dev/ttyUSB0 921600
Note
Depending on your system, you may have more than one USB serial device
connected, which means the board might not be presented as /dev/ttyUSB0 in your system.
In this case, please try other ttyUSB devices (i.e. /dev/ttyUSB1,
/dev/ttyUSB2, etc.)
Launch the serial terminal emulator previously installed as part of the UART setup. Refer to the specific serial terminal emulators documentation for details of how to configure the serial port and baud rate to be used.
ADB
The following commands are supported:
adb pushadb pulladb shell
Examples of adb commands
adb push
This command is used to transfer files from your computer to an Android device.
Example:
adb push /path/to/local/file.txt /sdcard/file.txt
This command pushes file.txt from your computer to the /sdcard directory on your Android device.
adb pull
This command is used to transfer files from an Android device to your computer.
Example:
adb pull /sdcard/file.txt /path/to/local/directory/
This command pulls file.txt from the /sdcard directory on your Android device to a specified directory on your computer.
adb shell
This command opens a remote shell on your Android device, allowing you to execute commands directly on the device.
Example:
adb shell
After executing this command, you will be in the shell environment of the Android device, where you can run commands like ls, cd, mkdir, etc.
Alternatively, you can run a specific command directly:
adb shell ls /sdcard/
This command lists the contents of the /sdcard directory on your Android device without opening an interactive shell.