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

Метценгерштейн

Свой
  • Постов

    1 614
  • Зарегистрирован

  • Посещение

Весь контент Метценгерштейн


  1. Похоже, нам не победить это. Буду флеш внешнюю пользовать. Тем более, она стоитна плате уже. Напомню, что этот МК не имеет своей флеши. Только внешняя, на нее и подразумевалось прошивку заливать. Но можно по USB и напрямую лить, что сейчас и делал. Спасибо еще раз за помощь.
  2. да нету магии там. Весь код по памяти я вижу полностью. Он один в один совпадает с бинарем. По нему хэш и вычисляю. По памяти. А вот только начался массив этот- что в конце, сразу нули. Вот смотрите- бинарь сначала, и память. а дальше в памяти нули. Не видит МК этот массив
  3. нули в дампе паямти МК Это? Причем дважды проверил- с галкой и без нее Load appl at startup
  4. на скрине я и привел как раз место памяти. Выше
  5. давайте еще раз перепроверю. Уже все может быть перезалил в плату, перезапустил кейл, все равно. Бинарь измененный снаружи был. Он шился в плату.
  6. снял галку- прект не перекомпилировал. Лежит бин тот же- правленый. Результат тот же. С бинаря не берет данные. Похоже, надо внешнюю епром.
  7. Тогда снимаю эту галку? Не должно при отладке ничего не поменяться?
  8. как тогда этот механизм с этой галкой работает вообще? Это позволяет нам использовать команды отладки. А как без нее тогда? Может в моменте и заработает, но проект надо и расширять и отлаживать будет.
  9. И что нам это дает? Enable the Load Application at Startup option in Options for Target - Debug (this executes the LOAD command for you). This option runs initialization script files before your target program downloads. This allows you to use debug commands that setup up your hardware before downloading your application.
  10. изменен он был программой внешней- редактором. Загружен- для Nuvoton есть особенность, мы загружаем его прошивальщиком- NuWritter, компилятор кейл генерит просто отладочную информацию. Кейл не загружает бинарь. Кейл только запускается как отладчик.
  11. да, из кейла. Думал, понятно это. Именно память.
  12. оно? опережая вопрос- сразу. Хотя бинарь изменен снаружи.
  13. давайте по шагам. Что тут надо сделать? Просто не очень понял
  14. инициализацию в файле сделал так. Убрал лишнее объявление. Результат тот же- не вижу измененный снаружи массив. Скорее, надо внешней памятью пользоваться
  15. под дебаггером. Хотите сказать, что все работает, не так проверяю? мы вместе ее и составили. Чтобы этот массив ушел в конец флеш прошивки. Или я не понимаю?
  16. extern const unsigned char fw_hash[32]; int check_hash(unsigned char *hashBuf, unsigned int hashLength,const volatile unsigned char *hash) { for (int i =0; i < hashLength; i++) { hashBuf[i] = hash[i]; } } static int ReadHash(unsigned int hashAddr, unsigned char *hashBuf, unsigned int hashLength) { check_hash(hashBuf, hashLength, fw_hash); return 0; } единственное, const пришлось оставить в аргументах- без него не компилится. Результат тот же. Массив показывается, но при изменении снаружи файла прошивки, не реагирует на изменения. Показывает старые значения. Если за сегодня идей нам не придет, то надо будет внешнюю епром использовать, считывать от туда значение эталонного хеша.
  17. Непосредственно компилятор ArmCompiler5Last. Да, не самая простая запись для понимания. Но и задача у меня из ряда вон. Идеи приветствую.
  18. #include <stdio.h> const volatile unsigned char fw_hash[32]; static unsigned char const volatile fw_hash[32] __attribute__((section("hash_section"), used)) = {94,94,94,94,95,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94}; от сюда убрать?
  19. Хорошо, как решить задачу? Хэш прошивки надо сравнить с массивом на 32 байта. Там эталонный хэш.
  20. стрер прошивку ресетом- кнопкой, залил заново. Как ее узнать? Залил именно ее- сверил пути прошивальщика. Тут вопрос еще - адрес массива этого- странно, что не дает его. 5E- это содержание #include <stdio.h> const volatile unsigned char fw_hash[32]; static unsigned char const volatile fw_hash[32] __attribute__((section("hash_section"), used)) = {94,94,94,94,95,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94}; вот объявление в отд. файле.
×
×
  • Создать...