1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

Merge pull request #17244 from fjmolinas/pr_lorae5_dev_doc_again

boards/lora-e5-dev: extended documentation
This commit is contained in:
Alexandre Abadie 2021-11-21 15:47:33 +01:00 committed by GitHub
commit a8ad67358f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,13 +1,24 @@
/**
* @defgroup boards_lora-e5-dev LoRa-E5 Development Board - STM32WLE5JC
* @ingroup boards
* @brief Support for the LoRa-E5 Development Board - STM32WLE5JC board.
* @brief Support for the LoRa-E5 Development Board - STM32WLE5JC.
*
* @warning This BOARD comes with arduino style pin headers, but the gpio
* mapping does not map to arduino BOARDs, even 3.3V and 5V pins
* are placed differently, so don't use arduino expansion-boards
* since these might short-circuit the mcu and/or expansion-board.
*
* The LoRa-E5 Dev Board is an evaluation board for the Seeed Studio LoRa-E5 STM32WLE5JC
* module. The cpu includes a radio supporting multiple LPWAN protocols in the
* 868/915 MHz frequency bands, including LoRa, capable of 20.8dBm output at 3.3V.
*
* Convenient interfaces as Grove and RS-485 are mapped out, and the many pins
* map most of the modules GPIOs. But watch out! Although it features
* Arduino style pin headers, they are not arduino compatible.
*
* The board also includes a JST battery connector as well as control over the
* external power lines which can be enabled or disabled by software.
*
* ### MCU
*
* | MCU | STM32WL5EJC |
@ -30,7 +41,9 @@
*
* ![lora-e5-dev](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/hardware%20overview/4071615359366_.pic_hd.jpg)
*
* ### User Interface
* The default Peripheral Mapping is specified [here](https://github.com/RIOT-OS/RIOT/blob/master/boards/lora-e5-dev/include/periph_conf.h)
*
* ### Board Interface
*
* 3 Buttons:
*
@ -45,25 +58,95 @@
* | Color | red |
* | Pin | PB5 |
*
* ### Flash the board
* ### Power Lines
*
* The BOARD comes pre-flashed with a Factory AT Firmware with RDP (Read Protection)
* level 1, this needs to be removed to enable subsequent flashing. The easiest
* way is with [STM32CubeProgramer](https://www.st.com/en/development-tools/stm32cubeprog.html)
* as described in [seedstudio wiki](https://wiki.seeedstudio.com/LoRa-E5_STM32WLE5JC_Module/#2-develop-with-stm32cube-mcu-package).
* All power lines are on by default, but some of them can optionally be disabled,
* namely 3.3V and 5V. These feed all external pins as well as the internal LM75A,
* more details are available on the schematic.
*
* Once read protection is removed subsequent flashing can be performed with and
* attached ST-LINK on the SWD pins (do not connect RST but only GND, SWCLK and SWDIO).
* | Name | Controlled By | Alias |
* |:---- |:------------- |:--------------------------- |
* | 3.3V | PA9 | LORA_E5_DEV_3P3V_ENABLE_PIN |
* | 3.3V | PB10 | LORA_E5_DEV_5V_ENABLE_PIN |
* | | | |
*
* ### Flashing
*
* #### Disabling Read Protection
*
* The board comes pre-flashed with a DFU bootloader, an AT command Firmware
* and read protection enabled and set to 1. So before being able to program anything
* else, read protection needs to be set back to level 0.
*
* The easiest way of doing this is with the [STM32CubeProgramer](https://www.st.com/en/development-tools/stm32cubeprog.html)
* GUI and setting the RDP option byte to `AA`
*
* ![LoRa-E5 STM32CubeProgramer1](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/wiki%20images/program1.png)
* ![LoRa-E5 STM32CubeProgramer2](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/wiki%20images/program2.png)
*
* Alternatively you can use the STM32_Programer_CLI:
*
* ```
* $ STM32_Programmer_CLI --connect port=swd --readunprotect
* ```
*
* #### Programming with an external ST-LINK
*
* Since there is no ST-LINK programmer on the board an external one
* needs to be connected. Any Nucleo or STM32Discovery board can be used for this
* by simply removing the ST-LINK jumpers and connecting on the CN4 headers
* (see [UM1724 6.2.4](https://www.st.com/resource/en/user_manual/um1724-stm32-nucleo64-boards-mb1136-stmicroelectronics.pdf)
* for more details). An example is seen in the following image:
*
* ![LoRa-E5 Dev ST-LINK](https://stm32python.gitlab.io/fr-version-lora/site/assets/images/lora/seeestudio_lora_e5_dev_connection.png)
*
* ```
* CN4 LoRa-E5 Dev
* (Dark Blue Header)
* Pin 1: VDD_TARGET N/C
* Pin 2: SWCLK ----> Yellow Cable ----> CLK
* Pin 3: GND ----> Black Cable ----> GND
* Pin 4: SWDIO ----> Blue Cable ----> DIO
* Pin 5: NRST N/C
* Pin 6: SWO N/C
* ```
*
* Flashing can then be performed seamlessly with OpenOCD:
*
* ```
* BOARD=lora-e5-dev make flash
* ```
*
* The default used programmer is OpenOCD.
*
* ### Serial connection
*
* The default serial connection is through the USB-C port mapping to PB7 (RX) and
* PB6 (TX) UART pins (a second UART and an LPUART interface is also exposed).
*
* ```
* BOARD=lora-e5-dev make term
* ```
*
* ### Debugging
*
* For Debugging an external programmer is required, connected as depicted in
* the above picture, then the debugger can be attached with:
*
* ```
* BOARD=lora-e5-dev make debug
* ```
*
* ### LoRa
*
* This board comes embedded with an `sx126x` based LoRa radio. The precise
* module that needs to be selected is `USEMODULE += sx126x_stm32wl`, this
* is also selected with `USEMODULE += netdev_default`.
*
* Differently from other `stm32wl` chips this module only transmits through
* `RFO_HP`.
*
* ### Sensors
*
* This board includes a @ref drivers_lm75 temperature sensor. It can be
* included with `USEMODULE += lm75a` or through `USEMODULE += saul_default`.
*
*/