Beagley-AI
First impressions with the beagleY-AI. The smaller version of the Beaglebone AI, but with completely different processor. These are the initial steps and experiences of setting up and using the Beagle Y AI on a Windows host. The Beagle Y AI, is a new board from beagleboard.org. Getting started involves a series of steps to ensure proper installation and configuration, but the process is straightforward and well-documented, here. https://docs.beagle.cc/latest/boards/beagley/ai/index.html
When using windows and balena etcher, extract the image first. Decompress the img.xz file to img. Get a micro hdmi converter also if you do not have one.
Update sysconf.txt
user_name and user_password should be updated.
uname -a
Linux BeagleY 6.1.80-ti-arm64-r57 #1bookworm SMP PREEMPT_DYNAMIC Wed Jun 19 00:28:40 UTC 2024 aarch64 GNU/Linux
Update the software
sudo apt-get update
sudo apt-get upgrade
sudo reboot
uname -a
Linux BeagleY 6.1.80-ti-arm64-r57 #1bookworm SMP PREEMPT_DYNAMIC Wed Jun 19 00:28:40 UTC 2024 aarch64 GNU/Linux
Lets upgrade
sudo apt update
sudo apt-get dist-upgrade
Now we can configure wifi,
iwctl station wlan0 get-networks
iwctl station wlan0 show
iwctl --passphrase "<wifi-pass>" station wlan0 connect "<wifi-name>"
List custom texas instruments firmware,
dpkg -l | grep '^ii' | awk '{print $2}' | grep ti
ti-cc33conf
ti-devmem2
ti-k3conf
ti-linux-firmware-sysfw
ti-psdk-firmware-09.02.00.05
ti-rpmsg-char
ti-sgx-23.3-firmware
ti-sgx-23.3-j722s-ddx-um
ti-sgx-23.3-j722s-modules-6.1.80-ti-arm64-r57
ti-sgx-23.3-j722s-modules-6.1.83-ti-arm64-r63
ti-zephyr-firmware
We can see the gpu accelerated libraries, dpkg -L ti-sgx-23.3-j722s-ddx-um but I do not see the Dsp compiler installed. Also lots of header files are missing.
sudo k3conf --cpuinfo
|--------------------------------------------------------------------------------|
| VERSION INFO |
|--------------------------------------------------------------------------------|
| K3CONF | (version 0.3-nogit built Wed Mar 27 21:29:14 UTC 2024) |
| SoC | J722S SR1.0 |
| SYSFW | ABI: 3.1 (firmware version 0x0009 '9.0.6--w2023.01-j722s (Kool Koa)') |
|--------------------------------------------------------------------------------|
|--------------------------------------------------------|
| Processor Name | Processor State | Processor Frequency |
|--------------------------------------------------------|
| A53SS0_CORE_0 | DEVICE_STATE_ON | 1250000000 |
| A53SS0_CORE_1 | DEVICE_STATE_ON | 1250000000 |
| A53SS0_CORE_2 | DEVICE_STATE_ON | 1250000000 |
| A53SS0_CORE_3 | DEVICE_STATE_ON | 1250000000 |
|--------------------------------------------------------|
sudo k3conf dump processor
Online Beagle IDE
Thing to try, as ngnix is installed
An ide is setup for use over local network. Be aware of this gaping security hole. Terminal access without password is not nice.
This is the result of the test (code in browser). https://en.wikipedia.org/wiki/Whetstone_(benchmark)
./ws 50000
Loops: 50000, Iterations: 1, Duration: 1 sec.
C Converted Double Precision Whetstones: 5000.0 MIPS
olof@BeagleY:~/work/arm_performance$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 400.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Texas Instruments AM67A, Quad 64-bit Arm® Cortex®-A53 @1.4 GHz
Remote X over ethernet.
ssh -Y olof@192.168.7.2
sudo apt-get install guvcview
sudo usermod -aG video olof
v4l2-ctl -d /dev/video0 --all
It seems that v4l2-ctl is preinstalled or comes with guvcview
Temperature
cat /sys/devices/virtual/thermal/thermal_zone*/temp
74137
74733
75722
This is milli celsius so about 74 degrees on idle. It does get rather hot.
I downloaded and installed this in WSL2 Ubuntu 22.04 that seems to be recomended.
https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM67A
Test OpenCV
sudo apt update
sudo apt install libopencv-dev
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// Open the video capture device
cv::VideoCapture cap("/dev/video3");
// Check if the device is opened successfully
if (!cap.isOpened()) {
std::cerr << "Error: Could not open video device." << std::endl;
return -1;
}
// Set capture properties
cap.set(cv::CAP_PROP_FRAME_WIDTH, 640);
cap.set(cv::CAP_PROP_FRAME_HEIGHT, 480);
cap.set(cv::CAP_PROP_FPS, 30);
// Create a window to display the video
cv::namedWindow("Black and White Video", cv::WINDOW_NORMAL);
cv::Mat frame, gray_frame;
while (true) {
// Capture a frame
cap >> frame;
// Check if the frame is empty
if (frame.empty()) {
std::cerr << "Error: Captured frame is empty." << std::endl;
break;
}
// Convert the frame to grayscale (black and white)
cv::cvtColor(frame, gray_frame, cv::COLOR_BGR2GRAY);
// Display the black and white frame
cv::imshow("Black and White Video", gray_frame);
// Exit the loop if 'q' is pressed
if (cv::waitKey(1) == 'q') {
break;
}
}
// Release the video capture device and close the window
cap.release();
cv::destroyAllWindows();
return 0;
}
That worked well. But I am not sure this was necesary.
sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
Debian GNU/Linux 12
BeagleBoard.org Debian Bookworm Xfce Image 2024-06-19
Support: https://bbb.io/debian
Online TI Ide
You have to create and account and install some bridge software.
Unfortunately, the AM67A is not yet supported. (July 2024)
Also it seems that Edge AI stuff is not yet supported. https://git.beagleboard.org/edge-ai
Read more in the forums.
https://forum.beagleboard.org/tag/beagley-ai
Builing kernel modules
sudo apt install linux-headers-$(uname -r)
In summary, this was a bit disapointing but enough to start experimenting.