Jackov 1 18 июля, 2023 Опубликовано 18 июля, 2023 · Жалоба Первый раз трогаю MicroBlaze, до этого дела с ним не имел. Проект под ISE 14.7, Spartan 6. Нашёл видос, делаю как там. https://youtu.be/oKAG_IcD0ag Дошёл до 6:50. Там, после синтеза, запускают некий скрипт, собственно об этом даже написано в самом генераторе корки: Вот только по исполнению этого скрипта выдаётся вот такое сообщение: Quote Command>source ipcore_dir/MicroBlaze/MicroBlaze/microblaze_mcs_setup.tcl microblaze_mcs_setup: Found 1 MicroBlaze MCS core. microblaze_mcs_setup: Existing ngdbuild "-bm" option unchanged. microblaze_mcs_setup: Done. в отличии от. И что самое интересное, после его запуска не проходит имплементация: Quote ERROR:NgdBuild:989 - Failed to process BMM information ipcore_dir/MicroBlaze/MicroBlaze.bmm INTERNAL_ERROR::45 - Memory allocation leak of 112 bytes at 0x06DC0C38 for a 'AddressMappingType' record. INTERNAL_ERROR::45 - Memory allocation leak of 65 bytes at 0x07142600 for a StrNew. INTERNAL_ERROR::45 - Memory allocation leak of 88 bytes at 0x07162178 for a 'AddressMapType' record. INTERNAL_ERROR::45 - Memory allocation leak of 40 bytes at 0x070B28F8 for a 'symbol_context' record. INTERNAL_ERROR::45 - Memory allocation leak of 34 bytes at 0x070A2BA0 for a StrDup. INTERNAL_ERROR::45 - Memory allocation leak of 16 bytes at 0x070A1E40 for a 'DataFileNameListType' record. INTERNAL_ERROR::45 - Memory allocation leak of 24 bytes at 0x070A2A98 for a 'AddressSpaceLinkType' record. INTERNAL_ERROR::45 - Memory allocation leak of 96 bytes at 0x07162240 for 'void *' data. Что это такое и как с этим бороться? Проект прикладываю. MicroBlaze.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 18 июля, 2023 Опубликовано 18 июля, 2023 · Жалоба Пока других ответов в теме нет, напишу что когда работал с Microblaze на Spartan 6, никаких таких скриптов запускать не приходилось. Но я создавал проект в XSDK и уже там подцеплял этот BMM файл при создании проекта. Может туториал показывает как вкомпилить программу сразу в bit? Есть ли возможность попробовать пока не доходить до такого, а попробовать собрать без этого? И прошить программу через JTAG из XSDK. Может для начала так заработает? Попробуйте туториал, где упоминается XSDK, возможно с ним на первое время будет проще. И уже потом можно будет назначить файл ELF (пишу по памяти), и он попадет в bit файл. Без ручных манипуляций и скриптов. Давно не работал с Microblaze в ISE, но скриптов не помню. Надеюсь я немного помог Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 18 июля, 2023 Опубликовано 18 июля, 2023 · Жалоба 2 часа назад, 1891ВМ12Я сказал: Пока других ответов в теме нет, напишу что когда работал с Microblaze на Spartan 6, никаких таких скриптов запускать не приходилось. Но я создавал проект в XSDK и уже там подцеплял этот BMM файл при создании проекта. Может туториал показывает как вкомпилить программу сразу в bit? Есть ли возможность попробовать пока не доходить до такого, а попробовать собрать без этого? И прошить программу через JTAG из XSDK. Может для начала так заработает? Попробуйте туториал, где упоминается XSDK, возможно с ним на первое время будет проще. И уже потом можно будет назначить файл ELF (пишу по памяти), и он попадет в bit файл. Без ручных манипуляций и скриптов. Давно не работал с Microblaze в ISE, но скриптов не помню. Надеюсь я немного помог До этого ни разу не работал с софт-процессорами, во всей этой технологии и терминологии разобраться с наскока непросто. В общем если тот скрипт не запускать, то проект компилируется, а вот программа для процессора из эклипса уже не запускается. Не исключено, что я её как-то не так запускаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 19 июля, 2023 Опубликовано 19 июля, 2023 · Жалоба 20 hours ago, Jackov said: Не исключено, что я её как-то не так запускаю. Подробнее, она прежде всего прошивается или нет? То есть работает download & verify? Далее, "популярная" ошибка - резет. Он должен быть правильной полярности. Обычно, если софт-проц висит в резете то и не прошить его никак Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 20 июля, 2023 Опубликовано 20 июля, 2023 · Жалоба В 19.07.2023 в 23:38, 1891ВМ12Я сказал: Подробнее, она прежде всего прошивается или нет? То есть работает download & verify? Далее, "популярная" ошибка - резет. Он должен быть правильной полярности. Обычно, если софт-проц висит в резете то и не прошить его никак Ух! Запустил каким-то чудом несколько раз. В режиме отладки побегал бегунком по элементарному циклу, но уже результат! Правда при выходе из режима отладки что-то случается и уже повторно в него не входит, приходится полностью перезагружать систему - и SDK и битстрим заливать заново. А потом так вообще всё работать перестало, но там уже конец дня был, ничего толком понять не успел. Смущает медленная скорость работы отладчика, от момента нажатия на кнопку шаг вперёд до перемещения бегунка проходит секунды две. Говорят можно как-то через уарт отлаживаться. Это, я так понимаю, на ногу плисины выводим уарт и далее через переходник уарт_3,3в -> усб выводим сообщения в консоль функциями printf(), расставленными в программе в нужных местах, так что ли? И я всё ещё не понимаю как прошивку для процессора засунуть внутрь битстрима? И надо будет ещё проверить одновременную работу режима отладки и чипскопа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 20 июля, 2023 Опубликовано 20 июля, 2023 · Жалоба 7 minutes ago, Jackov said: Говорят можно как-то через уарт отлаживаться. Это, я так понимаю, на ногу плисины выводим уарт и далее через переходник уарт_3,3в -> усб выводим сообщения в консоль функциями printf(), расставленными в программе в нужных местах, так что ли? Нет, XSDK поддерживает проброс printf прямо через JTAG, с ходу не подскажу как, давно делал, но это настраивается в опциях проекта как то, то ли в настройках BSP. Типа куда вываливать stdout Медленно шагает - я бы не ожидал быстрой работы такого способа отладки. Брейкоинты помогут немного Назначить elf файл это в списке файлов проекта, там где IP ядро микроблейза, если там зайти в опции, может там? Давно делал не помню, но именно в списке файлов проекта где ядро, в его настройках можно поискать А я когда возился с Nios 2 и Microblaze стремился сделать скрипты в Linux-е, чтобы их вызывать для автоматической сборки и заливки прошивки, а также чтобы консоль прям в командной строке выползала Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 23 июля, 2023 Опубликовано 23 июля, 2023 · Жалоба В 21.07.2023 в 00:49, 1891ВМ12Я сказал: Назначить elf файл это в списке файлов проекта, там где IP ядро микроблейза, если там зайти в опции, может там? Давно делал не помню, но именно в списке файлов проекта где ядро, в его настройках можно поискать Имеется в виду конфигуратор корки, что на картинке в первом посте? Ничего такого там не нашёл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 26 июля, 2023 Опубликовано 26 июля, 2023 · Жалоба On 7/23/2023 at 8:31 PM, Jackov said: Имеется в виду конфигуратор корки, что на картинке в первом посте? Ничего такого там не нашёл. К сожалению, не могу подсказать. Это утерянные знания. Но помню что в любом туториале было про это, а я легко находил это место Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 4 августа, 2023 Опубликовано 4 августа, 2023 · Жалоба On 7/21/2023 at 12:42 AM, Jackov said: Смущает медленная скорость работы отладчика, от момента нажатия на кнопку шаг вперёд до перемещения бегунка проходит секунды две. Говорят можно как-то через уарт отлаживаться. Это, я так понимаю, на ногу плисины выводим уарт и далее через переходник уарт_3,3в -> усб выводим сообщения в консоль функциями printf(), расставленными в программе в нужных местах, так что ли? И я всё ещё не понимаю как прошивку для процессора засунуть внутрь битстрима? И надо будет ещё проверить одновременную работу режима отладки и чипскопа. Скорось можно увеличить более быстрым кабелем. У меня SMT2-HS работает довольно шустро. На uart обычно перенаправляют stdout, через который работает printf и т.п. Настраиваться должно в пакете поддержки. (ISE последний раз использовал лет 15 назад). Прошивку процессора не надо засовывать внутрь битстрима, хотя и можно - я делал в ПЛИС ядро ROM 256х32, в которое засовывал начальный загрузчик для процессора, правда внешнего ADSP-TS201, который начинает выполняться процессором (надо чтобы ПЛИС загрузилась раньше старта процессора). Прошивка складывается в загрузочную память (флешку и т.п.) и загружается в память процессора после загрузки битстрима в ПЛИС. В случае отладки, отладчик сам загружает битстрим, а потом программу в процессор и останавливает программу в начальной точке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 6 августа, 2023 Опубликовано 6 августа, 2023 · Жалоба В 04.08.2023 в 19:19, Dimonira сказал: Скорось можно увеличить более быстрым кабелем. Взять кабель покороче? В 04.08.2023 в 19:19, Dimonira сказал: Прошивку процессора не надо засовывать внутрь битстрима, хотя и можно - я делал в ПЛИС ядро ROM 256х32, в которое засовывал начальный загрузчик для процессора, правда внешнего ADSP-TS201, который начинает выполняться процессором (надо чтобы ПЛИС загрузилась раньше старта процессора). Прошивка складывается в загрузочную память (флешку и т.п.) и загружается в память процессора после загрузки битстрима в ПЛИС. В случае отладки, отладчик сам загружает битстрим, а потом программу в процессор и останавливает программу в начальной точке. Зачем такие сложности, не проще ли внутрь битстрима засунуть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 28 августа, 2023 Опубликовано 28 августа, 2023 · Жалоба On 8/6/2023 at 6:41 PM, Jackov said: Взять кабель покороче? Зачем такие сложности, не проще ли внутрь битстрима засунуть? 1. Взять другой кабель, который быстрее. 2. Процессор внешний, ему то откуда грузиться? Он про битстрим ничего не знает. Для него нет своей памяти программ. Есть только EEPROM для ПЛИС, которая подключена к ПЛИС, а не к процессору. А сложности для простоты использования (в одну EEPROM шьётся всё) и уменьшения количества корпусов микросхем на плате. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 28 августа, 2023 Опубликовано 28 августа, 2023 · Жалоба 1 час назад, Dimonira сказал: 1. Взять другой кабель, который быстрее. 2. Процессор внешний, ему то откуда грузиться? Он про битстрим ничего не знает. Для него нет своей памяти программ. Есть только EEPROM для ПЛИС, которая подключена к ПЛИС, а не к процессору. А сложности для простоты использования (в одну EEPROM шьётся всё) и уменьшения количества корпусов микросхем на плате. 1. Чем отличается кабель который побыстрее от которого не побыстрее? 2. Если внешний - то да. В моём-то случае Микроблейз это внутренний. Память программ и память данных это всего лишь блоки ОЗУ внутри ПЛИС. И вот как их вычислить и как залить туда данные пока непонятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_su 1 29 августа, 2023 Опубликовано 29 августа, 2023 · Жалоба Должно помочь. 38-я страница. data2mem.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 30 августа, 2023 Опубликовано 30 августа, 2023 · Жалоба 14 часов назад, andrew_su сказал: Должно помочь. 38-я страница. Спасибо, буду пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jackov 1 14 мая Опубликовано 14 мая · Жалоба В 18.07.2023 в 03:28, Jackov сказал: Вот только по исполнению этого скрипта выдаётся вот такое сообщение: В 21.07.2023 в 00:42, Jackov сказал: И я всё ещё не понимаю как прошивку для процессора засунуть внутрь битстрима? Разобрался, и года не прошло. Есть два bmm-файла, один в проекте плисины в каталоге где файлы корки памяти лежат, другой в проекте SDK. Называются по разному, но оба .bmm. Надо следить чтобы в обоих этих файлах пути до блоков памяти были актуальны, а это почему-то не всегда так. В 21.07.2023 в 00:42, Jackov сказал: И надо будет ещё проверить одновременную работу режима отладки и чипскопа. А вот отладчик и чипскоп очень плохо работают одновременно. Если поставить чипскоп на ожидание и ходить в отладчике по шагам, то либо чипскоп фигню будет показывать, либо отладчик повиснет. Иногда бывает и нормально, но это скорее исключение, всё равно работать так невозможно. Подозреваю, что всё же я что-то делаю не так, ибо ситуация то типичная, не могли же они такую халтуру наделать и оставить не исправляя на протяжении многих версий? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться