|
| 1 | +.. zephyr:board:: pocketbeagle_2 |
| 2 | +
|
| 3 | +Overview |
| 4 | +******** |
| 5 | + |
| 6 | +PocketBeagle 2 is a computational platform powered by TI AM62x SoC (there are two |
| 7 | +revisions, AM6232 and AM6254). |
| 8 | + |
| 9 | +The board configuration provides support for the ARM Cortex-M4F MCU core. |
| 10 | + |
| 11 | +See the `PocketBeagle 2 Product Page`_ for details. |
| 12 | + |
| 13 | +Hardware |
| 14 | +******** |
| 15 | +PocketBeagle 2 features the TI AM62x SoC based around an Arm Cortex-A53 multicore |
| 16 | +cluster with an Arm Cortex-M4F microcontroller, Imagination Technologies AXE-1-16 |
| 17 | +graphics processor (from revision A1) and TI programmable real-time unit subsystem |
| 18 | +microcontroller cluster coprocessors. |
| 19 | + |
| 20 | +Zephyr is ported to run on the M4F core and the following listed hardware |
| 21 | +specifications are used: |
| 22 | + |
| 23 | +- Low-power ARM Cortex-M4F |
| 24 | +- Memory |
| 25 | + |
| 26 | + - 256KB of SRAM |
| 27 | + - 512MB of DDR4 |
| 28 | + |
| 29 | +Currently supported PocketBeagle 2 revisions: |
| 30 | + |
| 31 | +- A0: Comes wth SOC AM6232 |
| 32 | + |
| 33 | +Supported Features |
| 34 | +================== |
| 35 | + |
| 36 | +.. zephyr:board-supported-hw:: |
| 37 | +
|
| 38 | +Devices |
| 39 | +======== |
| 40 | +System Clock |
| 41 | +------------ |
| 42 | + |
| 43 | +This board configuration uses a system clock frequency of 400 MHz. |
| 44 | + |
| 45 | +DDR RAM |
| 46 | +------- |
| 47 | + |
| 48 | +The board has 512MB of DDR RAM available. This board configuration |
| 49 | +allocates Zephyr 4kB of RAM (only for resource table: 0x9CC00000 to 0x9CC00400). |
| 50 | + |
| 51 | +Serial Port |
| 52 | +----------- |
| 53 | + |
| 54 | +This board configuration uses a single serial communication channel with the |
| 55 | +MCU domain UART (MCU_UART0, i.e. P2.05 as RX and P2.07 as TX). |
| 56 | + |
| 57 | +SD Card |
| 58 | +******* |
| 59 | + |
| 60 | +Download BeagleBoard.org's official `BeagleBoard Imaging Utility`_ to create bootable |
| 61 | +SD-card with the Linux distro image. This will boot Linux on the A53 application |
| 62 | +cores. These cores will then load the Zephyr binary on the M4 core using remoteproc. |
| 63 | + |
| 64 | +Flashing |
| 65 | +******** |
| 66 | + |
| 67 | +The board supports remoteproc using the OpenAMP resource table. |
| 68 | + |
| 69 | +The testing requires the binary to be copied to the SD card to allow the A53 cores to load it while booting using remoteproc. |
| 70 | + |
| 71 | +To test the M4F core, we build the :zephyr:code-sample:`hello_world` sample with the following command. |
| 72 | + |
| 73 | +.. zephyr-app-commands:: |
| 74 | + :board: pocketbeagle_2/am6232/m4 |
| 75 | + :zephyr-app: samples/hello_world |
| 76 | + :goals: build |
| 77 | + |
| 78 | +This builds the program and the binary is present in the :file:`build/zephyr` directory as |
| 79 | +:file:`zephyr.elf`. |
| 80 | + |
| 81 | +We now copy this binary onto the SD card in the :file:`/lib/firmware` directory and name it as |
| 82 | +:file:`am62-mcu-m4f0_0-fw`. |
| 83 | + |
| 84 | +.. code-block:: console |
| 85 | +
|
| 86 | + # Mount the SD card at sdcard for example |
| 87 | + sudo mount /dev/sdX sdcard |
| 88 | + # copy the elf to the /lib/firmware directory |
| 89 | + sudo cp --remove-destination zephyr.elf sdcard/lib/firmware/am62-mcu-m4f0_0-fw |
| 90 | +
|
| 91 | +The SD card can now be used for booting. The binary will now be loaded onto the M4F core on boot. |
| 92 | + |
| 93 | +The binary will run and print Hello world to the MCU_UART0 port. |
| 94 | + |
| 95 | +Debugging |
| 96 | +********* |
| 97 | + |
| 98 | +The board supports debugging M4 core from the A53 cores running Linux. Since the target needs |
| 99 | +superuser privilege, openocd needs to be launched seperately for now: |
| 100 | + |
| 101 | +.. code-block:: console |
| 102 | +
|
| 103 | + sudo openocd -f board/ti_am625_swd_native.cfg |
| 104 | +
|
| 105 | +
|
| 106 | +Start debugging |
| 107 | + |
| 108 | +.. zephyr-app-commands:: |
| 109 | + :goals: debug |
| 110 | + |
| 111 | +References |
| 112 | +********** |
| 113 | + |
| 114 | +* `PocketBeagle 2 Product Page`_ |
| 115 | +* `Documentation <https://docs.beagleboard.org/boards/pocketbeagle-2/index.html>`_ |
| 116 | + |
| 117 | +.. _PocketBeagle 2 Product Page: |
| 118 | + https://www.beagleboard.org/boards/pocketbeagle-2 |
| 119 | + |
| 120 | +.. _BeagleBoard Imaging Utility: |
| 121 | + https://github.com/beagleboard/bb-imager-rs/releases |
0 commit comments