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
DeepSleep 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.