/
Basic OpenMote Setup for scum-test-code

Basic OpenMote Setup for scum-test-code

The freq_sweep_rx_simple and freq_sweep_tx_simple programs both use the scum_freq_sweep_examples branch of this repository, so make sure to swap to that branch if you are using those examples.

  • Install Anaconda.

  • Make sure conda --version shows the Anaconda version properly (otherwise, add conda to $PATH).

  • Create a Python2.7 conda environment: conda create -n <environment name> python=2.7. The environment name can be openmote or py2.

  • Activate the Python2.7 conda environment: conda activate <environment name>.

  • Install the scons, pyserial, intelhex, and colorama Python packages: pip install scons pyserial intelhex colorama. Alternatively, you can install them with conda: conda install scons pyserial colorama && conda install -c conda-forge intelhex.

  • Install the ARM GNU toolchain.

    • On Windows, gcc-arm-11.2-2022.02-mingw-w64-i686-arm-none-eabi.exe will work. Using a newer version of the ARM GNU toolchain (e.g., 12.3rel1) will not work and will cause flashing the OpenMote to fail with the error message Target returned: 0x43, Invalid address.

    • On Mac, I had to use ARM GNU toolchain 10.3 for compilation to work. When I used ARM GNU toolchain 11.2, an illegal instruction error showed up during compilation (see Unable to setup build environment on Apple Silicon, failing with: internal compiler error: Illegal instruction: 4 · Issue #903 · raspberrypi/pico-sdk), and when I used ARM GNU toolchain 11.3rel1, the binary size was 2.6 MB in size. Flashing a large binary onto the OpenMote will cause an error with the message Target returned: 0x43, Invalid address.

    • After installing the toolchain, add the path, e.g., on Windows, add C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\11.2 2022.02\bin to $PATH. On Mac, add export PATH="/Applications/ARM/bin:$PATH" to ~/.bashrc or ~/.zshrc .

    • Make sure that arm-none-eabi-gcc -v shows the ARM GNU toolchain version properly.

  • Bootload a program onto OpenMote (using openwsn-fw/projects/common/bsp_radio_rx as an example): scons board=openmote-b-24ghz toolchain=armgcc bootload=<OPENMOTE_PORT> bsp_radio_rx.

    • Two ports will appear for the OpenMote. Use the one with the higher number in the command above.

    • On Windows, I experienced ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)' . This was resolved by going into the device manager and locating the COM ports for both devices and changing the baud rates to 115200 for both COM ports associated with the OpenMote.

 

Related content

SCuM workshop 2023
SCuM workshop 2023
More like this
Documentation
Documentation
Read with this
Building SCuM Firmware
Building SCuM Firmware
More like this
Software Workflow
Software Workflow
Read with this
08-Jun-2022
08-Jun-2022
More like this
Notes about running nRF52840-DK at 1.8V
Notes about running nRF52840-DK at 1.8V
Read with this