From 4e93d9a4dd2c803276524defe923641976fc5200 Mon Sep 17 00:00:00 2001 From: viktor Date: Fri, 24 Jul 2026 04:37:10 +0900 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D0=B9=D0=B4=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=BE=D0=B2=20flash=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D1=8F=20+=20=D0=BF=D1=83=D1=82=D1=8C=20=D0=BA=20NV?= =?UTF-8?q?/vocoder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beken-SDK чип. Разделы flash модуля: Bootloader|Application|RF Firmware|NET info. Application = наш образ (control+WebRTC). RF Firmware = ОТДЕЛЬНЫЙ раздел с DMR-baseband/ AMBE (у нас нет). NET info = EasyFlash NV. Путь ко всему — дамп flash модуля через протокол апдейтера. docs/fm100b-firmware-re.md. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr --- docs/fm100b-firmware-re.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/fm100b-firmware-re.md b/docs/fm100b-firmware-re.md index 8d261d7..0d80a87 100644 --- a/docs/fm100b-firmware-re.md +++ b/docs/fm100b-firmware-re.md @@ -43,6 +43,27 @@ AMBE выполняется на отдельном DSP-ядре/хардвар - РЕАЛЬНО моддится: параметры WebRTC (агрессивность шумодава/AGC, качество звука), кодек-гейны (`ATC_MICCodecGainSet`/`ATC_SPKCodecGainSet`), DTMF, логика управления DMR, NV-калибровка (EasyFlash). +## ⭐ Таблица разделов flash модуля (найдена @0x15e828) +``` +Bootloader | Application | RF Firmware | NET info +``` +Чип на базе **Beken SDK** (API `bk_gpio_*`, `bk_pwm_*`, efuse-cal, RTOS + RT-Thread FAL/EasyFlash). +Разбивка flash модуля: +- **Bootloader** — загрузчик (в т.ч. режим «Обновление DMR чипа»). +- **Application** — ЭТО наш `FM100B_*.bin` (управление + WebRTC-аудио + интерфейс к AMBE). +- **RF Firmware** — ОТДЕЛЬНЫЙ раздел: DMR-baseband / модем / **предположительно AMBE-DSP**. У нас его НЕТ. +- **NET info** — NV-настройки (**EasyFlash ENV** — то, что нужно для доступа к хранимым параметрам). + +Плюс сырые cal-таблицы во flash: `manual_cal_write_flash`, `save txpwr tab to flash` (темп-компенсация +мощности), efuse-cal ADC/батареи (`efuse get cal`, `CodeOffset`, `dvbatref`), кодек `set dac vol dig/ana`. + +## Как получить NV/RF Firmware: ДАМП flash модуля +Ни NV, ни RF Firmware в образе Application нет — нужен **дамп SPI-flash модуля** (все разделы). +Путь: протокол загрузчика/апдейтера (режим «Обновление DMR чипа» активен) — у него есть чтение flash. +Реверснуть команду чтения из `RT-4D Upgrade V3_25_260205.exe` (как сделали с тюнером) → безопасно +снять полный дамп → распарсить EasyFlash ENV (NET info) + разобрать RF Firmware (vocoder/DMR). +Это разблокирует СРАЗУ: NV-настройки, калибровку, и сам DMR-baseband для реверса. + ## Реальные следующие шаги (реверс+правка+тест) 1. **API-поверхность:** извлечь полный список ATC_*/SP*-команд (это протокол 0x68 между AT32 и модулем) — карта того, чем вообще можно управлять. Уже частично в docs/fm100b-commands.md.