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

z768

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный
  1. Не могу понять в чем баг. Скрипт для линковщика простейший. arm-elf-ld -T Linker.ld Sec1.o Sec4.o -o elf.elf OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) SECTIONS { . = 0xC0100000; .text : { * (.text) . = ALIGN(4); } .data : { * (.data*) . = ALIGN(4); } } на выходе получаю ельф.ельф. Проверяю параметр по секциям Addralign... ... в секциях стоит 1. Это проблема линковщика, либо objcopy, либо моя ??? Исправляю в хекс редакторе на 4 по секциям для линковки. На выходе получаю нормальный параметр Addralign. Почему не работает строка ". = ALIGN(4);" ?????
  2. Сергей, спасибо за помощь. Кстати больше всего полезной инфы нашел на этом форуме. В общем, просто так прилинковать голый бинарник у меня не получилось с помощью arm-elf-ld. Но при помощи утилитки objcopy я конвертировал бинарник в объектный файл и процесс пошел.
  3. Сергей, извини, почему на связь не выходил. У нас природа чудес натворила. Как только исправлю последствия, обязательно отпишу. Фото выкладывать не буду, потому как есть оффтоп, сорри.
  4. Сергей, в принципе могу и программу отправить. В личку конечно, ну что б не думал что я чего-то нереальное спрашиваю. Я и сам инет активно читаю... но пока ответов не нахожу. Возможно программа и другие эльфы разложит, но она заточена под определенный чип. Т.е. амбарелла.
  5. В общем поразбирался с утилитками из комплекта АРМ. Моя прога выполняет полностью функции arm-elf-objcopy.ехе. Т.е. arm-elf-objcopy.exe -O binary -j .text 1.elf Sec.bin Ну возможно с не большими извращениями в названиях файлов. Как эти бинарники слинковать, я так и не понял. Попытался запустить arm-elf-objdump, натравить на секцию - выдает неизвестный формат. По эльфу - все окей.
  6. Сергей, спасибо за помощь. LD запустил. Уже радует. Но меня интересует немного иной вопрос. Возможно я сам неправильно его задал, либо вы неправильно поняли. Мне не нужно преобразование из эльфа в эльф. При разборке эльфа у меня получается условно говоря, ну 9 секций. Типа sec0.bin, sec1.bin, ... sec8.bin Одну из них я модифицирую, т.е. программную, которая как .техт.... ... мне нужно собрать эльф с новой секцией. Это и есть основной вопрос. Матчасть пока изучаю.
  7. Это арм архитектура. Часть материала для чипа а2 у меня есть. Повторяю, вскрыть эльф, зная его строение не составило проблем. При этом не применял никаких сторонних утилит. Выдернуть из секции .техт все програмные разделы, которые входят в прошивку... тоже нет проблем. В эльфе даже нет пересчета контрольных сумм, только смещения и длины. В секцию .техт вложены разделы прошивки, там в каждом разделе есть пересчет crc32. Моя прога все это разложит и при редактировании все правильно пересчитает. Но это так сказать отступление от вопроса, что бы вы были в теме. Меня больше всего интересует сборка эльфа, при подмене разделов в секции .техт. Сорри, пока не занимался и задаю вопросы, пока просто времени не хватает. Почему так всегда происходит, садишься за свою работу, у посторонних тоже проблемы, вот и получается сапожник без сапог... ;)
  8. Спасибо. Если чего не получится задам вопросы. Надеюсь никакие бля-бля-теки не нужно подключать. :rolleyes: У меня в системе даже среда арм не установлена. А эльф вскрыть не составило большого труда, почти как работа с текстовым файлом. При этом без всяких сторонних утилит. Правда моя программа заточена только для амбы.
  9. Прогу написал я сам, линкер смогу и упрятать в ресурсы проги. Это не проблема. Я линкер не смог запустить. Понимаю ... командная строка... Матерится в ответ С этим разбираться буду отдельно. Если я правильно понял из доки, ему еще и скрипт нужен... Может кто чего-то подобное совершал, поделитесь плиз. В Си не силен но разберусь, пусть на это уйдет и масса времени.
  10. Прога режет эльф по секциям. Находит программную секцию. Выдергивает прошивку из программной секции. Это не проблема. В эльфе есть секция .data Как я понял там адресация к виртуальной памяти. Сам вопрос... Реально ли пересчитать адреса при подмене разделов в программной секции ? Не имея исходников... Чип амбарелла. Сорри перед сообществом, если чего по-детски написал.
×
×
  • Создать...