-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
generic esp8266 board: Use flash mode DOUT by default, in place of QIO #5601
Conversation
@d-a-v Which issue does this fix? |
https://gitter.im/esp8266/Arduino?at=5c33150782a6c30b9099abb3 This idea is that more and more boards only works in DOUT flash mode, even esp8266. DOUT is slower, but I remember you said once this should not be noticeable on esp8266. |
Okay, I think this is fine, if prominently mentioned in the release notes. |
Side note, does the new menu item order DOUT - QIO - QOUT - DIO look logical? Maybe DOUT - DIO - QOUT - QIO? Or DOUT - QOUT - DIO - QIO? |
TBH I don't know. We can also add comments in menus with those options, could be
This PR is not mandatory and does not fix anything apart from common user error when using the generic board. It arose from the above link when it comes to sonoff devices, and they seem to not be alone, which seem to have only two wires between esp8266 and flash chip (or using a specific flash chip, I don't know). We can also add defines that can be checked in sketches and #warn if configuration does not match something (when sketch can be matched to specific hardware).
edit: @earlephilhower Did you measure the overall speed impact from QIO to DOUT or DIO ? I'm open for updates, or closing. |
@d-a-v, sorry but I don't have measured numbers, and it depends on the cache hit ratio. Assuming the cache line is 32bytes, though, the time to do a cache fill is going to be very roughly (I'm not looking at a datasheet now or factoring protocol overhead):
Straight-line code in this case (not in cache yet) would end up almost 50% slower on DOUT vs QIO. That said, though, if you're using "generic" as the board then I'm all for a safe (but slow) default. You can change it to QIO/etc. manually if you know enough about the board (or add it to boards.py). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with @earlephilhower about order
No description provided.