Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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 <envioronment 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 new version of the ARM GNU toolchain (e.g., 12.3rel1) will not work.

    • On Mac with Apple Silicon, 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 https://github.com/raspberrypi/pico-sdk/issues/903), and when I used ARM GNU toolchain 11.3rel1, the binary size was 2.6 MB in size.

    • After installing the toolchain, add the path, e.g., C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\11.2 2022.02\bin to $PATH.

    • 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.

...