1.. zephyr:board:: scobc_module1
2
3Overview
4********
5
6`Space Cubics`_ OBC module 1 is a single board computer for spacecraft,
7especially for 3U CubeSats.  The board is based on Xilinx Artix-7 FPGA and
8implements ARM Cortex M3 as the main CPU.
9
10It is designed to survive in the severe space environment, extreme temperature,
11vacuum, and space radiation.
12
13As the name suggests, the board form factor is a module and requires a base I/O
14board connected at CON1, a board-to-board connector.  This modularity allows
15CubeSat designers the freedom to connect and expand the capability required for
16their mission.
17
18Hardware
19********
20
21Supported Features
22==================
23
24The Space Cubics OBC module 1 provides the following hardware features:
25
26+-----------+------------+------------------------------------+
27| Interface | Controller | Driver/Component                   |
28+===========+============+====================================+
29| NVIC      | on-chip    | nested vector interrupt controller |
30+-----------+------------+------------------------------------+
31| SYSTICK   | on-chip    | systick                            |
32+-----------+------------+------------------------------------+
33| UART      | on-chip    | serial port-polling;               |
34|           |            | serial port-interrupt              |
35+-----------+------------+------------------------------------+
36
37The default configuration for the board can be found in the defconfig file:
38:file:`boards/arm/scobc_module1/scobc_module1_defconfig`.
39
40Other hardware features are not currently supported by the port.
41
42System Clock
43============
44
45The board has two 24 MHz external oscillators connected to the FPGA for
46redundancy. The FPGA will select an active oscillator as CPU system clock.  The
47selected clock signal is then used by the CMT in the FPGA, and drives the CPU at
4848 MHz by default.
49
50Serial Port
51===========
52
53The default configuration contains one SC UART IP, which is register compatible
54with Xilinx UART Lite for basic TX and RX. This UART is configured as the
55default console and is accessible through the CON1 pin 43 and 45 for Rx and Tx,
56respectively.
57
58Programming and Debugging
59*************************
60
61Flashing
62========
63
64Here is an example for building and flashing the \`hello\_world\`
65application for the board:
66
67Here is an example for building and flashing the :zephyr:code-sample:`hello_world` application
68for the default design:
69
70.. zephyr-app-commands::
71   :zephyr-app: samples/hello_world
72   :board: scobc_module1
73   :goals: flash
74
75After flashing, you should see message similar to the following in the terminal:
76
77.. code-block:: console
78
79   *** Booting Zephyr OS build zephyr-v2.7.99  ***
80   Hello World! scobc_module1
81
82Note, however, that the application was not persisted in flash memory by the
83above steps. It was merely written to internal RAM in the FPGA.
84
85Debugging
86=========
87
88Here is an example for the :zephyr:code-sample:`hello_world` application.
89
90.. zephyr-app-commands::
91   :zephyr-app: samples/hello_world
92   :board: scobc_module1
93   :goals: debug
94
95Step through the application in your debugger, and you should see a message
96similar to the following in the terminal:
97
98.. code-block:: console
99
100   *** Booting Zephyr OS build zephyr-v2.7.99  ***
101   Hello World! scobc_module1
102
103References
104**********
105
106.. target-notes::
107
108.. _Space Cubics:
109   https://spacecubics.com/
110