Files
Balsam_167/UKSSTMS320F28335
Andrey 5d9818291b feat: add M95M02-only GAS and EEPROM profiles
Expose the existing registers through Modbus and service CAN using one GAS provider only in M95M02 builds.
Include the EEPROM layout/driver, LOAD protection and calibration, firmware identity and shared CCS build workflow.
Add transport/profile and SCI8 validation tests, documentation and the checked M95M02 firmware image.
2026-10-09 16:17:37 +03:00
..
2026-07-22 13:16:10 +03:00
2026-07-22 13:16:10 +03:00

Номер выпуска

Меняйте FIRMWARE_VERSION_MAJOR, FIRMWARE_VERSION_MINOR и FIRMWARE_VERSION_PATCH в firmware_version.h в корне проекта CCS. Например, 0U, 1U, 2U задают версию 0.1.2. Сохраните файл и выполните Rebuild. После обновления настроек закройте/откройте проект и выполните Clean/Rebuild.

Debug и Release запускают prepare_identity.py: он читает номер из заголовка и передаёт его общему генератору. firmware_identity.json содержит только product/target; номер выпуска в нём редактировать не нужно. ${BuildDirectory}/generated/firmware_identity.h и JSON-паспорт создаются автоматически; вручную их не меняйте. Диапазоны: major/minor 0..255, patch 0..999. Неверный номер останавливает генерацию.

Результаты сборки

Версия 0.1.1 возвращает паспорт прошивки и блочное чтение EEPROM поверх подтверждённой на плате базы c6c9128. COM_1 остаётся на 115200; исходники main.c, RS485.c, RS485.h и настройки PLL не менялись относительно этой базы. Не используйте 250000/256000 для проверки этой сборки. FIFO остаётся включённым, как в рабочей базе; диагностический вариант без FIFO здесь не используется. Блочное чтение, проверка размера и host-тесты проверяются программно; после загрузки сначала проверьте чтение версии 0.1.1, затем 256 байт EEPROM.

Debug post-build CCS12 также копирует проверенный BIN и сопутствующие .manifest.json/.sha256 в ../newProject/SETGUI/..periph_28335/firmware/periph28335/bal. Папка создаётся автоматически; имя BIN с Git commit сохраняется. Копирование выполняет copy_bin_to_setgui.ps1 после успешной проверки образа и создания паспорта. Пути определяются относительно репозитория, не cwd CCS. Для ручного копирования: ./copy_bin_to_setgui.ps1 -Path ./Bin/<имя>.bin.

Версия работающей прошивки, SHA-256 BIN и паспорт сборки описаны в инструкции для 167. Перед компиляцией запускается preBuildStep.bat; требуются Python 3.10+ и Git в PATH CCS. Debug post-build создаёт рядом с BIN файлы .manifest.json и .sha256.

Для сборки требуется общий UMP-протокол из соседнего репозитория: ../newProject/SETGUI/third_party/templates/c/set-protocol (от корня этого репозитория). Пути к заголовкам заданы в .cproject для Debug и Release; Source/Internal/shared_ump.c подключён в .project и компилирует общую реализацию протокола и порт TMS320F28335. При другом расположении зависимости обновите оба пути Include Options в нужной конфигурации CCS.

После сборки Debug в Bin создаётся файл UKSSTMS320F28335_<commit>.bin, где <commit> — короткий хеш текущего коммита Git (не менее 8 символов). HEX сохраняет прежнее имя.

BIN создаётся скриптом build_bin.bat; Git должен быть доступен в PATH процесса CCS. Если определить коммит не удалось, сборка завершается ошибкой. При наличии незакоммиченных правок хеш обозначает HEAD и не описывает эти правки.

GAS для новой EEPROM

При EEPROM_M95M02=1 доступен профиль GAS 167/v1 через Modbus и служебный CAN УМП. Карта, проверки и измеренные размеры: GAS_167_M95M02.md. В сборке AT25256B GAS исключён; её загрузочный BIN не увеличивается. После обновления проекта выполнить Clean/Rebuild: новый gas167.c зарегистрирован в .project.