Skip to content
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

Bootloader protocol optimization: Allow "excess" data transmission in UPD_SEND_DATA messages #72

Open
dallmair opened this issue Apr 1, 2023 · 0 comments

Comments

@dallmair
Copy link
Member

dallmair commented Apr 1, 2023

At the moment, the data transmission in UPD_SEND_DATA messages must be page-aligned, i.e. an UPD_SEND_DATA message must only contain data of a single page. The message must not contain more data than can fit into the current page.

Proposal is to lift this restriction and allow transmission of the first bytes of the following page together with the last bytes of the previous page. For this, the buffer size must be increased from RAM_BUFFER_SIZE to RAM_BUFFER_SIZE + MAX_BYTES_PER_SEND_DATA_MESSAGE.

With Standard Frames, we currently transmit 21 messages with 12 payload bytes each and another message with the final 4 bytes of the page. Probably, the savings are therefore only measurable when looking at the complete flash sequence.
However, things get way more interesting with Extended Frames. There, we can transmit up to 252 bytes in a frame and then need yet another (Standard) frame with all the LL_ACK/T_ACK/LL_ACK ping-pong just for the final 4 bytes. And that for every page... :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant