Files
Balsam_167/UKSSTMS320F28335/README.md
Andrey 1e911e5250 Обновить логгер УМП и исправить запуск UART и EEPROM
Перейти на компактные 12-словные записи v4 и сохранять 10 процентов банка после отключения. Добавить трёхсекундное ожидание роста ЗПТ и настраиваемый лимит пусков. Явно инициализировать состояние UART и гарантировать публикацию параметров EEPROM перед запуском Timer2. Сохранить воспроизводимые сборки, регрессионные проверки, документацию и обновлённые результаты сборки; исключить временные артефакты.
2026-10-12 12:25:41 +03:00

64 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Сборка Бальзам-167
Проект CCS использует TMS320F28335, модель памяти large и ABI COFF.
Исходники и русские комментарии сохранены в UTF-8 без BOM. Кодировка проекта
задана в .settings/org.eclipse.core.resources.prefs, правило редактора — в
../.editorconfig. Подробная проверка покрытия: [COMMENT_AUDIT.md](../Doc/COMMENT_AUDIT.md).
## Версия и паспорт прошивки
Текущий номер 1.1.2 задаётся в firmware_version.h: major/minor 0..255,
patch 0..999. Меняйте только три числовых определения версии и выполняйте
Clean/Rebuild. firmware_identity.json хранит product/target.
Debug и Release вызывают prepare_identity.py. Он читает номер версии и передаёт
его общему генератору паспорта. generated/firmware_identity.h и JSON создаются
в каталоге сборки; вручную их редактировать не нужно. Паспорт включает исходный
коммит, признак незакоммиченных изменений и время UTC. Порядок проверки
приведён в [FIRMWARE_IDENTITY.md](../Doc/FIRMWARE_IDENTITY.md).
## Зависимости и настройки CCS
Для текущих конфигураций нужны Python, Git и TI C2000 22.6 LTS.
Debug и Release используют оптимизацию уровня 3 и приоритет размера
`--opt_for_speed=0`: это необходимо для размещения образа с настраиваемым
лимитом попыток в AT25256B. Проверенная локальная сборка находится в
`Bin/AttemptLimit`; перед загрузкой применяется SCI8-проверка границы EEPROM.
Общая реализация УМП и порт TMS320F28335 подключаются из
../newProject/SETGUI/third_party/templates/c/set-protocol относительно корня
репозитория. shared_ump.c включает эту реализацию и модуль паспорта.
В .cproject обе конфигурации используют генератор и post-build из
K:/git_project/newProject/templates. При переносе проекта проверьте этот путь,
пути Include Options к общей реализации и каталог назначения BIN. Генератор
исходников и post-build сейчас находятся в соседнем репозитории; старые
локальные build_bin.bat/preBuildStep.bat больше не входят в этот проект.
Post-build вызывает tools/firmware-build/ccs/postcompile.bat: формирует загрузочный
образ, проверяет границы, создаёт паспорт и SHA-256. Текущий каталог копирования
задан в .cproject:
K:/git_project/newProject/SETGUI/..periph_28335/firmware/periph28335/balzam167.
COM_1 работает на 115200 с FIFO. COM_2 использует 57600 для OWEN либо 115200
для другого режима. Эти скорости задаются в main.c.
## Профиль EEPROM и GAS
В Source/Internal/Include/eeprom_config.h значение EEPROM_M95M02=0 выбирает
AT25256B 32 КиБ; значение 1 — M95M02-DR 256 КиБ. Выбор обязан соответствовать
микросхеме на плате. После изменения нужен Clean/Rebuild. При отдельной сборке
определение должно совпадать у компилятора и у препроцессора линкера.
GAS включается только при значении 1: технологические слова 0x5000..0x507F и
дескриптор только для чтения 0x5F00..0x5F07. Транспорты — Modbus RTU и служебный
CAN УМП. Карта и измеренные размеры: [GAS_167_M95M02.md](../Doc/GAS_167_M95M02.md).
Подробное назначение модулей: [SOURCE_GUIDE.md](../Doc/SOURCE_GUIDE.md).
## Проверки
Запускайте из корня репозитория Python-скрипты tests/comments/run_test.py,
tests/gas167/run_test.py, tests/eeprom_profiles/run_test.py,
tests/load_control/run_test.py и проверки регистратора в tests/ump_logger.
Проверка FIFO: tests/rs232_fifo/run_test.py --cc <путь к GCC>.
Для MinGW каталог исполняемых файлов GCC должен присутствовать в PATH.