Изменения

Материал из Animus
Перейти к навигацииПерейти к поиску
нет описания правки
Строка 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;
 
      
 
      

Навигация