Krys 2 27 октября, 2014 Опубликовано 27 октября, 2014 · Жалоба Здравствуйте. Есть отладка SP605, система с микроблэйзом. На плате есть параллельная флешка 32М, которая к нему подцеплена. Нужно эту флешку изначально прогрузить большим объёмом данных (коэффициенты условно говоря. Один раз залил - больше не трогаешь всю жизнь). Как это лучше сделать? Можно ли как-то имитировать из программы микроблэйза чтение из файла (ну типа воспользоваться функциями fopen() и им подобными), в то время как файл находится у меня на компе, к которому отладка подключена через JTAG и на котором крутится SDK? Видится ещё вариант передавать данные по имеющемуся на борту ком-порту, но это во-первых медленно (?), а во-вторых на боевой плате ком-порта может не быть, вариант с прогрузкой через жтаг был бы более универсален. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба Допустим если остановиться на ком-порте, то чтобы передавать файлы нужен какой-то протокол. Помню во времена пищащих модемов для телефонных линий был протокол zmodem. Что-то подобное есть готовое для microblaze? Чтобы самому не изобретать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corvus 1 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба Так и грузите через JTAG. Только подходящее ядро в XPS нужно подцепить. А в SDK - Xilinx Tools -> Program Flash. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба Спасибо. Можно попробовать. Правда я уже начал подумывать заюзать CompactFlash (вот тема соседняя), на неё записать файл с компа через кардридер. А в программе микроблэйза надо будет вычитать из файла. А в предложенном Вами варианте о каком подходящем ядре в XPS идёт речь? Я поставил предлагаемое стандартное ядро для этой отладочной платы для работы с параллельным флешем. Но флеш то параллельный, а жтаг последовательный, как это грузить из компа - так разве можно? Может тогда вместо параллельной флеши таким же макаром через жтаг грузить CompactFlash? Так получится? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба Загрузите в область данных флеши и читайте оттуда - кто мешает - если тем более не надо менять их Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corvus 1 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба ИМХО, для начала стоит определиться, какой функционал нужен. Если это какой-то отладочный стенд. И параметры туда пишутся один раз на этапе калибровке, то параллельная флэш и заливка через JTAG образа стандартными средствами от XILINX. Если же иногда надо менять, да ещё и обычному пользователю, то карточка с файловой системой всяко удобнее. А если надо удалять удалённо, то тут протокол обмена надо поднимать + контроль успешности записи, незатираемый golden image и всё такое. Все три варианта имеют право на жизнь, но решаются совершенно разным способом. :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 29 октября, 2014 Опубликовано 29 октября, 2014 · Жалоба ИМХО, для начала стоит определиться, какой функционал нужен. Если это какой-то отладочный стенд. И параметры туда пишутся один раз на этапе калибровке, то параллельная флэш и заливка через JTAG образа стандартными средствами от XILINX. Я сначала не знал, что параллельную флешь можно через жтаг стандартными средствами прошить. Оказалось это просто хитро называется BPI Flash, а я её искал как parallel flash. Теперь нашёл. Значит проблема отпадает. Если же иногда надо менять, да ещё и обычному пользователю, то карточка с файловой системой всяко удобнее. А если надо удалять удалённо, то тут протокол обмена надо поднимать + контроль успешности записи, незатираемый golden image и всё такое. Да, в соседней ветке я уже отписался, что разобрался, как работать с карточкой. Так что теперь проблем нет, буду работать с карточкой лучше. Загрузите в область данных флеши и читайте оттуда - кто мешает - если тем более не надо менять ихБудьте добры пожалуйста поподробнее, что значит "загрузить в область данных флеши"? В чью область данных? Микроблэйза? Короче непонятно... Предупреждаю, что новичок в этом, так что вопросы могут быть тривиальными )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 29 октября, 2014 Опубликовано 29 октября, 2014 · Жалоба Вот на картинке нарисовал где это поставить потом только файл добавить надо будет - вроде для bpi flash нужно байты свапить и потом читайте их на здоровье микроблейзом (только надо добавить флеш контроллер) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 30 октября, 2014 Опубликовано 30 октября, 2014 · Жалоба vitus_strom, спасибо, полезная инфа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 17 декабря, 2014 Опубликовано 17 декабря, 2014 · Жалоба Решил для себя проблему прогрузки больших данных так: Я в начале спрашивал про flash, но в конечном счёте данные мне нужны были в DDR. Таким действием я напрямую в DDR и кидаю данные перед каждым стартом программы. Удобно. Знал бы сразу... а то уже реализовал чтение с CompactFlash (см. ссылку на тему выше), времени кучу потратил, пока боролся с её багами... Скорость прогрузки примерно та же. Достоинство - грузит с первого раза (с флэшки почему-то часто ошибки чтения были, приходилось перечитывать), не потребляет программное место и не требует места в памяти данных под кэш. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 19 декабря, 2014 Опубликовано 19 декабря, 2014 · Жалоба И вот тут ответ, как настроить, если таймаут загрузки истекает раньше, чем ваши данные успели прогрузиться: http://forums.xilinx.com/t5/Embedded-Proce...ht/false#M13864 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться