Git Product home page Git Product logo

rm-pico-setup-windows's Introduction

Pico setup for Windows

This is a forked repo of the pico set for windows. It is ment to set up the pi pico for robomasters so some repos and dependenceys wont be installed.

Download the latest release

This project aims to create an easy-to-use installer to get started on Windows (using the C/C++ SDK) with Raspberry Pi Pico and other RP2040-based boards. It is inspired by, and is roughly equivalent to, the pico-setup project for Linux systems.

The installer automates the prerequisite installation on Windows, as explained in the official Getting started with Raspberry Pi Pico guide.

The rest of this README document is about developing the installer itself. If you just want to install and use the compilers and toolchain, download the release linked to above. Further information for users is in the tutorial.

Included software

Building

You will need PowerShell 7.2 or newer in order to run the build script. See Installing PowerShell on Windows for download links and instructions. Note that this is needed only for building the installer itself, and not for end-user machines where the installer will be run.

The installers are built with NSIS 3. The NSIS script is generated by build.ps1 when provided with a JSON configuration file. The build script automatically downloads a local copy of NSIS to use for the build.

A good NSIS guide and power shell guide

Only x86-64 builds are supported at this time.

Compiling OpenOCD and other tools (picotool, pioasm, elf2uf2) requires an installation of MSYS2. The build script automatically downloads and installs a local copy of MSYS2. You can specify a path to an existing copy of MSYS2 using the -MSYS2Path option. The build script will install a copy of MSYS2 at this path if it doesn't find an existing copy.

It is highly recommended to use a dedicated copy of MSYS2 for this build.

Powershell Comands

To enable running power shell: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Check powershell version: $PSVersionTable.PSVersion

To build:

.\build.ps1 .\config\x64-standalone.json -MSYS2Path ~\Downloads\msys64 -SkipSigning

The built installers will be saved to the bin directory.

.\build.ps1 flags

  • ConfigFile: (first arg and flag not needed) path to .\config\x64-standalone.json file
  • MSYS2Path: path to msys64
  • SkipSigning: Skip signing exe step(recomend) turn on if you dont know what signing is
  • Compression: zlib, bzip2, lzma(default)
  • BuildType: default system

Break down

build.ps1 will download and build all .exe files like picotool, git, etc. x64-standalone.json has all the git repos and links to where build will download from. Then as a masive string build will make a .nsi file and compile it to the .exe you see in the \bin directory. Then when running the .exe it will download all tools lised in included software and then ask to run pico-setup.cmd to clone and update the sample_rm_pico_app repo.

if you just need to change the nsi file it is faster to just change the file in the root dir and compile it with this:

.\build\NSIS\makensis ".\$basename-$suffix.nsi"

Tests

There are tests for some parts of the build scripts. You can run them like this:

Install-Module Pester -Force
Import-Module Pester -PassThru # Check the version of the imported module -- we need v5 or greater
Invoke-Pester -Output Detailed

rm-pico-setup-windows's People

Contributors

ndabas avatar agmui avatar lurch avatar ivancmz avatar microenh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.