6.1.1. Boot Flow
BeagleBadge has a TI AM62L SoC, refer to AM62Lx Boot Flow for more details on AM62L boot flow.
6.1.2. Applications
Deep Sleep Low Power mode as low as 350mW power draw
RTC only mode with 3-5mW power draw
E-Paper display support with tinyDRM
Battery-powered with fuel gauge monitoring
6.1.3. Low level sources
Component |
Branch |
Source File |
Build Instructions |
|---|---|---|---|
U-Boot |
|
||
Linux Kernel |
|
6.1.4. Building for BeagleBadge
$ git clone https://git.ti.com/git/arago-project/oe-layersetup.git tisdk
$ cd tisdk
$ ./oe-layertool-setup.sh -f configs/arago-scarthgap-config.txt
$ cd build
$ . conf/setenv
$ export MACHINE=beaglebadge-ti
$ bitbake -k tisdk-default-image
For more information on building Arago for BeagleBadge, go here.
Note
Yocto: The BeagleBadge’s 256MB LPDDR memory might limit the free memory available for developing applications with the default, TI-provided Arago distribution image. Switching to sysVinit for init system instead of systemd and building TI tiny image can help reduce the memory footprint. Please go here for a comparison of both init systems.
$ ARAGO_SYSVINIT=1 bitbake -k tisdk-tiny-image
To build Armbian for BeagleBadge, refer to Debian SDK user manual found here.
6.1.5. Booting BeagleBadge
BeagleBadge supports four boot modes with the following configuration:
Button Select Pressed |
Primary boot mode |
Backup boot mode |
|---|---|---|
Yes |
SD boot |
USB-DFU boot |
No |
OSPI boot |
UART boot |
In the following instructions, assume /dev/ttyUSB0 is the serial port enumerated on host machine from BeagleBadge USB C connection.
6.1.5.1. SD boot
Flash SD card with Debian or Arago image
Insert Micro SD card
Press & hold Select until step 5
Connect USB C cable
Connect to /dev/ttyUSB0 on host machine
6.1.5.2. OSPI boot
Boot via SD boot and stop at u-boot prompt
Flash OSPI
=> sf probe SF: Detected is25wx256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB => fatload mmc 1 ${loadaddr} tiboot3.bin 221296 bytes read in 11 ms (19.2 MiB/s) => sf update ${loadaddr} 0 ${filesize} device 0 offset 0x0, size 0x36070 SF: 221296 bytes @ 0x0 Written: OK => fatload mmc 1 ${loadaddr} tispl.bin 1464080 bytes read in 62 ms (22.5 MiB/s) => sf update ${loadaddr} 0x80000 ${filesize} device 0 offset 0x80000, size 0x165710 SF: 1464080 bytes @ 0x80000 Written: OK => fatload mmc 1 ${loadaddr} u-boot.img 1314747 bytes read in 57 ms (22 MiB/s) => sf update ${loadaddr} 0x280000 ${filesize} device 0 offset 0x280000, size 0x140fbb SF: 1314747 bytes @ 0x280000 Written: OKCold reset the board by disconnecting and reconnecting USB C cable.
Reconnect to /dev/ttyUSB0 on host machine
6.1.5.3. UART boot
Connect USB C cable
Connect to /dev/ttyUSB0 on host machine
Run the following instructions on host machine:
$ sb --xmodem tiboot3.bin > /dev/ttyUSB0 < /dev/ttyUSB0 $ sb --xmodem tispl.bin > /dev/ttyUSB0 < /dev/ttyUSB0 $ sb --ymodem u-boot.img > /dev/ttyUSB0 < /dev/ttyUSB0
6.1.5.4. USB-DFU boot
Press & hold Select until step 4
Connect USB C cable
Connect to /dev/ttyUSB0 on host machine
Send boot loader binaries from host MACHINE
$ sudo -E -S dfu-util -R -a bootloader -D tiboot3.bin $ sudo -E -S dfu-util -R -a bootloader -D tispl.bin $ sudo -E -S dfu-util -R -a u-boot.img -D u-boot.img
Any of the above boot methods can be used to boot to u-boot prompt, from here, loading the rootfs is generic and can be loaded from SD card, OSPI flash, or USB DFU as is discussed in other sections of this documentation.