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

    

nmurzin

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о nmurzin

  • Звание
    Частый гость
  • День рождения 09.11.1981

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    г.Зеленоград

Старые поля

  • skype
    nmurzin Николай Мурзин
  • Vkontakte
    http://vk.com/nmurzin1981
  1. У каждого производителя ПЛИС есть свой САПР и свой формат файла, который зашивается в ПЛИС. А существует ли какой-то общий формат, который бы поддерживали ну хотя бы и Altera и Xilinx? Quartus при компиляции может создать файл Serial Vector Format (.svf) На сколько я понимаю он предназначен для программирования по JTAG. Может ли САПР для Xilinx создать .svf файл? Стоит задача написать программу, которая могла бы по JTAG зашивать любую ПЛИС. Хочется зацепиться за какой-нибудь формат файла зашивки, который был бы одинаков для всех. Существует ли такой?
  2. Спасибо Лентяй, жить стало веселей.
  3. Заказчик в ТЗ написал ни какого квартуса, должен быть bat файл который запускает некий плеер. Вот теперь сижу и думаю как это сделать.
  4. Здравствуйте. Стоит задача зашивать ПЛИС каким-нибудь jam плеером. У меня программатор USB-BlasterII На сайте Altera лежат какие-то плееры и конверторы https://www.altera.com/support/support-reso...amming/jam.html Вопрос, как этим пользоваться? Можно ли этим добром запрограммировать ПЛИС через USB-BlasterII ? Подскажите пожалуйста какой утилитой пользоваться? Какой файл ей пихать? какой командной строкой?
  5. Как, Preloder может выдавать информацию о своем ходе по UART? Что для этого нужно сделать? Нужно какие-то галочки поставить в bsp-editor? Или нужно в DS-5 как-то настроиться?
  6. Работаю с Quartus 17.0 + SoC EDS. Тренируюсь на KIT для Cyclon V. На SD карточке зашивка ПЛИС и baremetal программка. При включении Preloader грузит зашивку ПЛИС, я вижу что она работает. А вот baremetal программа не работает(светодиоды не мигают). Чувствую что ошибка где-то при переходе от файла axf к файлу img. Я получил файл img следующим образом. Преобразовал файл axf в bin командой arm-altera-eabi-objcopy\ -O binary altera_gcc_hps_led.axf\ altera_gcc_hps_led.bin Преобразовал файл bin в img командой mkimage\ -A arm\ -O u-boot\ -T standalone\ -C none\ -a 0x100040\ -e 0x100040\ -n "baremetal image"\ -d altera_gcc_hps_led.bin\ altera_gcc_hps_led.img Я не понимаю какой смысл несут параметры -a адрес загрузки и -е точка входа, чувствую что ошибка где-то здесь, а в чем не могу понять. В свойствах проекта DS-5 линкеру указывается файл cycloneV-dk-ram.ld На просторах интернета видел вот такой совет. Будто бы файл для линкера cycloneV-dk-ram.ld надо поправить руками, а конкретно на строке 24 должно быть так MEMORY { boot_rom (rx) : ORIGIN = 0xfffd0000, LENGTH = 64K oc_ram (rwx) : ORIGIN = 0xffff0000, LENGTH = 64K /* Need to have 64bytes available before start of program, to store the mkimage header */ ram (rwx) : ORIGIN = 0x100000 + 0x40, LENGTH = 1023M - 0x40 } Я это пока не пробовал и не понимаю зачем это. Кто нибудь пролейте свет по этому вопросу? Зачем руками править файл cycloneV-dk-ram.ld И какой смысл несут параметры -a адрес загрузки и -е точка входа команды mkimage. И как это вообще все друг с другом связано?
  7. Месяц назад я начал разбираться с SoC на Cyclon V. Во всех обучающих примерах описано как в среде DS-5 создать приложение с помощью набора компиляторов "Altera Bare-Metal" и как отлаживать программу по JTAG с помощью USB-Blaster. А в моей среде не было такого компилятора, другие были, а "Altera Bare-Metal" не было. И отладчик по USB-Blaster отказывался находить подключенный USB-Blaster. И я месяц ползал по форумам и переустанавливал Quartus + SoC EDS в разных вариациях. А оказалось, что дело вот в чем. В директории C:\users\ (C:\пользователи\ в русской ОС) для каждой учетной записи(каждого пользователя Windows) существует своя папка. Например для пользователя с учетной записью "Marina" должна существовать директория C:\users\Marina. Так вот имя директории для локального пользователя обязательно должно быть на латинице, и ни в коем случае НЕ на кириллице. У меня была учетная запись "Admin", а локальная папка пользователя называлась C:\пользователи\ПК2 Из за того что ПК2 на кирилице, некоторые компоненты среды не установились, а некоторые не могли запуститься. Я бы ни когда не догадался. Ведь во время установки нет ни каких сообщений об ошибках, да и среда типа работает. Меня это уже не спасет, но надеюсь что если кто-то столкнется с такой же проблемой, то мое сообщение на этом форуме ему поможет.
  8. Изначально запускаю через консоль командой eclipse. Саму консоль запускаю путем запуска bat файла в директории embedded. Это какой-то кошмарный сон. Завтра попробую все переустановить и задать вопросы в icgamma где покупал KIT.
  9. Цитатасовсем простой проект Altera-SoCFPGA-HelloWorld-Baremetal. Он просто выводит текст в UART. Попробуйте его собрать, по JTAG загрузить в железо и запустить Не получается загрузить. То ли я что-то не понимаю, то ли у меня среда не рабочая. Скачивал я SoC EDS где положено с официального сайта. Лицензия тоже имеется. Импортирую проект Altera-SoCFPGA-HelloWorld-Baremetal из архива в свое рабочее пространство. Компилирую Project->Build Project Дальше хочу залить и выполнить. Выбираю Project->Debug as Выбираю пункт DS-5 Debugger, выбираю мою ПЛИС, включаю KIT. Далее в одном из выпадающих списков выбираю USB-Blaster и жму кнопку "Browse" Должно появится окошко, в котором я должен выбрать свой USB Blaster. Окошко-то появляется, но оно пустое, и не просто пустое а с сообщением о том что не удалось запустить обозреватель и советует смотреть некий Error log. Я не понимаю, это поведение связано с тем что у меня со средой что-то не так? Или все дело в настройках проекта, которые тоже надо как-то настраивать? А как? Ну должен же быть простой алгоритм действий, чтобы с чистого листа создать и запустить программу "Hello World". Пожалуйста помогите преодолеть этот тупик.
  10. Спасибо <Sonycman> только что увидел твой ответ, буду пробовать. А пока наткнулся вот на что. Смотрю данное видео в котором ведущий создает Bare Metal приложение. https://www.youtube.com/watch?v=GHuM2mBlLxc В среде eclipse он кликнул пункт меню File->New->C_Project А в диалоговом окне "C Project" сделал следующий выбор. Project Type: Bare Metal Executable ;;НО у меня нет такого варианта!!! ToolChains: DS-5 GCC У меня есть только такой вариант. Project Type: Executable А в ToolChains доступны следующие варианты: ARM Compiler 5 (DS-5 built-in) ARM Compiler 6 (DS-5 built-in) Cygwin GCC GCC 4.x [arm-linux-gnueabihf](DS-5 built-in) MinGW GCC Какой из них выбрать? Чем они отличаются?
  11. Наконец-то до редактировал до того, чтобы пример заработал. И так в дирекории Altera-SoCFPGA-HardwareLib-MPL есть файлы: mpl_C5_q-mkpimage.bin это Preloader с заголовком. mpl_test_C5_whdr.bin это приложение которое мигает светодиодами. Заметил, что при выполнении команды make обновляется только файл прелодера mpl_C5_q-mkpimage.bin, а файл приложения mpl_test_C5_whdr.bin остается неизменным. Теперь у меня следующий вопрос. Как и с помощью чего мне увидеть код приложения mpl_test_C5_whdr где его поменять и как перекомпилировать, чтобы получить свой mpl_test_C5_whdr ? Подозреваю, что с помощью DS-5, но какой последовательностью действий? Мне нужно как-то открыть проект из директории Altera-SoCFPGA-HardwareLib-MPL найти код приложения mpl_test_C5_whdr и как-то его перекомпилировать.
  12. И еще, зачем они вызывают BSP Editor и генерируют BSP? В результате создается поддиректория <Директория проекта>\software\spl_bsp Но они дальше не пользуются содержимым поддиректории \software\spl_bsp Они работают только с Altera-SoCFPGA-HardwareLib-MPL.
  13. Видео сделано для среды версии 14.1 В видео ведущий редактирует файл config.mk При этом он меняет запись HANDOFF_BASE := $(SOCEDS_DEST_ROOT)\examples\hardware\cv_soc_devkit_ghrd на вот такую HANDOFF_BASE := С:\demo\cv_soc_devkit_ghrd Остальные записи ссылаются на $(HANDOFF_BASE)\. У меня среда версии 16.1 И в моем файле config.mk нет такой записи. Есть только такая SOCEDS_DEST_ROOT ?= $(SOCEDS_ROOT) Цитата# Must be set to either SDMMC, SDMMC_FAT, QSPI, or NAND BOOT_SOURCE := QSPI # Must be set to either C5 (Cyclone5), A5 (Arria5), or A10 (Arria10) DEVICE := C5 # Set this to have MPL print status to serial out, or 0 for no status PRINTF_UART := 1 # Must be either ARM or GNU COMPILER := GNU # Enable this to indicate that MPL should load the FPGA LOAD_FPGA := 1 # Enable the MPL to boot the HPS device from the FPGA BOOT_FROM_FPGA := 0 SOCEDS_DEST_ROOT ?= $(SOCEDS_ROOT) Что мне сделать, чтобы пример из видео заработал?
  14. У меня KIT: DK-DEV-5CSXC6N https://www.altera.com/products/boards_and_...lone-v-soc.html Заказчик хочет тестировать AriaV на входном контроле. KIT на AriaV приедет только через 12 недель. Разбираюсь пока на ките CyclonV. В итоге мне нужно будет прийти к тому, что у вас. Чтобы процессор заливал зашивки в FPGA.
  15. Имею KIT для CyclonV. С процессором ARM раньше не работал ни когда. Работаю с Quartus 16.1 Со стороны HPS на вывод GPIO41 припаян светодиод. Я хочу чтобы программа исполняемая процессором мигала светодиодом. Для этого сделал следующее. В Qsys создал компонент Hard Processor System. В настройках HPS отключил всё кроме DDR3(её нельзя отключить). На закладке "Peripherals_Pins" кликнул на вывод GPIO41. GPIO41 стал отображаться жирным шрифтом. Сгенерировал Qsys систему, прикрутил ее в свой модуль верхнего уровня. Откомпилировал проект. На этапе компиляции Assemblies создалась директория hps_isw_handoff. На сколько я понимаю эта директория содержит описание процессорной системы. Я знаю, что с помощью BSP Editor на основе директории hps_isw_handoff можно сгенерировать файлы загрузчика, затем откомпилировать их и получить Preloader в виде bin файла. А дальше не знаю что делать. На сколько я понимаю Preloader всего лишь настроит процессорную систему, загрузит содержимое флэш памяти в DDR и передаст управление. У меня сейчас следующие вопросы: 1. Откуда процессор узнает, из какого носителя надо брать Preloader? 2. Как записать Preloader bin файл на носитель, с которой его заберет процессор? 3. Как создать загрузчик следующего уровня, тот самый, который в DDR ляжет? 4. Откуда Preloader узнает из какого места надо тянуть следующий загрузчик? Если кто-то может помочь советом или указявкой где все это искать буду очень благодарен.