Перейти к содержанию
    

aaarrr

Модератор
  • Постов

    14 103
  • Зарегистрирован

  • Победитель дней

    19

aaarrr стал победителем дня 29 ноября 2023

aaarrr имел наиболее популярный контент!

Репутация

56 Очень хороший

Информация о aaarrr

  • Звание
    Гуру
    Гуру

Контакты

  • Сайт
    Array
  • ICQ
    Array

Посетители профиля

17 512 просмотра профиля
  1. hash.c volatile const hash_type_t fw_hash = { 0 }; .sct: LR_IROM1 0x00000000 { ; load region size_region ER_IROM1 0x00000000 { ; load address = execution address *.o (NUC_INIT, +First) *(InRoot$$Sections) .ANY (+RO) hash.o (*, +Last) } RW_RAM1 +0 { ; RW_RAM1 start address is after ER_ROM1 .ANY (+RW +ZI) } } В программе считаем хеш от начала (Load...Base) до &fw_hash, сравниваем с fw_hash. Внешней утилитой перезаписываем последние sizeof(hash_type_t) байт прошивки.
  2. Да, .sct Можно, например, определить массив под хеш и средствами линкера закинуть его в конец загрузочного региона (+LAST).
  3. Вы правы, посмотрел сейчас - у меня в конце CRC дописывается, поэтому 0. А внутри только длина и номер сборки. Достаточно скрипт линкера поправить таким образом, чтобы в конце загрузочного региона оставалось пространство, достаточное для хранения хеша. И спокойно приклеивать его.
  4. Перетирает. Участвуют. План такой: - Резервируете поле в известном месте прошивки (не обязательно в векторах, просто так удобнее), пишете в него 0 - Считаете CRC прошивки, заменяете 0 на результат В прошивке считаете CRC подряд, убеждаетесь, что на выходе результат 0 В прошивке считаете CRC с нулевым содержимого поля, сравниваете с реальным.
  5. Не разместилось ли что аккурат по тому адресу, где ожидалась добавленная вручную КС.
  6. Если привыкли писать по пикселю во фреймбуфер, ничего не помешает реализовать тот же подход. Может, Гугл проплатил?
  7. Ничего не мешает сделать графику "в стиле бареметал" под линуксом.
  8. Не читайте. Многочисленные сказки о том, как все тормозит под Линуксом, от тех, кто этого Линукса и не запускал, несколько утомили. Кроме того, при воспроизведении 1080p процессор нужен примерно никак, только декодеру данные подбрасывать. По SDIO лучше подключить что-нибудь из серии AP62xx или клонов. Работать будет предсказуемо и на нормальной скорости. Под MangoPi MQ1RDW2 в свежем buildroot'е есть готовая конфигурация. Т.е. буквально достаточно написать make mangopi_mq1rdw2_defconfig && make и забрать готовый образ SD-карты.
  9. Скорее затирает после. Это легко проверить, если посмотреть содержимое map-файла.
  10. Так же, как в случае с флеш - просто по указателю. Хорошо. Как была добавлена контрольная сумма? Не получилось ли так, что линкер о ней не в курсе, и затирает её данными программы при старте?
  11. Тут способа не обозначено. Что передается в hashAddr?
×
×
  • Создать...