ilkz 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 (изменено) · Жалоба Добрый день! Имею кит CIII_DEV_KIT. В проекте есть NIOS с флэшкой. Такая проблема: надо собрать .sof и .elf в один файл и залить, чтобы запускалось. Делаю так: sof2flash --epcs --input=project.sof --output=hw.flash --verbose elf2flash --input=project_nios.elf --output=sw.flash --boot="$ALTERA/nios2eds/components/altera_nios2/boot_loader_cfi.srec" \ --base=0xc000000 --end=0x10000000 --reset=0xe000000 --verbose nios2-elf-objcopy -I srec -O binary hw.flash hw.bin nios2-elf-objcopy -I srec -O binary sw.flash sw.bin cat hw.bin sw.bin > firmware.bin nios2-elf-objcopy -I binary -O ihex firmware.bin firmware.hex quartus_cpf -c make_pof.cof quartus_pgm pgm_pof.cdf В make_pof.cof, соответственно, прописано: В pgm_pof.cdf прописано: Программатор долго сначала стирает, затем прошивает, но проект в итоге не стартует (горит светодиод ERROR). Что я делаю не так? Спасибо! P.S.: Если делать по отдельности - сначала заливать только .POF с образом ПЛИС, потом .SOF с ней же, потом на нее накатывать .FLASH с ниосом, то все работает прекрасно. Но хочется уйти от такой кучи файлов. Изменено 20 февраля, 2015 пользователем ilkz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба Что я делаю не так? Спасибо! P.S.: Если делать по отдельности - сначала заливать только .POF с образом ПЛИС, потом .SOF с ней же, потом на нее накатывать .FLASH с ниосом, то все работает прекрасно. Но хочется уйти от такой кучи файлов. Попробуйте flash programmer в Eclipse. Там вручную конвертировать и объединять sof и elf не нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба Попробуйте flash programmer в Eclipse. Там вручную конвертировать и объединять sof и elf не нужно. Так для того, чтобы им воспользоваться, надо все равно сначала .sof залить (иначе он не видит что в чип залито), плюс потом .POF, чтобы сам образ ПЛИС во флэшке оказался. А мне надо уйти от этих, по сути, лишних для производственника действий. Хочу просто один файл (содержащий и ПЛИС и ОС), который заливается через какой-то программатор (пускай пока через quartus_pgm), после чего устройство готово к использованию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба Так для того, чтобы им воспользоваться, надо все равно сначала .sof залить (иначе он не видит что в чип залито), плюс потом .POF, чтобы сам образ ПЛИС во флэшке оказался. А мне надо уйти от этих, по сути, лишних для производственника действий. Хочу просто один файл (содержащий и ПЛИС и ОС), который заливается через какой-то программатор (пускай пока через quartus_pgm), после чего устройство готово к использованию. Буквально недавно шил в память один старый проект, собранный в Q7.1. Для заливки во флеш использовал Q 11.1. Делал следующее: Залил через программер sof Открыл flash programmer там указал sopcinfo и добавил файлы на заливку: sof + elf нажал programm flash. отключил/включил питание. Все заработало Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба Есть такой вариант: 1) Компилите проект в Eclipse 2) Выполняете Make Targets -> Build -> mem_init_generate -> OK 3) В Quartus добавляете файл software/project_name/mem_init/meminit.qip в проект 4) Компилите проект в Quartus 5) Полученный SOF уже содержит проинициализированную память для Nios II. 6) Конвертируете SOF в нужный формат и заливаете в конфигурационное устройство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 42 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба sof2flash --epcs --input=project.sof --output=hw.flash --verbose Я таки не понял - у Вас флэшка параллельная (CFI) или последовательная (EPCS)??? И еще - какой установлен режим конфигурирования (что на MSEL'ах)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба Параллельная, CFI. Режим - 1bit-PS. Ой, а ключика --epcs я и не заметил... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 (изменено) · Жалоба Буквально недавно шил в память один старый проект, собранный в Q7.1. Для заливки во флеш использовал Q 11.1. Делал следующее: Залил через программер sof Открыл flash programmer там указал sopcinfo и добавил файлы на заливку: sof + elf нажал programm flash. отключил/включил питание. Все заработало Делаю в точности как Вы описали - не стартует, горит светодиод ERROR. Выхлоп флэш-программера: Info: Info: ******************************************************************* Info: Info: Running Quartus II 32-bit Convert_programming_file Info: Info: Command: quartus_cpf --no_banner --convert D:/projects/pack/firmware.sof D:/projects/pack/firmware_ext_flash.rbf Info: Info: Quartus II 32-bit Convert_programming_file was successful. 0 errors, 0 warnings Info: Info: Peak virtual memory: 189 megabytes Info: Info: Processing ended: Fri Feb 20 14:32:58 2015 Info: Info: Elapsed time: 00:00:01 Info: Info: Total CPU time (on all processors): 00:00:01 Info: Using cable "USB-Blaster [uSB-0]", device 1, instance 0x00 Info: Resetting and pausing target processor: OK Info: Reading System ID at address 0x08000040: Info: ID value verified Info: Timestamp value was not verified: value was not specified Info: Info: : Checksumming existing contents Info: Info: Checksums took 1.2s Info: Erase not required Info: Info: 00000000 ( 0%): Programming Info: Info: 00020000 ( 3%): Programming Info: Info: 00040000 ( 7%): Programming Info: Info: 00060000 (11%): Programming Info: Info: 00080000 (14%): Programming Info: Info: 000A0000 (18%): Programming Info: Info: 000C0000 (22%): Programming Info: Info: 000E0000 (25%): Programming Info: Info: 00100000 (29%): Programming Info: Info: 00120000 (33%): Programming Info: Info: 00140000 (36%): Programming Info: Info: 00160000 (40%): Programming Info: Info: 00180000 (44%): Programming Info: Info: 001A0000 (47%): Programming Info: Info: 001C0000 (51%): Programming Info: Info: 001E0000 (55%): Programming Info: Info: 00200000 (58%): Programming Info: Info: 00220000 (62%): Programming Info: Info: 00240000 (66%): Programming Info: Info: 00260000 (69%): Programming Info: Info: 00280000 (73%): Programming Info: Info: 002A0000 (77%): Programming Info: Info: 002C0000 (80%): Programming Info: Info: 002E0000 (84%): Programming Info: Info: 00300000 (88%): Programming Info: Info: 00320000 (91%): Programming Info: Info: 00340000 (95%): Programming Info: Info: 00360000 (99%): Programming Info: Info: Programmed 3488KB in 52.8s (66.0KB/s) Info: Device contents checksummed OK Info: Leaving target processor paused Info: Using cable "USB-Blaster [uSB-0]", device 1, instance 0x00 Info: Resetting and pausing target processor: OK Info: Reading System ID at address 0x08000040: Info: ID value verified Info: Timestamp value was not verified: value was not specified Info: Info: : Checksumming existing contents Info: Info: Checksums took 0.1s Info: Erase not required Info: Info: 02000000 ( 0%): Programming Info: Info: 02020000 (37%): Programming Info: Info: 02040000 (75%): Programming Info: Info: Programmed 338KB in 5.5s (61.4KB/s) Info: Device contents checksummed OK Info: Leaving target processor paused Изменено 20 февраля, 2015 пользователем des00 Используйте тег codebox для размещения больших сегментов кода (с) Модератор Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба Получается возможность сделать единый файл прошивки из .sof+.elf, и залить его сразу, отсутствует? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Swup 0 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба В проекте, где ниос работает на onchip memory использую вариант doom13. При производстве прошивается только .pof. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба В проекте, где ниос работает на onchip memory использую вариант doom13. При производстве прошивается только .pof. В моем случае ниос работает в ddr2-памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 27 февраля, 2015 Опубликовано 27 февраля, 2015 · Жалоба Есть такой вариант: 1) Компилите проект в Eclipse 2) Выполняете Make Targets -> Build -> mem_init_generate -> OK 3) В Quartus добавляете файл software/project_name/mem_init/meminit.qip в проект 4) Компилите проект в Quartus 5) Полученный SOF уже содержит проинициализированную память для Nios II. 6) Конвертируете SOF в нужный формат и заливаете в конфигурационное устройство. Спасибо, Ваш метод хорош, но он приводит к ненужной пересборке ПЛИС в случае если изменился только код NIOS (а он меняется на порядок чаще). Вопрос по-прежнему открыт... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 февраля, 2015 Опубликовано 27 февраля, 2015 · Жалоба он приводит к ненужной пересборке ПЛИС в случае если изменился только код NIOS (а он меняется на порядок чаще). smart compilation не помогает ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 2 марта, 2015 Опубликовано 2 марта, 2015 · Жалоба Спасибо, Ваш метод хорош, но он приводит к ненужной пересборке ПЛИС в случае если изменился только код NIOS (а он меняется на порядок чаще). Вопрос по-прежнему открыт... Если меняется только код Nios и используется Smart Compilation, то анализ/синтез и фиттер не выполняются, много времени не занимает, почему нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 3 марта, 2015 Опубликовано 3 марта, 2015 · Жалоба Если меняется только код Nios и используется Smart Compilation, то анализ/синтез и фиттер не выполняются, много времени не занимает, почему нет. Большое спасибо! Давно искал нечто подобное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться