Skip to content

Commit 7632414

Browse files
authored
Merge pull request #8042 from applecuckoo/efr32-doc-fixes
Fix up EFR32 port readme
2 parents 6cf7e45 + 4d5caff commit 7632414

File tree

3 files changed

+36
-44
lines changed

3 files changed

+36
-44
lines changed

README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ litex alpha
235235
mimxrt10xx alpha
236236
nrf stable
237237
raspberrypi stable
238+
efr32 alpha
238239
stm ``F4`` stable | ``others`` beta
239240
unix alpha
240241
================ ============================================================

ports/silabs/README.md

Lines changed: 35 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Circuitpython on EFR32 #
1+
# CircuitPython on EFR32 #
2+
23
![GitHub](https://img.shields.io/badge/Technology-Bluetooth_BLE-green)
34
![GitHub](https://img.shields.io/badge/CircuitPython-8.1.0--beta.0-green)
45
![GitHub](https://img.shields.io/badge/GSDK-v4.2.1-green)
@@ -10,68 +11,69 @@ This port brings the Silicon Labs EFR32 series of MCUs to Circuitpython.
1011

1112
Refer to **mpconfigport.mk** for a full list of enabled modules sorted by family.
1213

13-
## How this port is organized: ##
14+
## How this port is organized ##
1415

15-
- **boards/** contains the configuration files for each development board and breakout available on the port, as well as system files and both shared and SoC-specific linker files. Board configuration includes a pin mapping of the board, oscillator information, board-specific build flags, and setup for some other peripheral where applicable.
16+
- **boards/** contains the configuration files for each development board and breakout available on the port, as well as system files and both shared and SoC-specific linker files. Board configuration includes a pin mapping of the board, oscillator information, board-specific build flags, and setup for other peripherals where applicable.
1617
- **common-hal/** contains the port-specific module implementations, used by shared-module and shared-bindings.
1718
- **peripherals/** contains peripheral setup files and peripheral mapping information, sorted by family and sub-variant. Most files in this directory can be generated with the python scripts in **tools/**.
1819
- **supervisor/** contains port-specific implementations of internal flash and serial, as well as the **port.c** file, which initializes the port at startup.
19-
- **tools/** contains Silicon Labs configurator (SLC) tool, python scripts for generating peripheral and pin mapping files in **peripherals/** and **board/**.
20+
- **tools/** contains the Silicon Labs Configurator (SLC) tool, python scripts for generating peripheral and pin mapping files in **peripherals/** and **board/**.
2021

2122
At the root level, refer to **mpconfigboard.h** and **mpconfigport.mk** for port specific settings and a list of enabled modules.
2223

2324
## Prerequisites ##
25+
2426
Please ensure you set up your build environment appropriately, as per the guide. You will need:
2527

26-
- Linux: https://learn.adafruit.com/building-circuitpython/linux
27-
- Windows Subsystem for Linux (WSL): https://learn.adafruit.com/building-circuitpython/windows-subsystem-for-linux
28-
- MacOS: Not supported yet
28+
- Linux: <https://learn.adafruit.com/building-circuitpython/linux>
29+
- Windows Subsystem for Linux (WSL): <https://learn.adafruit.com/building-circuitpython/windows-subsystem-for-linux>
30+
- macOS: Not supported yet
2931

3032
Install necessary packages
3133

32-
$ sudo apt install default-jre gcc-arm-none-eabi wget python3 python3-pip git git-lfs gettext uncrustify
33-
$ sudo python -m pip install --upgrade pip
34+
sudo apt install default-jre gcc-arm-none-eabi wget python3 python3-pip git git-lfs gettext uncrustify
35+
sudo python -m pip install --upgrade pip
3436

35-
## Board supported ##
37+
## Supported boards ##
3638

3739
| Board | Code | Build CMD |
3840
| --------------------------- | ------------ | ------------------------------------------ |
3941
| xG24 Dev Kit | brd2601b | devkit_xg24_brd2601b |
4042
| xG24 Explorer Kit | brd2703a | explorerkit_xg24_brd2703a |
41-
| Sparkfun Thing Plus MGM240P | brd2704a | sparkfun_thingplus_matter_mgm240p_brd2704a |
43+
| SparkFun Thing Plus MGM240P | brd2704a | sparkfun_thingplus_matter_mgm240p_brd2704a |
4244

4345
## Build instructions ##
4446

45-
Ensure your clone of Circuitpython is ready to build by following the [guide on the Adafruit Website](https://learn.adafruit.com/building-circuitpython/build-circuitpython). This includes installing the toolchain, synchronizing submodules, and running `mpy-cross`.
47+
Ensure your clone of CircuitPython is ready to build by following the [guide on the Adafruit Learning System](https://learn.adafruit.com/building-circuitpython/build-circuitpython). This includes installing the toolchain, synchronizing submodules, and running `mpy-cross`.
4648

47-
Clone the source code of CircuitPython from Github:
49+
Clone the source code of CircuitPython from GitHub:
4850

4951
$ git clone https://github.com/SiliconLabs/circuitpython.git
5052
$ cd circuitpython/ports/silabs
5153
$ make fetch-port-submodules
5254

5355
Checkout the branch or tag you want to build. For example:
5456

55-
$ git checkout main
57+
git checkout main
5658

57-
Following the guideline below to install required packages for SLC tool:
58-
https://www.silabs.com/documents/public/user-guides/ug520-software-project-generation-configuration-with-slc-cli.pdf
59+
Follow the guide below to install the required packages for the Silicon Labs Configurator (SLC):
60+
<https://www.silabs.com/documents/public/user-guides/ug520-software-project-generation-configuration-with-slc-cli.pdf>
5961

6062
Once the one-time build tasks are complete, you can build at any time by navigating to the port directory:
6163

62-
$ make BOARD=explorerkit_xg24_brd2703a
64+
make BOARD=explorerkit_xg24_brd2703a
6365

6466
You may also build with certain flags available in the makefile, depending on your board and development goals:
6567

66-
$ make BOARD=explorerkit_xg24_brd2703a DEBUG=1
68+
make BOARD=explorerkit_xg24_brd2703a DEBUG=1
6769

68-
Clean project by using:
70+
Clean the project by using:
6971

70-
$ make BOARD=explorerkit_xg24_brd2703a clean
72+
make BOARD=explorerkit_xg24_brd2703a clean
7173

72-
## Bring-up on the board ##
74+
## Running CircuitPython ##
7375

74-
### Getting a REPL prompt ###
76+
### Connecting to the Serial Console ###
7577

7678
Connect the devkit to the PC via the USB cable. The board uses serial for REPL access and debugging because the EFR32 chips has no USB support.
7779

@@ -81,31 +83,28 @@ On Windows, we need to install a serial console e.g., PuTTY, MobaXterm. The JLin
8183

8284
#### Linux ####
8385

84-
Open a terminal and issue the following command:
86+
Open a terminal and issue the following command:
8587

86-
$ ls /dev/ttyACM*
88+
ls /dev/ttyACM*
8789

88-
Then note down the correct name and substitute com-port-name in the following command with it:
90+
Then note down the correct name and substitute com-port-name in the following command with it:
8991

90-
$ screen /dev/'com-port-name'
92+
screen /dev/'com-port-name'
9193

9294
### Using the REPL prompt ###
9395

9496
After flashing the firmware to the board, at your first connecting to the board, you might see a blank screen. Press enter and you should be presented with a Circuitpython prompt, >>>. If not, try to reset the board (see instructions below).
9597

96-
You can now type in simple commands such as: 
97-
98-
```sh
99-
>>> print("Hello world!") 
98+
You can now type in simple commands such as:
10099

101-
Hello world
102-
```
100+
>>> print("Hello world!") 
101+
Hello world!
103102

104103
If something goes wrong with the board, you can reset it. Pressing CTRL+D when the prompt is open performs a soft reset.
105104

106105
### Recommended editors ###
107106

108-
**Thonny** is a simple code editor that works with the Adafruit CircuitPython boards.
107+
**Thonny** is a simple code editor that works with the Adafruit CircuitPython boards.
109108

110109
Config serial: Tools > Options > Interpreter > Select MicroPython > Select Port Jlink CDC UART Port
111110

@@ -115,18 +114,10 @@ At the boot stage, two scripts will be run (if not booting in safe mode). First,
115114

116115
After code.py has finished executing, a REPL prompt will be presented on the serial port. Other files can also be executed by using the **Thonny** editors or using **Ampy** tool.
117116

118-
![Thony](./res/Thony.png)
117+
![Thonny](./res/Thonny.png)
119118

120119
With the boards which support USB mass storage, we can drag the files to the board file system. However, because the EFR32 boards don’t support USB mass storage, we need to use a tool like **Ampy** to copy the file to the board. You can use the latest version of **Ampy** and its  command to copy the module directories to the board.
121120

122-
Refer to the guideline below for installing the **Ampy** tool: 
123-
124-
https://learn.adafruit.com/micropython-basics-load-files-and-run-code/install-ampy
125-
126-
## Modules supported ##
121+
Refer to the guide below for installing the **Ampy** tool:
127122

128-
| Board | Modules Available|
129-
| --------------------------- | ---------------- |
130-
| xG24 Dev Kit | _asyncio, _bleio, _pixelmap, adafruit_ble, adafruit_bus_device, adafruit_pixelbuf, adafruit_register, aesio,analogio, array, atexit, binascii, bitmaptools, board, builtins, busio, collections, digitalio, displayio,errno, fontio, framebufferio, gc, getpass, gifio, json, math, microcontroller, micropython, msgpack, nvm, onewireio, os, pwmio, rainbowio, random, re, rtc, select, sharpdisplay, storage, struct, supervisor, sys, terminalio, time, traceback, ulab, uselect, vectorio, watchdog, zlib |
131-
| xG24 Explorer Kit | _asyncio, _bleio, _pixelmap, adafruit_ble, adafruit_bus_device, adafruit_pixelbuf, adafruit_register, aesio,analogio, array, atexit, binascii, bitmaptools, board, builtins, busio, collections, digitalio, displayio,errno, fontio, framebufferio, gc, getpass, gifio, json, math, microcontroller, micropython, msgpack, nvm, onewireio, os, pwmio, rainbowio, random, re, rtc, sdcardio, select, sharpdisplay, storage, struct, supervisor, sys, terminalio, time, traceback, ulab, uselect, vectorio, watchdog, zlib |
132-
| Sparkfun Thing Plus MGM240P | _asyncio, _bleio, _pixelmap, adafruit_ble, adafruit_bus_device, adafruit_pixelbuf, adafruit_register, aesio,analogio, array, atexit, binascii, bitmaptools, board, builtins, busio, collections, digitalio, displayio,errno, fontio, framebufferio, gc, getpass, gifio, json, math, microcontroller, micropython, msgpack, nvm, onewireio, os, pwmio, rainbowio, random, re, rtc, sdcardio, select, sharpdisplay, storage, struct, supervisor, sys, terminalio, time, traceback, ulab, uselect, vectorio, watchdog, zlib |
123+
<https://learn.adafruit.com/micropython-basics-load-files-and-run-code/install-ampy>
File renamed without changes.

0 commit comments

Comments
 (0)