From 5a8724da6d11248cebe048dc5c5b7a09d9ab90b5 Mon Sep 17 00:00:00 2001 From: Andrey Kruchinkin Date: Sun, 30 Aug 2026 01:13:42 +0300 Subject: [PATCH] =?UTF-8?q?docs(protocan-boot):=20=D1=83=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=20=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=8B=20?= =?UTF-8?q?=D0=B1=D0=BB=D0=BE=D0=BA=D0=BE=D0=B2=20=D1=81=D0=BB=D0=BE=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- c/protocan-boot/README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/c/protocan-boot/README.md b/c/protocan-boot/README.md index ab6c0d7..3bf5c26 100644 --- a/c/protocan-boot/README.md +++ b/c/protocan-boot/README.md @@ -52,9 +52,21 @@ STM32 HAL / другой MCU / host-тест ```text offset = MsgBody * 8 -65536 * 8 = 512 КиБ на слот +512 КиБ = 512 * 1024 = 524 288 байт +524 288 / 8 = 65 536 блоков на слот ``` +| `MsgBody` | Номер блока | Смещение | Байты слота | +|---:|---:|---:|---:| +| `0x0000` | 0 | `0x00000` | `0x00000..0x00007` | +| `0x0001` | 1 | `0x00008` | `0x00008..0x0000F` | +| `0xFFFF` | 65 535 | `0x7FFF8` | `0x7FFF8..0x7FFFF` | + +Последний блок заканчивается на смещении `0x7FFFF`. Значение `0x80000` +равно размеру слота и является первой позицией за его границей. В коде эти +границы заданы константами `PCAN_BOOT_BLOCK_COUNT=65536` и +`PCAN_BOOT_SLOT_SIZE=524288`. + Последний кадр дополняется `0xFF`; ядро передаёт во Flash только оставшиеся байты фактического образа и включает в CRC только их.