|
| 1 | +.. zephyr:board:: xgm240_rb4316a |
| 2 | +
|
| 3 | +Overview |
| 4 | +******** |
| 5 | + |
| 6 | +The `xGM240P +10 dBm Module Radio Board`_ for the xGM240P module contains a Wireless |
| 7 | +System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low |
| 8 | +power capabilities. |
| 9 | + |
| 10 | +The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one |
| 11 | +of several :ref:`silabs_radio_boards`. |
| 12 | + |
| 13 | +.. _xGM240P +10 dBm Module Radio Board: |
| 14 | + https://www.silabs.com/development-tools/wireless/xgm240-rb4316a-xgm240p-module-radio-board |
| 15 | + |
| 16 | +Hardware |
| 17 | +******** |
| 18 | + |
| 19 | +- MGM240PB32VNA module based on EFR32MG24 |
| 20 | +- CPU core: ARM Cortex®-M33 with FPU |
| 21 | +- Flash memory: 1536 kB |
| 22 | +- RAM: 256 kB |
| 23 | +- Transmit power: up to +10 dBm |
| 24 | +- Operation frequency: 2.4 GHz |
| 25 | +- Crystal for LFXO (32.768 kHz) on the board and HFXO (39 MHz) in the module. |
| 26 | + |
| 27 | +For more information about the MGM240P module, EFR32MG24 SoC and BRD4316A board, refer to these |
| 28 | +documents: |
| 29 | + |
| 30 | +- `MGM240 Modules Website`_ |
| 31 | +- `MGM240P Datasheet`_ |
| 32 | +- `EFR32xG24 Reference Manual`_ |
| 33 | +- `BRD4316A User Guide`_ |
| 34 | + |
| 35 | +.. _MGM240 Modules Website: |
| 36 | + https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-modules |
| 37 | +.. _MGM240P Datasheet: |
| 38 | + https://www.silabs.com/documents/public/data-sheets/mgm240p-datasheet.pdf |
| 39 | +.. _EFR32xG24 Reference Manual: |
| 40 | + https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf |
| 41 | +.. _BRD4316A User Guide: |
| 42 | + https://www.silabs.com/documents/public/user-guides/ug528-brd4316a-user-guide.pdf |
| 43 | + |
| 44 | +Supported Features |
| 45 | +================== |
| 46 | + |
| 47 | +.. zephyr:board-supported-hw:: |
| 48 | +
|
| 49 | +System Clock |
| 50 | +============ |
| 51 | + |
| 52 | +The MGM240P module is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock, |
| 53 | +locked to the 39 MHz external crystal oscillator on the board. |
| 54 | + |
| 55 | +Serial Port |
| 56 | +=========== |
| 57 | + |
| 58 | +The MGM240P module has one USART and two EUSARTs. |
| 59 | +USART0 is connected to the board controller and is used for the console. |
| 60 | + |
| 61 | +Buttons and LEDs |
| 62 | +================ |
| 63 | + |
| 64 | +This board has two buttons and two LEDs that share GPIO pins. If an application wants to use both |
| 65 | +a button and a LED with the same number (e.g. button 0 and LED 0), it needs to time multiplex the |
| 66 | +two functions. |
| 67 | + |
| 68 | +Programming and Debugging |
| 69 | +************************* |
| 70 | + |
| 71 | +.. zephyr:board-supported-runners:: |
| 72 | +
|
| 73 | +Flashing |
| 74 | +======== |
| 75 | + |
| 76 | +Connect the BRD4002A board with a mounted BRD4186C radio board to your host |
| 77 | +computer using the USB port. |
| 78 | + |
| 79 | +Here is an example for the :zephyr:code-sample:`hello_world` application. |
| 80 | + |
| 81 | +.. zephyr-app-commands:: |
| 82 | + :zephyr-app: samples/hello_world |
| 83 | + :board: xgm240_rb4316a |
| 84 | + :goals: flash |
| 85 | + |
| 86 | +Open a serial terminal (minicom, putty, etc.) with the following settings: |
| 87 | + |
| 88 | +- Speed: 115200 |
| 89 | +- Data: 8 bits |
| 90 | +- Parity: None |
| 91 | +- Stop bits: 1 |
| 92 | + |
| 93 | +Reset the board and you should see the following message in the terminal: |
| 94 | + |
| 95 | +.. code-block:: console |
| 96 | +
|
| 97 | + Hello World! xgm240_rb4316a |
| 98 | +
|
| 99 | +Bluetooth |
| 100 | +========= |
| 101 | + |
| 102 | +To use Bluetooth functionality, run the command below to retrieve necessary binary |
| 103 | +blobs from the Silicon Labs HAL repository. |
| 104 | + |
| 105 | +.. code-block:: console |
| 106 | +
|
| 107 | + west blobs fetch hal_silabs |
| 108 | +
|
| 109 | +Then build the Zephyr kernel and a Bluetooth sample with the following |
| 110 | +command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in |
| 111 | +this example. |
| 112 | + |
| 113 | +.. zephyr-app-commands:: |
| 114 | + :zephyr-app: samples/bluetooth/observer |
| 115 | + :board: xgm240_rb4316a |
| 116 | + :goals: build |
0 commit comments