Перейти на компактные 12-словные записи v4 и сохранять 10 процентов банка после отключения. Добавить трёхсекундное ожидание роста ЗПТ и настраиваемый лимит пусков. Явно инициализировать состояние UART и гарантировать публикацию параметров EEPROM перед запуском Timer2. Сохранить воспроизводимые сборки, регрессионные проверки, документацию и обновлённые результаты сборки; исключить временные артефакты.
64 lines
4.8 KiB
Markdown
64 lines
4.8 KiB
Markdown
# Сборка Бальзам-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.
|