6. Buildroot Application

6.1 Display

Idea3588_Display_IO

Idea3588 supports DP, HDMI and LCD(eDP) display sync.

Buildroot_Display

Buildroot display sync

6.2 USB Type-C

_images/docking-station.jpg

Docking station

Features Supported by the Type-C Interface:

  1. Reversible Design: Allows insertion in either orientation for user convenience.

  2. Data Transmission Roles: Supports flexible designation of host and device roles.

  3. Multiple Protocol Support: Compatible with USB 3.0 and DisplayPort, enabling high-speed data transmission.

6.2.1 ADB

ADB is the command-line debugging tool for debian, and it can use for system logs, uploading and downloading the files, installing the applications, etc.

❶ Connect the board and PC host with Type-C cable.

_images/adb_connection.jpg

❷ Install ADB driver on Windows system.

❸ Press Windows + R to open the Run program. Type cmd and press Enter.

❹ Execute command to enable ADB.

adb shell
_images/buildroot_adb.png

6.2.2 Type-C to USB3.0

Idea3588 supports Type-C to USB3.0. The device can use directly without install any driver.

_images/Buidroot_type-C_to_type-A.png
df -h      //view USB device
_images/Buidroot_type-C_to_USB.png

6.2.3 DP Alt Mode

DisplayPort Alternate Mode (DP Alt Mode) is a technology that facilitates the transmission of DisplayPort video signals through a USB Type-C interface. It enables devices to output video and audio via a USB-C connection without requiring a dedicated DisplayPort connector. This allows users to connect a display using a single USB-C port while transmitting video, audio, and additional data.

Boardcon has conducted the testing at Type-C to HDMI/DP (3840x2160 @ 60Hz).

6.3 SD Card

Idea3588_SD

After inserting the SD Card, execute command to view SD device

df -h        //view SD device
Buildroot_test_SD

6.4 USB Host

Idea3588_USB

The USB Host can be used to connect USB mouse, USB keyboard, U-Disk or other USB devices.

df -h        //view USB device
Buildroot_Test_USB

The USB3.0 default support Superspeed.

Buildroot Test USB3.0

6.5 Audio I/O

Idea3588_Headset

❶ Plug the headphone into the Audio jack.

❷ View sound card.

cat /proc/asound/cards
_images/buildroot_sound_card.png

❸ Recording.

arecord -Dhw:0,0 -f cd record.wav   //-Dhw:0,0 is card0 and device0

❹ Playback

aplay -Dhw:0,0 record.wav        //Adudio output via headset

Audio output description:

aplay -Dhw:0,0 record.wav   //Audio output via Headset
aplay -Dhw:1,0 record.wav   //Audio output via HDMI
aplay -Dhw:2,0 record.wav   //Audio output via Type-C display
aplay -Dhw:3,0 record.wav   //Audio output via DP TX

6.6 Video Playback

6.6.1 Built-in playback

The script instruction directory is in /rockchip-test/video/, just run it.

buildroot_Test_Video

6.6.2 Browser playback

chromium 4KP60-exist.mp4         //'4KP60-exist.mp4' is vedio file name

6.6.3 Command line

❶ 4KP60 video playback

Play video file I.O.I-Dream.Girl.2160p.UHDTV.H265.ts in /mnt/udisk/video/H265_HEVC/ for example

gst-launch-1.0 uridecodebin uri=file:///mnt/udisk/video/H265_HEVC/I.O.I-Dream.Girl.2160p.UHDTV.H265.ts name=dec ! queue ! waylandsink fullscreen=true dec. ! queue ! alsasink device=hw:0,0
_images/buildroot_Video_4K.png

❷ 8KP60 video playback (No audio output during 8KP60 decoding)

gst-play-1.0 --flags=3 --videosink="waylandsink sync=false fullscreen=true" H265_8KP30-3.mp4
_images/buildroot_Video_8K.png

6.7 Ethernet

Idea3588_Ethernet

Connect the Board and router with an Ethernet cable.

ifconfig          //view the status of the network interfaces
Buildroot_Test_Ethernet
ping -I eth0 www.armdesigner.com
ping URL

6.8 RTC

Idea3588_RTC

❶ Insert a CR1220 battery before test. It keeps the time running when the main power is off.

❷ Execute command to set system date.

date -s "2024-07-25 16:10:30"     //set system date
hwclock -w                        //set the hardware clock to current system time
hwclock
_images/buildroot_set_system_date.png

❷ Power off. Wait for a moment, power on again, and then execute the command hwclock. You will find that the time is saved.

Debian_Test_RTC

6.9 WiFi & Bluetooth

Idea3588_WiFi&BT

6.9.1 WiFi

❶ Connect the WiFi antenna.

❷ Check whether the wifi device wlan0 exists.

ifconfig
_images/Buildroot_Test_WIFI_1.png

❸ Search for available WiFi hotspots.

iwlist wlan0 scan
_images/Buildroot_WiFi_hotspots.png

❹ Connect hotspot

wifi-connect.sh SSID PSK        //'SSID': user SSID, 'PSK': password
_images/Buildroot_Test_WIFI.png

After connected, user can ping URL/IP at terminal to test network.

6.9.2 Bluetooth

hciconfig -a            //view device status
hciconfig hci0 piscan   //allow Bluetooth to be searched
bluetoothctl            //allow Bluetooth to be pairable
scan on                 //search for Bluetooth devices
Buildroot_BT_status
allow_BT_pairable
connect E4:27:61:20:E9:31    //connect to Bluetooth device

During the Bluetooth connection process, some permissions may be requested. Generally, just enter yes.

_images/Buildroot_BT_connect.png
disconnect E4:27:61:20:E9:31      //disconnect the current Bluetooth device
exit                              //exit Bluetooth testing

6.10 Camera

Camera

❶ Connect camera0 + camera1.

The Idea3588 buildroot system is configured with camera0 + camera1 by default. If you want to preview the cameras normally, please ensure that the camera0 and camera1 are connected.

Since camera0 and camera2 share the signal I2C2, if you want to use camera1 + camera2, please flash a new image.

❷ Check if there are threads in rkisp_3A_server, which indicates automatic startup.

pidof rkaiq_3A_server

The following indicates that rkisp_3A_server has started.

_images/buildroot_rkisp_started.png

If there are no threads, execute the following command to start rkisp_3A_server.

/etc/init.d/S40rkaiq_3A  start

❸ View the device channel

grep "" /sys/class/video4linux/v*/name | grep mainpath
grep "" /sys/class/video4linux/v*/name | grep selfpath
Camera

❹ Camera testing: Preview/ record video/ take photos

gst-launch-1.0 v4l2src device=/dev/video22 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! waylandsink      //preview
gst-launch-1.0 v4l2src device=/dev/video22 num-buffers=100 ! video/x-raw,format=NV12,width=1920,height=1088,framerate=30/1 ! videoconvert ! mpph264enc ! h264parse ! mp4mux ! filesink location=/tmp/h264.mp4                 //record video
gst-launch-1.0 -v v4l2src device=/dev/video22 num-buffers=10 ! video/x-raw,format=NV12,width=1280,height=800 ! mppjpegenc ! multifilesink location=/tmp/test%05d.jpg       //take photos

6.11 CAN

CAN connect

❶ Connect CAN port of Board A and Board B with the test line.

❷ Execute commands at Serial terminal A to set CAN_A as Receiver.

ip link set can0 down
ip link set can0 type can bitrate 1000000 dbitrate 3000000 fd on
ip link set can0 up
candump can0                  //set CAN0 as receiver

❸ Execute commands at Serial terminal B to set CAN_B as Transmitter.

ip link set can0 down
ip link set can0 type can bitrate 1000000 dbitrate 3000000 fd on
ip link set can0 up
cansend can0 123#DEADBEEF      //CAN0 send characters 0xDE 0xAD 0xBE 0xEF

Board A receives the data sent by Board B.

Debian_Test_CAN

The Transmitter and receiver can be converted by execute the command.

candump can0                   //Receiver

or

cansend can0 123#DEADBEEF      //Transmitter

6.12 RS485

RS485 connect

❶ Connect the RS485 port of Board A and B with the test line.

❷ Execute command on the terminal serial ports of board A and board B respectively.

com /dev/ttyS7 115200 8 0 1

❸ Input characters to test RS485 communication.

Debian_Test_RS485

6.13 UART

UART connect

❶ Connect RX and TX of UART.

❷ Execute the command and input characters to test.

com /dev/ttyS0 115200 8 0 1        //test UART0
buildroot_Test_UART0
com /dev/ttyS3 115200 8 0 1        //test UART3

6.14 SATA

SATA+PWR

❶ Connect SATA and SATA power to the board and power on.

❷ Format SATA to ext4 format. Idea3588 Buildroot system only supports ext4 format SATA. If it is in ext4 format, skip this step.

mke2fs -t ext4 /dev/sda                //format SATA to ext4

❸ Mount SATA.

ls /dev                                //view SATA device name
mkdir /mnt/sata                        //create a Mount Point
mount /dev/sda /mnt/sata/              //mount SATA
ls /mnt/sata/                          //view SATA contents
df -h                                  //view the space size of the mounted disk
buildroot_Test_SATA
buildroot_Test_SATA_2

6.15 M.2 NVME SSD

SSD

❶ Connect the SSD to the development board and power on.

❷ Format SSD to ext4 format. If the SSD is in ext4 format, skip this step.

mke2fs -t ext4 /dev/nvme0n1           //format SSD to ext4

❸ Mount SSD.

ls /dev                            //view device name
mkdir ssd                          //create a Mount Point
mount -t ext4 /dev/nvme0n1 /ssd    //mount SSD to a new directory
ls /ssd                            //view SSD contents
df -h                              //view the space size of the mounted disk
buildroot_view_device_name
buildroot_Mount_SSD

6.16 4G & GPS

4G+SIM+SD

6.16.1 4G

❶ Insert 4G module to PCIe socket (4G model: EC20).

❷ Connect antenna and insert SIM card.

❸ Power on.

❹ Execute commands to connect 4G network.

mkdir /var/run/pppd
mkdir /var/run/pppd/lock
pppd call quectel-ppp &
buildrootn_Test_4G
Dbuildroot_Test_4G

❺ Test network.

ifconfig
ping -I ppp0 www.armdesigner.com
buildroot_Test_4G

6.16.2 GPS

❶ Plug the EC20 module to PCIe socket.

❷ Connect GPS antenna.

❸ Power on.

❹ Execute commands to test GPS.

echo -e "AT+QGPS=1\r\n" > /dev/ttyUSB2
cat /dev/ttyUSB1
_images/buildroot_Test_GPS.png

6.17 IR

IR

❶ Turn on IR.

echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print

❷ Press the Infrared controller, you can view the received datas on the terminal.

buildroot_Test_IR

6.18 Keys

kesy

Recovery It is used when flashing the image. Connect the USB Type-C cable, press and hold the Recovery key, power on, it will enter the loader mode.

Power Short press - sleep/wake; Long press - shut down and restart the process.

Reset Restart the board.