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

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

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о Метценгерштейн

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

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

6 143 просмотра профиля
  1. Все равно еще не улавливаю мысли как сделать. есть прошивка от 0 до 0x0001E194 B хэш я считаю именно ее, без таблицы векторов и прочего.
  2. Спасибо. А если усложнить тем, что моя КС- это 32 байта? Тут как поступить? Еще раз, мне не CRC32 надо. Мне хэш всего и сразу. Его нельзя по кускам посчитать.
  3. Алгоритм- хэш сумма. Не важно, MD5 или что. Там блоками не считают. Сразу всё. И посчитать надо как-то без самого вкрапления в прошивку этой суммы- исказит результат
  4. Картина начинает вырисовываться. Только мне не CRC надо, а хэш. Там один бит поменял, хэш совсем другой. А коллега выше постом что говорит? Вот не могу его мысль уловить как сделать.
  5. при том, что я имею прошивку, где конец ее до 0x0001E194. Т.е. 0x0001E193- полседний байт прошивки. Со 0x0001E194 добавляю руками КС. А по мапу получается, что-то дописывает ко мне и перетирает? Получается, моя задача- стандартная- много когда нужна КС прошивки? а вектора эти- они не участвуют в теле прошивки? Т.е. при подсчете КС, не будут посчитаны?
  6. проверяю. пока не понял как это. Тут еще проблема, чтобы при подсчете КС именно этот массив не принимал участие в подсчете. Исключить его из тела прошивки. Иначе- никогда не сосчитать будет КС
  7. Открыл мар файл. Еще раз, что там посмотреть можно? Не размера только, а ее КС. Я КС добавляю руками, уже к готовому .bin файлу прошивки. Т.о. всегда после самой прошивки
  8. Открыл сейчас дамп памяти МК и свою прошивку. Похоже, что да, затирает как раз. Сумма была добавлена просто в ручную к прошивке. И при старте, скорее, доходит до символов, что это конец прошивки и не грузит ее в память больше. Т.о. в ОЗУ МК нет того куска кода добавленного в ручную. Есть только до места, пока не добавляли. Читать да, можно просто по указателю памяти- соответствует ОЗУ и сам файл прошивки.
  9. 0x0001E194 это конец прошивки, и начало адреса данных, где начинается контрл сумма- с этого адреса. Мне ее надо прочитать Но вот не пойму, прошивка есть. Льем в МК, там флеш нет, если только внешнее, есть ОЗУ, где прошивка и располагается. Как непосредственно читать куски прошивки?
  10. Есть прошивка. Есть контрл. сумма, лежащая в конце ее по опред. адресу. Как ее прочитать? static int ReadHash(unsigned int hashAddr, unsigned char *hashBuf, unsigned int hashLength) { unsigned char *hashPtr; if (hashBuf == NULL || hashLength == 0) return -1; hashPtr = (unsigned char *)hashAddr; memcpy (hashBuf, hashPtr, hashLength); return 0; } такой способ не работает. Похоже, из ОЗУ читает.
  11. Наверное, тут я плыву. Регион загрузки из скатер файла берется. И ему без разницы, где лежит прошивка - ОЗУ или флеш? По- другому спрошу- регион загрузки- это что тогда такое? Вот нет у него флеш.
  12. "Load$$LR$$LR_IROM1$$Base" Есть МК ARM7, флеш на борту нету. Это Nuvoton 902. Два варианта прошивки его: - загрузка через фирменную программу по USB в ОЗУ сразу - загрузка и считывание потом прошивки с внешней флешки. Сейчас работаю по первому варианту, мне надо посчитать контрольную сумму средствами внутренней прошивки. ф-я из заголовка что дает? Возвращает 0. Прошивка и стартует с 0 адреса. Вторая такая же ф-я Load$$LR$$LR_IROM1$$Length; дает размер. Вроде сходится. Вопрос- если прошивка в ОЗУ физически находится, т.к. флеш нет встроенного, то что ф-я кейла из шапки дает?
  13. Ну что, запустил я эту либу. Командой создал директорию dir_33, потом вывел все что есть на флешке. Вот вывод: >directory create: /mp/dir_33 ls /mp/ [dir] . [dir] .. [dir] lost+found [dir] ttt [dir] dir_33 [fil] root file.odt Разбираться еще предстоит много там с чем, но начало положено. Кто будет повторять- надо файлы подключать к проекту, по ним и походить поотладить. make, как написано в самом примере не используйте- смысла нет. На сами файлы ругался компилятор. Тот же printf там используется. Мой мк sysprintf ф-ю поддерживает. И так по мелочи. Т.е. ф-ии из библиотеки не все сразу без адаптации подойдут. Поэтому подключаем файлы к проекту. И да, чтобы раскурить, нужен черный пояс по программированию )))) Иначе не суйтесь ))
  14. Прикруил я эту библиотеку. По дороге пришлось много чего править- не компилировалось. Стою на том, что директории пытаюсь читать, как в примерах, но реально их не показывает. Не находит. В общем разбираюсь пока.
×
×
  • Создать...