Giter VIP home page Giter VIP logo

Comments (8)

arturo182 avatar arturo182 commented on August 15, 2024 1

Yeah, I started work on a separate repo for this :) https://github.com/arturo182/tinyuf2

from tinyusb.

cr1901 avatar cr1901 commented on August 15, 2024

Thought while it's on my mind.

It's probably difficult to make this portable, but I think a UF2 example should include a fake "bootloader" that prints out the address + binary contents, and then jumps to a fake application in another part of flash that does nothing. There would be a linker script for bootloader and application.

This would require flash write/erase code, changing the vector table location (because bootloader and application would have a set of vectors), and jumping to reset in the board support package.

from tinyusb.

arturo182 avatar arturo182 commented on August 15, 2024

Finally pushed my initial implementation of the uf2 bootloader, tested and working on my MIMXRT1011 Feather, needs lots of work but the basic bring up is there: https://github.com/arturo182/tinyusb/tree/uf2

The FAT code is based on the samd uf2 bootloader code.
I tried to make the bootloader itself as platform-agnostic as possible, the flashing functionality is all in the bsp. This is so-so because a lot of it is platform-specific so all boards that use the imxrt family should share it.

It feels like it might be out of scope for tinyusb and maybe it would be better to start the project as a separate codebase and use tinyusb as a module in there but as a proof of concept, it was easier to make it a tinyusb example and take advantage of the build system :)

Lots of work to be done, I also want to implement the uf2 hid interface as the msc is not always the best way to mass-flash a lot of boards.

from tinyusb.

arturo182 avatar arturo182 commented on August 15, 2024

Ping @tannewt cause I know you've been wanting to check this out 😅

from tinyusb.

tannewt avatar tannewt commented on August 15, 2024

Woohoo! Thank you! 🎉 I think we could make a TinyUF2 repo for it with TinyUSB as a submodule. I'm working on logic analyzer code in the same way.

from tinyusb.

hathach avatar hathach commented on August 15, 2024

Sorry, I am late to the party, yeah, full feature UF2 is too much for this repo, it should be best as a separated project. All TinyUSB's example is meant to be simple and proof of concept.

from tinyusb.

hathach avatar hathach commented on August 15, 2024

Yeah, I started work on a separate repo for this :) https://github.com/arturo182/tinyuf2

superb !!!

from tinyusb.

hathach avatar hathach commented on August 15, 2024

closed since there is a dedicated repo for this purpose already.

from tinyusb.

Related Issues (20)

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.