Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Revision and Notes

Date

Owner

Revision

Notes

1.0

Initial release

1.1

Production release

Table of Contents

Table of Contents
minLevel1
maxLevel7

Introduction

The following quick start guide provides background information about the TI.

...

Purpose

This guide provides basic instructions for operating the SolidRun AM64 HummingBoard-T and booting into Linux. Advanced usage scenarios are covered by separate technical documentation.

Hardware Setup

Product Specifications

...

Model

...

HUMMINGBOARD-T AM64X PRO

...

I/Os

...

1 x USB 2.0
2 x CAN-FD
2 x RS485/RS232

...

Networking

...

1 x 10/100/1000 Mbps
2 x 10/100/1000 Mbps (PRU ICSSG, Supporting ; TSN, EtherCAT, PROFINET,EtherNET/IP)
1 x Optional Cat 4 LTE with SIM Holder
1 x CC1312 SimpleLink 1 GHz wireless MCU (Optional)

...

Processor

...

TI Sitara AM6442 Arm Cortex A53 Dual core @ 1GHz + 4 x Cortex R5 @ 800MHz + 1 x Cortex M4 @ 400MHz

...

Memory & Storage

...

1GB DDR4
8GB eMMC

...

Misc.

...

GPIO header
Indication LEDs
User Push Buttons
RTC with battery backup

...

Development and Debug interfaces

...

Console port (internal)

...

Power

...

9V-36V
Optional 802.3af POE PD
Optional battery charger

...

Expansion card I/Os

...

M.2

...

Temperature

...

Temperature: -40°C to 85°C

...

Dimensions

...

150 x 85 x 40mm

...

Enclosure

...

Optional

Info

Supported with AM64x SOM. For more detailed information, please visit this user manual : AM64x SOM

...

Visual features overview

Please see below the features overview of the connector side of the HummingBoard Pro AM64x ( TI AM64x SOM assembled ).

...

Print side connector overview of the HummingBoard Pro AM64x.

...

Software Setup

Cable setup and prerequisites

  • Linux or Windows PC

  • 12V Power adapter ( HummingBoard Pro AM64x has wide range input of 9V-36V, it is recommended to use a 12V power adapter)

  • Micro SD card

  • Micro USB cable

  • Router or switch with Ethernet cable

Booting from an SD card

1. Downloading the buildroot image

Download the Buildroot image by running the following command on your Linux/Windows PC

Code Block
wget https://solid-run-images.sos-de-fra-1.exo.io/AM64X/ti_am64x_build/microsd-937be33.img.xz

2. Write the image on an SD card

Code Block
 xz -dc microsd-937be33.img.xz | dd of=/dev/sdX bs=4M conv=fsync status=progress

Note: Plug a micro SD into your Linux PC, the following assumes that the micro SD is added as /dev/sdX and all its partitions are unmounted.

4. SD card insertion

Please Insert the SD card into your device.

5. Power connection

Connect your power adaptor to the DC jack, and then connect the adaptor to the mains supply.

Tip

A green LED will light up at the front panel. This is an indication of boot loader firmware is running.If you find you need additional help, please contact us and we’ll do our best to get back to you with more personal support.

6. Serial Connection

Please insert the micro USB into your device, then you can refer to Serial Connection for installing the necessary serial connection software in Linux/Windows.

Once you have installed the necessary serial connection software, you should be able to see the following:

...

In order to be able to log in, please insert “root” as a username as follows:

Image Removed

CanBUS and RS485

...

Test CanBUS communication

1. Enable device can0 :

Code Block
can_num=can0
ip link set $can_num up type can bitrate xxxxxx
  • (ex: 125000)

2. Bring the CAN interface up:

Code Block
ifconfig can0 up

3. Print all data received by the CAN interface to “can_test” file :

Code Block
touch /tmp/can_test
candump $can_num >> /tmp/can_test &

4. Send data to the bus by executing :

Code Block
cansend $can_num "123#1234"

5. Check the received data by opening “can_test” file :

Code Block
cat /tmp/can_test

Test RS485 communication

The following is an example of testing RS485 communication :

1. Configure the RS485 device as follows:

Code Block
device=ttyS5
rs485conf /dev/$device -e 1 -o 0 -a 1 
  • RS485 configuration should look as follows:

...

Connections

  • 12V DC Power Adapter (12V recommended, HummingBoard-T supports 9V-36V)

  • microUSB cable for serial console

  • microSD card for storing bootable SW

TODO: photo showing relevant connectors, with microUSB console and power only, and dip switches

Boot Select

Configure the boot-mode for microSD using onboard DIP switch S1:

Switch

1

2

3

4

5

6

microSD (FAT partition)

0

0

0

1

0

1

microSD (RAW)

1

0

0

0

1

1

eMMC

1

0

0

1

X

X

Note: 0 = OFF, 1 = ON.

Console

Start an application for serial console - such as PuTTY or tio. Configure it for baud rate 115200 and the COMx or ttyUSBy interface representing the micro-USB console connection. For details also see Serial Connection.

Software Setup

Prepare bootable microSD Card

  1. Download prebuilt sdcard image based on debian: microsd-222ee62-debian-bullseye.img.xz

  2. uncompress downloaded image file

  3. write image file to microSD card to create a byte-for-byte copy. https://etcher.io/ is recommended, professionals may use unix “dd” command.

First Steps with Debian reference system

Log-In

After inserting the programmed microSD card in the HummingBoard-T and after (re-)connecting the 12V power, the system should automatically boot to a login prompt displayed on the serial console:

Code Block
languagebash
Debian GNU/Linux 11 3f60b4ebfc7f ttyS2

3f60b4ebfc7f login: root
Linux 3f60b4ebfc7f 5.10.168-00011-g0f54435fab1c #1 SMP PREEMPT Sun May 21 16:21:43 UTC 2023 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@3f60b4ebfc7f:~# 

Log in with user-name “root”, no password.

Networking

By default networking is not configured. For advanced or persistent configurations please refer to the Debian Documentation.

For connecting the first RJ45 port (next to power connector) using automatic configuration, execute:

Code Block
languagebash
root@3f60b4ebfc7f:~# dhclient eth0
root@3f60b4ebfc7f:~# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:88:de:e3:c0:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.225/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 552sec preferred_lft 552sec
    inet 192.168.1.226/24 brd 192.168.1.255 scope global secondary dynamic eth0
       valid_lft 552sec preferred_lft 552sec
    inet6 fe80::3688:deff:fee3:c017/64 scope link 
       valid_lft forever preferred_lft forever

Log-In via SSH

To log in via SSH, an ssh key must be installed first. Copy your favourite public key, e.g. from ~/.ssh/id_ed25519.pub, into a new file in the root users home directory at ~/.ssh/authorized_keys:

Code Block
languagebash
root@e7c450f97e59:~# mkdir .ssh
root@e7c450f97e59:~# cat > .ssh/authorized_keys << EOF
ssh-ed25519 AAAAinsertyour pubkey@here
EOF

Expand Root Filesystem

After flashing the root filesystem is smaller than the eMMC. To utilize all space, resize both the rootfs partition - and then the filesystem:

  1. inspect partitions:

    Using fdisk, view the current partitions. Take note of the start sector for partition 1!

    Code Block
    languagebash
    root@e7c450f97e59:~# fdisk /dev/mmcblk0
    
    Welcome to fdisk (util-linux 2.36.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): p
    Disk /dev/mmcblk0: 7.28 GiB, 7820083200 bytes, 15273600 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xcc3ec3d4
    
    Device         Boot Start     

...

  1.  End  Sectors  Size Id Type
    /dev/mmcblk0p1      49152  2690687  2641535  1.3G 83 Linux
    
    

...

  1. Command 

...

  1. (m 

...

2. Print all data received to “rs485_test” file (for ex):

Code Block
touch /tmp/rs485_test
stty -F /dev/$device raw -echo -echoe -echok
cat /dev/$device > /tmp/rs485_test &

3. Send data by executing:

Code Block
echo "OK" > /dev/$device &

4. Check the received data by opening “rs485_test” file:

Code Block
cat /tmp/rs485_test

Install to eMMC

More Features

EtherCAT

EtherCAT (Ethernet for Control Automation Technology) is a real-time industrial Ethernet standard for industrial automation applications, such as input/output (I/O) devices, sensors, and programmable logic controllers (PLCs).

For more information and to get started with EtherCAT, see this documentation: /wiki/spaces/developer/pages/425197569.

List Of Supported OS

...

OS

...

AM64X Buildroot

Build From Source

...

  1. for help):
  2. resize partition 1:

    Drop and re-create partition 1 at the same starting sector noted before, keeping the ext4 signature when prompted:

    Code Block
    languagebash
    Command (m for help): d
    Selected partition 1
    Partition 1 has been deleted.
    
    Command (m for help): n
    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-15273599, default 2048): 49152
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (49152-15273599, default 15273599):
    
    Created a new partition 1 of type 'Linux' and of size 7.3 GiB.
    Partition #1 contains a ext4 signature.
    
    Do you want to remove the signature? [Y]es/[N]o: N
    
    Command (m for help): p
    
    Disk /dev/mmcblk0: 7.28 GiB, 7820083200 bytes, 15273600 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xcc3ec3d4
    
    Device         Boot Start      End  Sectors  Size Id Type
    /dev/mmcblk0p1      49152 15273599 15224448  7.3G 83 Linux
    
    Command (m for help): w
    The partition table has been altered.
    Syncing disks.
  3. resize root filesystem:

    Linux supports online-resizing for the ext4 filesystem. Invoke resize2fs on partition 1 to do so:

    Code Block
    languagebash
    root@e7c450f97e59:~# resize2fs /dev/mmcblk0p1

Additional Information