BeaglePlay

Overview

BeagleBoard.org BeaglePlay is an open hardware single board computer based on a TI Sitara AM6254 quad-core ARM Cortex-A53 SoC with an external TI SimpleLink multi-standard CC1352P7 wireless MCU providing long-range, low-power connectivity.

Hardware

  • Processors

    • TI Sitara AM6252 SoC

      • 4x ARM Cortex-A53

      • ARM Cortex-R5

      • ARM Cortex-M4

      • Dual-core 32-bit RISC Programmble Real-Time Unit (PRU)

    • TI SimpleLink CC1352P7 Wireless MCU

      • ARM Cortex-M4F programmable MCU

      • ARM Cortex-M0+ software-defined radio processor

  • Memory

    • 2GB DDR4

    • 16GB eMMC flash

    • I2C EEPROM

  • Wired connectivity

    • Gigabit Ethernet (RJ45)

    • Single-pair Ethernet with 5V/250mA PoDL output (RJ11)

    • HDMI

    • USB Type-A (host)

    • USB Type-C (client/power)

  • Wireless connectivity

    • TI WL1807 2.4GHz/5GHz WiFi

    • BLE/SubG via CC1352P7

  • Expansion

    • mikroBUS

    • Grove

    • QWIIC

BeaglePlay ARM Cortex-A53 CPUs typically run Linux, while the CC1352P7 Cortex-M4 typically runs Zephyr.

Supported Features

The beagleplay board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

Connections and IOs

CC1352 reset is connected to AM62 GPIO0_14.

Pin

Function

Usage

DIO5

N/C

DIO6

N/C

DIO7

N/C

DIO8

N/C

DIO9

N/C

DIO10

N/C

DIO11

N/C

DIO12

CC1352_RX

AM62 UART6_TXD

DIO13

CC1352_TX

AM62 UART6_RXD

DIO14

N/C

DIO15

CC1352_BOOT

AM62 GPIO0_13

DIO16

CC1352_TDO

TAG-CONNECT TDO

DIO17

CC1352_TDI

TAG-CONNECT TDI

DIO18

N/C

DIO19

N/C

DIO20

N/C

DIO21

N/C

DIO22

N/C

DIO23

N/C

DIO24

N/C

DIO25

N/C

DIO26

N/C

DIO27

LED1

CC1352_LED1 yellow LED9

DIO28

LED2

CC1352_LED2 yellow LED8

DIO29

RF_PA

SubG/PA Antenna mux PA enable

DIO30

RF_SUB1G

SubG/PA Antenna mux SubG enable

Programming and Debugging

The beagleplay board supports the runners and associated west commands listed below.

flash debug

Flashing

CC1352P7

To flash, disable the existing driver that ties up the serial port and use the customized BSL Python script.

  1. Ensure the bcfserial or gb-beagleplay driver isn’t blocking the serial port. This can be done by loading :file: /overlays/k3-am625-beagleplay-bcfserial-no-firmware.dtbo or selecting uboot entry which disables bcfserial/gb-beagleplay.

  2. Now reboot the board.

    sudo shutdown -r now
    
  3. Install CC1352-flasher if not already installed

    if ! command -v cc1352_flasher &> /dev/null; then pip install cc1352-flasher; fi
    
  4. Flash the CC1352P7

    west flash
    

M4F Core

The board supports remoteproc using the OpenAMP resource table.

The testing requires the binary to be copied to the SD card to allow the A53 cores to load it while booting using remoteproc.

To test the M4F core, we build the Hello World sample with the following command.

# From the root of the zephyr repository
west build -b pocketbeagle_2/am6254/m4 samples/hello_world

This builds the program and the binary is present in the build/zephyr directory as zephyr.elf.

We now copy this binary onto the SD card in the /lib/firmware directory and name it as am62-mcu-m4f0_0-fw.

# Mount the SD card at sdcard for example
sudo mount /dev/sdX sdcard
# copy the elf to the /lib/firmware directory
sudo cp --remove-destination zephyr.elf sdcard/lib/firmware/am62-mcu-m4f0_0-fw

The SD card can now be used for booting. The binary will now be loaded onto the M4F core on boot.

The binary will run and print Hello world to the MCU_UART0 port.

Debugging

CC1352P7

For debugging, you can use the serial port or JTAG. You can use OpenOCD over the Tag-Connect header on the board.

  • Tagconnect JTAG

M4F Core

The board supports debugging M4 core from the A53 cores running Linux. Since the target needs superuser privilege, OpenOCD needs to be launched separately for now:

sudo openocd -f board/ti_am625_swd_native.cfg

Start debugging

west build -b pocketbeagle_2/am6254/m4
west debug

References