Fix UMP logger boot initialization and configurable protocol build
This commit is contained in:
@@ -168,6 +168,29 @@ CAN-валидация общей библиотеки расширена раз
|
||||
|
||||
## Проверка и запуск
|
||||
|
||||
Полная сборка исправления: `./build_logger.ps1`. По умолчанию используется
|
||||
`../newProject/SETGUI/third_party/templates`; другую копию можно указать
|
||||
параметром `-TemplatesRoot`. В ней нужны `c/set-protocol/src/ump_protocol.c`
|
||||
и `c/set-protocol/ports/tms320f28335/ump_tms28335.c` (порт УМП v3).
|
||||
Само наличие папки templates не гарантирует наличие этого порта.
|
||||
Результат — `Bin/LoggerFix/UKSSTMS320F28335_logger_fix.bin` (SCI8 boot),
|
||||
рядом OUT и MAP. Старые образы в Bin не заменяются.
|
||||
Скрипт использует TI C2000 22.6 COFF, оптимизацию размера и секции функций;
|
||||
таблица `.cinit` размещена в RAML4 вместе с константами, код — в RAML0.
|
||||
Для сборки из CCS добавьте `Source/Internal/shared_ump.c` в проект и каталоги
|
||||
`<templates>/c/set-protocol`, `<templates>/c/set-protocol/ports/tms320f28335`
|
||||
в include path; используйте параметры оптимизации из скрипта.
|
||||
|
||||
При загрузке `main()` вызывает `ump_log_init()` до включения прерываний.
|
||||
Это обязательно для TI COFF: стартовый код не обнуляет неинициализированные
|
||||
переменные `.ebss`. Без явной инициализации состояние, счётчики и номера
|
||||
банков могут содержать остаточные значения RAM. Очистка `.logg` функцией
|
||||
`clear_mem()` эти переменные не затрагивает. Повторный запуск записи через
|
||||
FC06 не вызывает загрузочную инициализацию и сохраняет архив и шкалу времени.
|
||||
Регрессия `python tests/ump_logger/run_init_test.py` (GCC в PATH) проверяет
|
||||
запуск с ненулевой RAM и отрицательный контроль без инициализации;
|
||||
внешняя библиотека `templates/c/set-protocol` для этого теста не нужна.
|
||||
|
||||
Изменены исходники прошивки и SetGUI. Готовый образ в Bin не обновлялся.
|
||||
Для платы необходима сборка штатным TI C2000/CCS, проверка размещения .text,
|
||||
.stack, .ebss и .logg по MAP, прошивка и испытание на стенде.
|
||||
|
||||
Reference in New Issue
Block a user