Git Product home page Git Product logo

Comments (6)

hathach avatar hathach commented on August 17, 2024

to be honest, I am not entirely sure, I only test it on the module wroom/wrover, It is probably issue with block erase command. Here is the pr https://github.com/adafruit/tinyuf2/pull/86/files . maybe your flash device need a bit of delay or something. I think the solution for now is adding an flag in your board to skip the block erase and keep using sector erase command so that it could move along with other feature. Feel free to tag me for review when making PR for this.

from tinyuf2.

UnexpectedMaker avatar UnexpectedMaker commented on August 17, 2024

block erase

I'd had a look through that PR, but really don't understand it. Def not something I can see my self reverting, sorry.

Can I just change the FLASH_CACHE_SIZE back to 4096?

I don't see how using an ESP32-S2 WROOM/WROVER would be any different to the chips I'm using... My FeatherS2 uses the same S2 & Flash as the WROVER.

How many modules have you tested on? As I mentioned It's failing on around 20-30% - so unless you've tested this on enough modules you could easily be missing the issue.

from tinyuf2.

UnexpectedMaker avatar UnexpectedMaker commented on August 17, 2024

I also just tried creating a branch of release 0.3.0 - to build my TinyS2 UF2 boot loader from that, but I couldn't complete the submodule - keeps failing on nxp, and my git fu is just not good enough to solve why.

So basically I cant deploy CircuitPython on my TinyS2 boards via UF2 - super sad :(

Any guidance you can give me to how to specifically revert the 0.4.0 changes for ESP32-S2 so I can make a working UF2 boot loader, I'd really appreciate it.

Or can I simply copy the old ports/esp32s2/boards/board_flash.c from 0.3.0 over the one in 0.4.0?

from tinyuf2.

hathach avatar hathach commented on August 17, 2024

Can I just change the FLASH_CACHE_SIZE back to 4096?

Possibly, I did a quick look, should work. please try. Ultimately, you need to add an board specific flag that defined in your board.h to overwrite the default one. Let just say USE_FLASH_SECTOR_ERASE or something similar. Then you could use that define to change the FLASH_CACHE_SIZE to 4096 in the board_flash.

from tinyuf2.

UnexpectedMaker avatar UnexpectedMaker commented on August 17, 2024

Hi folks, I realised I never reported back here - super sorry.
So I did have to set my cache size back to 4096 - but that wasn't enough, It was still failing 1 out of every 6-7 times on both my FeatherS2 and TinyS2 and what I found was that I also had to wait 3-5 second's after I copied the CPY.uf2 firmware on, even after it finished copying before I could allow it to remount and that brought me back to 100% reliability.

Because of this pause that I have to do on my test jigs, and no one in the wild that I can see reporting issues with larger block sizes copying from their computers, I decided to not make any changes to the repo for my boards, and plan to re-assess it if/when a 0.5.0 comes out.

So I'm closing this finally and I'll report back in the future if I have further issues.

Cheers :)

from tinyuf2.

hathach avatar hathach commented on August 17, 2024

You should wait for the board to do its own self reset. Else you could reset it while writing the last block. finished copying is to the pc side only. Glad you work it out.

from tinyuf2.

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.