Getting Started with W55RP20 on Ubuntu
This guide explains how to set up the W55RP20 development environment on Ubuntu, build examples, and verify functionality.
Raspberry Pi Pico Setup Guide and Example for Ubuntu
This guide explains how to set up the W55RP20 development environment on Ubuntu, build examples, and verify functionality.
Development Environment SETUP
Update Ubuntu Packages
First, ensure your system packages are up-to-date:
$apt-get install
$apt-get upgrade
Install Required Packages
Install essential tools for building and running the examples:
$sudo apt-get install wget cmake python3 git tar
$sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
$sudo apt-get install g++ libstdc++-arm-none-eabi-newlib
Download Raspberry Pi Pico Setup Script
Download the setup script provided by Raspberry Pi to streamline the setup process:
$mkdir setupScript
$cd setupScript
$wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
Give the script execution permissions and run it:
$ ls -al
$ chmod +x pico_setup.sh
$ ls -al
$ ./pico_setup.sh
Note: The script may take 10–20 minutes to complete and might require administrator privileges.
After running the script, a directory named [pico] will be created, containing the SDK and example codes.
Building and Testing the Blink Example
Navigate to the examples directory, create a build directory, and configure the build environment using CMake:
$ cd pico/pico-examples/
$ mkdir build
$ cd build
$ export PICO_SDK_PATH=/../../pico-sdk
$ cmake ..
Build the blink example:
$ cd blink
$ make -j4
If successful, you will find .bin and .uf2 files in the build output directory.
W55RP20 Setup and Example
Clone the WIZnet Repository
Clone the WIZnet-PICO-C repository for W55RP20 and initialize its submodules:
$ mkdir wiznet
$ cd wiznet
$ git clone https://github.com/WIZnet-ioNIC/WIZnet-PICO-C.git
$ cd WIZnet-PICO-c
$ git submodule update –init
$ cd libraries/pico-sdk
$ git submodule update –init
$ cd ../
$ cd mbedtls
$ git submodule update –init
Modify Configuration Files
Edit CMakeLists.txt to suit your target EVB board:
$ vi CMakeList.txt
Edit w5x00_loopback.c in the example/loopback directory as needed:
$ cd example/loopback
$ vi w5x00_loopback.c
Build the W55RP20 Loopback Example
Create a build directory and proceed with the build:
$ cd ../../
$ mkdir build
$ cd build
$ cmake ..
$ cd example/loopback
$ make -j4
If successful, .bin and .uf2 files will be generated in the build directory.
Uploading the UF2 File to Pico Flash
Entering Boot Mode on W55RP20
- Connect the W55RP20 to the Ubuntu PC using a USB Type-C cable.
- Hold the BOOTSEL button.
- Press and release the RUN button while holding BOOTSEL.
- Release the BOOTSEL button.
Flash the UF2 File
Verify that W55RP20 is connected to the PC:
$ lsusb
$ df
Mount the flash storage:
$ mkdir ~/picoMount
$ sudo mount </your/device> ~/picoMount
Copy the UF2 file:
$ cp w5x00_loopback.uf2 ~/picoMount
Unmount the flash:
$ sudo umount ~/picoMount
Loopback TEST
Verify the functionality using the loopback example
Server: W55RP20 acting as the loopback server.
Client: A Windows PC acting as the loopback client.
The debug messages from W55RP20, acting as the loopback server, were checked using minicom on an Ubuntu PC.
The functionality of the Windows PC as a loopback client was verified using Hercules.
The debug messages from W55RP20, verified via minicom:
The messages from the loopback client, tested using Hercules: