-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR for RFBL support #160
base: raceflight
Are you sure you want to change the base?
PR for RFBL support #160
Conversation
F3 support will be dropped in Next. I'm considering removing DFU and OPBL support. What do you guys think? F3s won't be compatible with RFBL and the new way config on the firmware will be used. Below is the document I've created while designing RFBL. It's a bit out of date. I've made a few improvements since last updating it. RFBL document: Proposed flash layout: Normal boot cycle:
FW upgrade boot cycle. B. (Optional) (Needs some more thought) RFBU boot cycle. Bootloader Upgrade Command Parameters: FwInfo.size = 0; //size in bytes of the FW RFBL Commands: RFBL States: |
I'm all for removing F3 support anyway. A majority of folks will probably agree. More time can be spent on F4 improvements. Never liked OPBL. I'm still trying to get my head around RFBL, but from what you've said on the blog, it seems like the next logical step. |
Second that! |
Awesome work on this @rs2k. Maybe this is obvious to some, but I don't get why we would want to spend time here vs working on other more valuable things. What opbl limitations are driving this? Is it memory layout? If so, can we just update that and spend time elsewhere? |
@nathantsoi The time has already been spent. I have a working RFBL. Integrating it into RaceFlight won't take too much time. https://www.youtube.com/watch?v=Jgjt22BYVPo The reason for doing this is to get rid of the need for DFU and OPBL. I don't like the 6 second delay OPBL has using DFU when you have several windows computers is a huge pain. RFBL can be used to make upgrades easier to do as well. |
Rad. Is the code pushed somewhere? I'd love to check it out. |
Sounds interesting, flashing looks to be very fast. What will be te impact for the configurator and the firmware itself. For us on windows we have never seen real isues with dfu flasing. We have never used an FC with an OPBL so we can not comment. |
hey @rs2k what if we put the boot loader at the top of the memory, and then only execute from within the RFFW if the boot option is enabled - either via a pin, via a flash flag and reset, or both? That way the RFFW still sits at 0X08000000 |
@blckmn I thought abut that, but I want to keep the BL at 0X08000000 for times when the FW is corrupt. Keeping a DFU option of the RFFW might be the best way to go. RACEFLIGHT_REVO_DFU and RACEFLIGHT_REVO_RFBL for example. I don't see a point in keeping OPBL support since RFC can just flash the OPBL back onto the FC in DFU mode if it needs to. I'm willing to trade compatibility for ease of use in this case. Thoughts? |
yeah i did think about the corruption issue, but figured it would be possible for DFU to repair a bricked board worst case. The DFU option only needs to reload the RFBL, and a stub RFFW that puts it into boot mode every power up. The stub gets replaced on first flash. The only reason i thought that would be better is that 99% of times the board is started up it won't be for boot loading, it'll be for RFFW, and the RFFW hex can then remain as is in the make file (no need to support building to a different start address). Only musing my thoughts... |
Thanks, I still haven't decided which route to go. I think it'll be time to test the boot loader soon though. |
No description provided.