| Строка 29: |
Строка 29: |
| | |- | | |- |
| | | Загрузка прошивки || JTAG-программатор || Загружает ELF-файл в память MCU (плата должна быть выключена) | | | Загрузка прошивки || JTAG-программатор || Загружает ELF-файл в память MCU (плата должна быть выключена) |
| | + | |- |
| | + | | Диагностика || Debugger Probe || Выводит полный дамп регистров процессора (PC, x0-x31, f0-f31, CSR и др.) |
| | |- | | |- |
| | | Настройка частоты || Мультитул || Позволяет задать рабочую частоту в допустимых пределах | | | Настройка частоты || Мультитул || Позволяет задать рабочую частоту в допустимых пределах |
| | |- | | |- |
| | | Переключение OC || Отвёртка || Включает/выключает режим разгона | | | Переключение OC || Отвёртка || Включает/выключает режим разгона |
| | + | |- |
| | + | | Ремонт радиационных повреждений || Нанопаста || Восстанавливает повреждённую полупроводниковую структуру, снижая накопленный TID |
| | |- | | |- |
| | | Блокировка прошивки || Сварочный аппарат || '''НЕОБРАТИМО''' прожигает OTP-предохранитель, запрещая перепрограммирование | | | Блокировка прошивки || Сварочный аппарат || '''НЕОБРАТИМО''' прожигает OTP-предохранитель, запрещая перепрограммирование |
| Строка 123: |
Строка 127: |
| | | | |
| | Радиомодуль для отправки и приёма сигналов. Позволяет удалённо активировать другие устройства или получать команды. | | Радиомодуль для отправки и приёма сигналов. Позволяет удалённо активировать другие устройства или получать команды. |
| | + | |
| | + | == Инструменты == |
| | + | |
| | + | === JTAG-программатор === |
| | + | |
| | + | Используется для загрузки ELF-файлов в память MCU. Плата должна быть выключена для программирования. |
| | + | |
| | + | === Debugger Probe === |
| | + | |
| | + | Компактный аппаратный отладчик для диагностики микроконтроллеров. Позволяет читать состояние регистров работающего MCU: |
| | + | |
| | + | * '''Статус''' — Program Counter (PC), счётчик циклов, счётчик инструкций, уровень привилегий |
| | + | * '''Общие регистры''' — x0-x31 (целочисленные регистры RISC-V) |
| | + | * '''Регистры с плавающей точкой''' — f0-f31 |
| | + | * '''FCSR''' — регистр состояния FPU (режим округления, флаги исключений) |
| | + | * '''Таймеры''' — mtime, mtimecmp |
| | + | * '''CSR регистры''' — mscratch, mepc, mtval, mcause, mtvec |
| | + | * '''Прерывания''' — состояние MIE и MIP (software, timer, external) |
| | + | * '''Идентификация''' — mvendorid, marchid, mimpid, mhartid |
| | + | |
| | + | Незаменим для низкоуровневой отладки и диагностики проблем с прошивкой. |
| | | | |
| | == Термальная система == | | == Термальная система == |
| Строка 207: |
Строка 232: |
| | | Aegis-H1 || 90% || 1000 | | | Aegis-H1 || 90% || 1000 |
| | |} | | |} |
| | + | |
| | + | === Ремонт радиационных повреждений === |
| | + | |
| | + | Накопленный TID можно снизить с помощью '''нанопасты'''. Каждое применение восстанавливает часть повреждённой полупроводниковой структуры, "залечивая" радиационно-индуцированные дефекты в оксидных слоях. |
| | + | |
| | + | * При отсутствии повреждений — нанопаста не требуется |
| | + | * При серьёзных повреждениях — может потребоваться несколько применений |
| | + | * При полном восстановлении — устройство возвращается к нормальной работе |
| | + | |
| | + | ''Нанопаста не поможет, если MCU уже вышел из строя (TID достиг 100% лимита).'' |
| | | | |
| | == EMP == | | == EMP == |
| Строка 257: |
Строка 292: |
| | * Для работы у суперматерии используйте '''только''' Aegis-H1 | | * Для работы у суперматерии используйте '''только''' Aegis-H1 |
| | * Serial Terminal незаменим для отладки | | * Serial Terminal незаменим для отладки |
| | + | * Debugger Probe поможет диагностировать проблемы на уровне регистров |
| | * В вакууме MCU перегревается почти мгновенно — обеспечьте атмосферу | | * В вакууме MCU перегревается почти мгновенно — обеспечьте атмосферу |
| | * Линейка Flex идеальна для устройств с переменной нагрузкой | | * Линейка Flex идеальна для устройств с переменной нагрузкой |
| | + | * Держите нанопасту под рукой при работе в зонах с повышенной радиацией |
| | | | |
| | == Разработка прошивок == | | == Разработка прошивок == |
| Строка 434: |
Строка 471: |
| | pub inline fn send(this: *volatile Signaler) void; | | pub inline fn send(this: *volatile Signaler) void; |
| | | | |
| − | // Проверка готовности (есть cooldown между отправками) | + | // Проверка готовности (есть cooldown между отправками и установкой частоты с кодом) |
| | pub inline fn ready(this: *volatile Signaler) bool; | | pub inline fn ready(this: *volatile Signaler) bool; |
| | | | |