Code Monkey home page Code Monkey logo

nanofirmwareflasher's Introduction

License #yourfirstpr Build Status NuGet Discord

nanoFramework logo


Welcome to the nanoFramework nano firmware flasher tool repository!

This repo contains the nano firmware flasher tool. It's a .NET Core CLI Global Tool that allows flashing a nanoFramework target with nanoBooter, nanoCLR, managed application or backup files. Is part of nanoFramework toolbox, along with other various tools that are required in nanoFramework development, usage or repository management.

It makes use of several 3rd party tools:

  • Espressif esptool. You can find the esptool and licensing information on the repository here.
  • ST DfuSe USB. You can find the source, licensing information and documentation here.
  • ST-LINK Utility. You can find the source, licensing information and documentation here.

Install nanoFramework Firmware Flasher

Perform a one-time install of the nanoFramework Firmware Flasher tool using the following .NET Core CLI command:

dotnet tool install -g nanoFirmwareFlasher

In case you're installing a pre-release version of the tool you have to specify the version number and the nanoFramework Azure DevOps NuGet feed as the source. Like this:

dotnet tool install -g nanoFirmwareFlasher --version 9.9.9-preview.100 --add-source https://pkgs.dev.azure.com/nanoframework/feed/_packaging/sandbox/nuget/v3/index.json

After a successful installation a message is displayed showing the command that's to be used to call the tool along with the version installed. Similar to the following example:

You can invoke the tool using the following command: nanoff
Tool 'nanofirmwareflasher' (version '9.9.9-preview.100') was successfully installed.

To update nanoFramework Firmware Flasher tool use the following .NET Core CLI command:

dotnet tool update -g nanoFirmwareFlasher

Usage

Once the tool is installed, you can call it by using its command nanoff, which is a short version of the name to ease typing.

nanoff [command] [args]

The tool includes help for all available commands. You can see a list of all available ones by entering:

nanoff --help

Update the firmware of an ESP32 target

To update the firmware of an ESP32 target connected to COM31, to the latest available development version.

nanoff --update --platform esp32 --serialport COM31

Update the firmware of an ESP32 target along with a managed application

To update the firmware of an ESP32 target connected to COM31, to the latest available development version. You have to specify the path to the managed application. This example uses the binary format file that was saved on a previous backup operation.

nanoff --update --platform esp32 --serialport COM31 --deployment "c:\eps32-backups\my_awesome_app.bin"

Update the firmware of a specific STM32 target

To update the firmware of the NETDUINO3_WIFI target to the latest available stable version.

nanoff --update --target NETDUINO3_WIFI --stable

Update the firmware of a ST_STM32F769I_DISCOVERY along with a managed application

To update the firmware of the ST_STM32F769I_DISCOVERY target to the latest available preview version along with a managed application. You have to specify the path to the managed application. This example uses the binary format file that is generated by Visual Studio when building any nanoFramework C# application. Because it's a binary file you have to specify too the flash address of the deployment region (here 0x08000000, mind the hexadecimal format).

nanoff --update --target ST_STM32F769I_DISCOVERY --binfile "c:\dev\my awesome app\bin\debug\my_awesome_app.bin" --address 0x08000000

List all STM32 devices available with JTAG connection

This useful to list all STM32 devices that are connected through JTAG.

nanoff --listjtag

List all STM32 devices available with DFU connection

This useful to list all STM32 devices that are connected through DFU.

nanoff --listdfu

Tool output verbosity

The tool output verbosity can be set through the v|verbosity option.

This is convenient, for example, if this tool is being used in a automated process where the minimum output is desired to ease processing the return result of the execution. It can be set to:

  • q[uiet]
  • m[inimal]
  • n[ormal]
  • d[etailed]
  • diag[nostic]
nanoff -v q

Exit codes

The exit codes can be checked in this source file.

Feedback and documentation

To provide feedback, report issues and finding out how to contribute please refer to the Home repo.

Join our Discord community here.

Credits

The list of contributors to this project can be found at CONTRIBUTORS.

License

The nanoFramework ESP32 firmware flasher tool is licensed under the MIT license.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.

nanofirmwareflasher's People

Contributors

josesimoes avatar ishvedov avatar

Watchers

James Cloos 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.