|
| 1 | +.. zephyr:board:: scobc_v1 |
| 2 | +
|
| 3 | +Overview |
| 4 | +******** |
| 5 | + |
| 6 | +The `Space Cubics`_ OBC Module V1 (SC-OBC Module V1) is an onboard computer |
| 7 | +for space missions that require reliable real-time control and edge |
| 8 | +processing. It is built around an AMD Versal Adaptive SoC and a Microchip |
| 9 | +IGLOO2 FPGA, and is designed for harsh environments such as Earth orbit and |
| 10 | +lunar missions. |
| 11 | + |
| 12 | +On the Versal side, the SC-OBC V1 leverages the device’s heterogeneous |
| 13 | +architecture, combining general-purpose processors, programmable logic, and a |
| 14 | +vector processor, to run on-orbit workloads such as object detection, image |
| 15 | +compression/segmentation, and high-speed signal processing, while keeping |
| 16 | +flight-critical tasks under Zephyr RTOS’s predictable scheduling model. |
| 17 | + |
| 18 | +On the IGLOO2 side, the SC-OBC V1 uses the device as the board’s safety |
| 19 | +processor, supervising the main system, providing independent watchdog and |
| 20 | +fault-management paths, and coordinating safe-mode transitions to improve fault |
| 21 | +tolerance. |
| 22 | + |
| 23 | + |
| 24 | +Hardware |
| 25 | +******** |
| 26 | + |
| 27 | +Supported Features |
| 28 | +================== |
| 29 | + |
| 30 | +.. zephyr:board-supported-hw:: |
| 31 | +
|
| 32 | +System Clock |
| 33 | +============ |
| 34 | + |
| 35 | +This board provides a 50 MHz reference oscillator for clock generation. The RPU |
| 36 | +(Cortex-R5F) runs at 600 MHz by default on this board. |
| 37 | + |
| 38 | +In Zephyr, the "system clock" is the kernel’s tick base. By default it’s 100 Hz |
| 39 | +for periodic-tick builds and 10 kHz (10000 Hz) for tickless builds. See |
| 40 | +:kconfig:option:`CONFIG_SYS_CLOCK_TICKS_PER_SEC` for more details. |
| 41 | + |
| 42 | + |
| 43 | +Serial Port |
| 44 | +=========== |
| 45 | + |
| 46 | +The SC-OBC Module V1 has multiple UART ports. The primary ports are routed to |
| 47 | +the FT4232H on the evaluation board, so when you connect the board to your PC |
| 48 | +with a USB Type-C cable, your development machine will enumerate them. |
| 49 | + |
| 50 | +- Port A is used for JTAG. |
| 51 | +- Port B connects to UART0 via LPD MIO pin 0 (RXD) and pin 1 (TXD) on Bank 502. |
| 52 | +- Port C connects to UART1 via LPD MIO pin 4 (TXD) and pin 5 (RXD) on Bank 502. |
| 53 | + For Zephyr on Versal RPU, UART1 is selected as the default console in |
| 54 | + :file:`scobc_v1_versal_rpu.dts`. On a Linux host, the console typically |
| 55 | + appears as something like ``/dev/ttyUSB2`` (device index may vary). |
| 56 | +- Port D connects to IGLOO2. |
| 57 | + |
| 58 | + |
| 59 | +Programming and Debugging |
| 60 | +************************* |
| 61 | + |
| 62 | +.. zephyr:board-supported-runners:: |
| 63 | +
|
| 64 | +Flashing |
| 65 | +======== |
| 66 | + |
| 67 | +Here is an example for building and flashing the :zephyr:code-sample:`hello_world` application |
| 68 | +for the board: |
| 69 | + |
| 70 | +.. zephyr-app-commands:: |
| 71 | + :zephyr-app: samples/hello_world |
| 72 | + :board: scobc_v1 |
| 73 | + :goals: flash |
| 74 | + :flash-args: --pdi /path/to/your.pdi |
| 75 | + |
| 76 | +After flashing, you should see message similar to the following in the terminal: |
| 77 | + |
| 78 | +.. code-block:: console |
| 79 | +
|
| 80 | + *** Booting Zephyr OS build v4.2.0 *** |
| 81 | + Hello World! scobc_v1/versal_rpu |
| 82 | +
|
| 83 | +
|
| 84 | +References |
| 85 | +********** |
| 86 | + |
| 87 | +.. target-notes:: |
| 88 | + |
| 89 | +.. _Space Cubics: |
| 90 | + https://spacecubics.com/ |
0 commit comments