knk 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Утилита есть objdump :) - дампнуть нужные секции и записать на флеш. Я для такого-же модуля делал загрузчик который ELF грузил - ещё проще, просто пишеш elf на флеш по нужному адресу а загрузчик разбирает elf и ложит секции по нужным адресам в DDR. Стандартного загрузчика я не знаю, была какая-то xapp но она мне не понравилась Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба а в ядро надо какую то корку работы с флэшкой пихать да? Или у ядра к конфигурационной флэеше есть доступ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
knk 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба axi_quad_spi помоему, в проекте который я приводил раньше он есть и функции для доступа. Пишеш загрузчик который читает флеш и пишет секции в DDR потом передаёт управление. У меня он получился где-то строк 70 вместе с разбором ELF. В основной программе тоже можно реализовать доступ к flash для апдейтов битстрима и программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба я пока это все отложил на будущее, пока надо другие блоки сделать. Поэтому сразу не пробую, просто пока собираю информацию. А как эльф файл раскодировали? там какой то понятный формат или он где то описан? И какими методами не бит файл в флэшку пихается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
knk 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба ELF формат хорошо описан и довольно легко разбирается, google it. Писать на флеш произвольный файл можно либо из загрузчика либо сконвертировать его в MCS c нужным адресом и писать iMPACTом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Ок. принято спасибо. Жаль ксалинкс не предусмотрел сразу и не реализовал утилиту создания флешки с загрузчиком. Ведь модули ДДР поддерживаются плисинами аппаратно, и куда удобнее было бы размещать в них переменные и структуры, чем использовать их как не размечаемое пространство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
knk 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Слишком много вариантов - негибкое решение получится. У меня например 2 битстрима и 2 варианта программы на флеши, а загрузчик выбирает что грузить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 25 апреля, 2013 Опубликовано 25 апреля, 2013 · Жалоба Народ lwip чет ад какой то! Скажите мне ARP у него на каком уровне поддерживается? Только при включении DHCP? я пробую связаться с плисиной в которой вроде как запустил LwIP создал TCP сокет и жду коннекта. И прям глушняк. Шлю через netcat в плис конект, смотрю wiresharkom и вижу что компьютер очень интересует чей это айпи (айпи плисины), и поскольку никто ему на этот ARP запрос не овтечает, на этом все и заканчивается... По дебугу lwip все проинитилось, phy обнаружился, режим конекта считался... таймеры тикают, активных pcbs не находиться... Руками слать данные через emac пробовал до компа доходят, обратно вроде как тоже... что не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rsv2007 0 25 апреля, 2013 Опубликовано 25 апреля, 2013 · Жалоба Может маска не та настроена. Проще всего начать с lwip echo server, который в sdk есть как new project ... Там только маску и ip настроите - и все должно работать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 25 апреля, 2013 Опубликовано 25 апреля, 2013 · Жалоба так что не так нашел:) LwIP внутри имеет функцию низкоуровневой инициализации там делается все. там прописываются и регистры phy и инитится MAC контроллер, а также устанавливаются обработчики прерывания, потому на верхнем уровне необходимо лишь разрешить обработку прерывания, а все остальное сделается само... С одной стороны приятно, с другой стороны это слишком все как то опасно, особенно с забывчивостью SDK перезапустить либген.... Ну и слишком тесно связаны становятся модули, не стройно это все как-то... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться