diff options
| author | Priit Laes <[email protected]> | 2023-12-14 09:11:30 +0200 |
|---|---|---|
| committer | Priit Laes <[email protected]> | 2023-12-14 09:12:54 +0200 |
| commit | b17f16f0af635f4268543dcfe4cee1ec48b216a1 (patch) | |
| tree | d75086e3ddf914e8adb874344b65214e8470e526 /embassy-boot | |
| parent | 1279a1b7f6bc9c965f8d8da3a9c7449195b6a663 (diff) | |
embassy-boot: Fix formatting for tables
Tables describing the a-b flashing were all garbled up in the
cargo doc output, so fix up the syntax.
Diffstat (limited to 'embassy-boot')
| -rw-r--r-- | embassy-boot/boot/src/boot_loader.rs | 36 |
1 files changed, 11 insertions, 25 deletions
diff --git a/embassy-boot/boot/src/boot_loader.rs b/embassy-boot/boot/src/boot_loader.rs index 1663f4f2c..65b12dc5f 100644 --- a/embassy-boot/boot/src/boot_loader.rs +++ b/embassy-boot/boot/src/boot_loader.rs | |||
| @@ -135,51 +135,44 @@ impl<ACTIVE: NorFlash, DFU: NorFlash, STATE: NorFlash> BootLoader<ACTIVE, DFU, S | |||
| 135 | /// The provided aligned_buf argument must satisfy any alignment requirements | 135 | /// The provided aligned_buf argument must satisfy any alignment requirements |
| 136 | /// given by the partition flashes. All flash operations will use this buffer. | 136 | /// given by the partition flashes. All flash operations will use this buffer. |
| 137 | /// | 137 | /// |
| 138 | /// SWAPPING | 138 | /// ## SWAPPING |
| 139 | /// | 139 | /// |
| 140 | /// Assume a flash size of 3 pages for the active partition, and 4 pages for the DFU partition. | 140 | /// Assume a flash size of 3 pages for the active partition, and 4 pages for the DFU partition. |
| 141 | /// The swap index contains the copy progress, as to allow continuation of the copy process on | 141 | /// The swap index contains the copy progress, as to allow continuation of the copy process on |
| 142 | /// power failure. The index counter is represented within 1 or more pages (depending on total | 142 | /// power failure. The index counter is represented within 1 or more pages (depending on total |
| 143 | /// flash size), where a page X is considered swapped if index at location (X + WRITE_SIZE) | 143 | /// flash size), where a page X is considered swapped if index at location (`X + WRITE_SIZE`) |
| 144 | /// contains a zero value. This ensures that index updates can be performed atomically and | 144 | /// contains a zero value. This ensures that index updates can be performed atomically and |
| 145 | /// avoid a situation where the wrong index value is set (page write size is "atomic"). | 145 | /// avoid a situation where the wrong index value is set (page write size is "atomic"). |
| 146 | /// | 146 | /// |
| 147 | /// +-----------+------------+--------+--------+--------+--------+ | 147 | /// |
| 148 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | | 148 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 149 | /// +-----------+------------+--------+--------+--------+--------+ | 149 | /// |-----------|------------|--------|--------|--------|--------| |
| 150 | /// | Active | 0 | 1 | 2 | 3 | - | | 150 | /// | Active | 0 | 1 | 2 | 3 | - | |
| 151 | /// | DFU | 0 | 3 | 2 | 1 | X | | 151 | /// | DFU | 0 | 3 | 2 | 1 | X | |
| 152 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 153 | /// | 152 | /// |
| 154 | /// The algorithm starts by copying 'backwards', and after the first step, the layout is | 153 | /// The algorithm starts by copying 'backwards', and after the first step, the layout is |
| 155 | /// as follows: | 154 | /// as follows: |
| 156 | /// | 155 | /// |
| 157 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 158 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | | 156 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 159 | /// +-----------+------------+--------+--------+--------+--------+ | 157 | /// |-----------|------------|--------|--------|--------|--------| |
| 160 | /// | Active | 1 | 1 | 2 | 1 | - | | 158 | /// | Active | 1 | 1 | 2 | 1 | - | |
| 161 | /// | DFU | 1 | 3 | 2 | 1 | 3 | | 159 | /// | DFU | 1 | 3 | 2 | 1 | 3 | |
| 162 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 163 | /// | 160 | /// |
| 164 | /// The next iteration performs the same steps | 161 | /// The next iteration performs the same steps |
| 165 | /// | 162 | /// |
| 166 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 167 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | | 163 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 168 | /// +-----------+------------+--------+--------+--------+--------+ | 164 | /// |-----------|------------|--------|--------|--------|--------| |
| 169 | /// | Active | 2 | 1 | 2 | 1 | - | | 165 | /// | Active | 2 | 1 | 2 | 1 | - | |
| 170 | /// | DFU | 2 | 3 | 2 | 2 | 3 | | 166 | /// | DFU | 2 | 3 | 2 | 2 | 3 | |
| 171 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 172 | /// | 167 | /// |
| 173 | /// And again until we're done | 168 | /// And again until we're done |
| 174 | /// | 169 | /// |
| 175 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 176 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | | 170 | /// | Partition | Swap Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 177 | /// +-----------+------------+--------+--------+--------+--------+ | 171 | /// |-----------|------------|--------|--------|--------|--------| |
| 178 | /// | Active | 3 | 3 | 2 | 1 | - | | 172 | /// | Active | 3 | 3 | 2 | 1 | - | |
| 179 | /// | DFU | 3 | 3 | 1 | 2 | 3 | | 173 | /// | DFU | 3 | 3 | 1 | 2 | 3 | |
| 180 | /// +-----------+------------+--------+--------+--------+--------+ | ||
| 181 | /// | 174 | /// |
| 182 | /// REVERTING | 175 | /// ## REVERTING |
| 183 | /// | 176 | /// |
| 184 | /// The reverting algorithm uses the swap index to discover that images were swapped, but that | 177 | /// The reverting algorithm uses the swap index to discover that images were swapped, but that |
| 185 | /// the application failed to mark the boot successful. In this case, the revert algorithm will | 178 | /// the application failed to mark the boot successful. In this case, the revert algorithm will |
| @@ -190,28 +183,21 @@ impl<ACTIVE: NorFlash, DFU: NorFlash, STATE: NorFlash> BootLoader<ACTIVE, DFU, S | |||
| 190 | /// | 183 | /// |
| 191 | /// The revert algorithm works forwards, by starting copying into the 'unused' DFU page at the start. | 184 | /// The revert algorithm works forwards, by starting copying into the 'unused' DFU page at the start. |
| 192 | /// | 185 | /// |
| 193 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 194 | /// | Partition | Revert Index | Page 0 | Page 1 | Page 3 | Page 4 | | 186 | /// | Partition | Revert Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 195 | //*/ | 187 | /// |-----------|--------------|--------|--------|--------|--------| |
| 196 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 197 | /// | Active | 3 | 1 | 2 | 1 | - | | 188 | /// | Active | 3 | 1 | 2 | 1 | - | |
| 198 | /// | DFU | 3 | 3 | 1 | 2 | 3 | | 189 | /// | DFU | 3 | 3 | 1 | 2 | 3 | |
| 199 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 200 | /// | 190 | /// |
| 201 | /// | 191 | /// |
| 202 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 203 | /// | Partition | Revert Index | Page 0 | Page 1 | Page 3 | Page 4 | | 192 | /// | Partition | Revert Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 204 | /// +-----------+--------------+--------+--------+--------+--------+ | 193 | /// |-----------|--------------|--------|--------|--------|--------| |
| 205 | /// | Active | 3 | 1 | 2 | 1 | - | | 194 | /// | Active | 3 | 1 | 2 | 1 | - | |
| 206 | /// | DFU | 3 | 3 | 2 | 2 | 3 | | 195 | /// | DFU | 3 | 3 | 2 | 2 | 3 | |
| 207 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 208 | /// | 196 | /// |
| 209 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 210 | /// | Partition | Revert Index | Page 0 | Page 1 | Page 3 | Page 4 | | 197 | /// | Partition | Revert Index | Page 0 | Page 1 | Page 3 | Page 4 | |
| 211 | /// +-----------+--------------+--------+--------+--------+--------+ | 198 | /// |-----------|--------------|--------|--------|--------|--------| |
| 212 | /// | Active | 3 | 1 | 2 | 3 | - | | 199 | /// | Active | 3 | 1 | 2 | 3 | - | |
| 213 | /// | DFU | 3 | 3 | 2 | 1 | 3 | | 200 | /// | DFU | 3 | 3 | 2 | 1 | 3 | |
| 214 | /// +-----------+--------------+--------+--------+--------+--------+ | ||
| 215 | /// | 201 | /// |
| 216 | pub fn prepare_boot(&mut self, aligned_buf: &mut [u8]) -> Result<State, BootError> { | 202 | pub fn prepare_boot(&mut self, aligned_buf: &mut [u8]) -> Result<State, BootError> { |
| 217 | // Ensure we have enough progress pages to store copy progress | 203 | // Ensure we have enough progress pages to store copy progress |
