Метценгерштейн
Свой-
Постов
1 552 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Метценгерштейн
-
Звание
Профессионал
- День рождения 07.05.1978
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
Посетители профиля
6 140 просмотров профиля
-
Открыл сейчас дамп памяти МК и свою прошивку. Похоже, что да, затирает как раз. Сумма была добавлена просто в ручную к прошивке. И при старте, скорее, доходит до символов, что это конец прошивки и не грузит ее в память больше. Т.о. в ОЗУ МК нет того куска кода добавленного в ручную. Есть только до места, пока не добавляли. Читать да, можно просто по указателю памяти- соответствует ОЗУ и сам файл прошивки.
-
0x0001E194 это конец прошивки, и начало адреса данных, где начинается контрл сумма- с этого адреса. Мне ее надо прочитать Но вот не пойму, прошивка есть. Льем в МК, там флеш нет, если только внешнее, есть ОЗУ, где прошивка и располагается. Как непосредственно читать куски прошивки?
-
Есть прошивка. Есть контрл. сумма, лежащая в конце ее по опред. адресу. Как ее прочитать? 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; } такой способ не работает. Похоже, из ОЗУ читает.
-
Наверное, тут я плыву. Регион загрузки из скатер файла берется. И ему без разницы, где лежит прошивка - ОЗУ или флеш? По- другому спрошу- регион загрузки- это что тогда такое? Вот нет у него флеш.
-
Считывание кейлом старт прошивки и ее длину
Метценгерштейн опубликовал тема в ARM
"Load$$LR$$LR_IROM1$$Base" Есть МК ARM7, флеш на борту нету. Это Nuvoton 902. Два варианта прошивки его: - загрузка через фирменную программу по USB в ОЗУ сразу - загрузка и считывание потом прошивки с внешней флешки. Сейчас работаю по первому варианту, мне надо посчитать контрольную сумму средствами внутренней прошивки. ф-я из заголовка что дает? Возвращает 0. Прошивка и стартует с 0 адреса. Вторая такая же ф-я Load$$LR$$LR_IROM1$$Length; дает размер. Вроде сходится. Вопрос- если прошивка в ОЗУ физически находится, т.к. флеш нет встроенного, то что ф-я кейла из шапки дает? -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Ну что, запустил я эту либу. Командой создал директорию 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 ф-ю поддерживает. И так по мелочи. Т.е. ф-ии из библиотеки не все сразу без адаптации подойдут. Поэтому подключаем файлы к проекту. И да, чтобы раскурить, нужен черный пояс по программированию )))) Иначе не суйтесь )) -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
поставили задачу на работе. -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Прикруил я эту библиотеку. По дороге пришлось много чего править- не компилировалось. Стою на том, что директории пытаюсь читать, как в примерах, но реально их не показывает. Не находит. В общем разбираюсь пока. -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Скомпилировал исходники библиотеки этой, добавленные в проект. Есть плата, где я умею у подключенной флешки читать любой сектор. Теперь вопрос, какую вызвать ф-ю из библиотеки, чтобы скормить ей сектора, чтобы отобразить хотя бы содержимое нулевого каталога флешки? Понимаю, что сначала надо открыть директорию, получить при этом дискриптор, потом прочитать директорию. И не могу найти функции, что это делают. Буду признателен за любые советы) -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Разумеется, знаю. Страдания от того, что не пользовался никогда этими мэйками. Что логично. Включить в проект и использовать. Второй путь- из этих же файлов собрать библиотеку, и пользоваться. Но, да, он сложен. -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Установил зависимости. Теперь, если я хотел бы под m0 собрать проект, то из корня проекта, где Makefile, вызвал бы: make cortex-m0 cd build_cortex-m0 make lwext4 И вот теперь хочу понять последовательность. Вызвал make, тот вызвал CMakeLists.txt, тот уже зашел в toolchain папку, нашел cortex-m0.cmake, а этот cortex-m0.cmake внутрь себя включил файл arm-none-eabi.cmake. Так что ли? Или надо чтобы собрать либу, в тулчайн заходить, и от туда стартовать? -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Пытаюсь разобраться пока как настроить cmake под свой компилятор -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Спасибо, чуть проясняется. Библиотеку из репозитория я же не могу скачать? Ее надо сначала собрать каким- то тулчейном же? Для своей сборки я использовать должен и использую компилятор ArmCompiler5Last в системе виден как ARM Compiller 5.06 update 7 Не совсем gcc, наверное. Получается, им надо собрать библиотеку сначала. -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
Еще раз можно, чем отличаются эти библиотеки? Или могли бы отличаться? Если нет ассемблерных оптимизаций, то по идее, просто код на си? Просто не очень понимаю пока как это работает. -
Ext2/Ext4 надо прикрутить к МК.
Метценгерштейн ответил Метценгерштейн тема в ARM
я нашел эту либу, конечно же. Но там нет АРМ 7- моего проца. И не очень понятно как пользовать ее. Думал, может кто исползовал уже.