27. Файл конфигурирования Altera будет состоять из аппаратной и программной конфигурации. Аппаратная конфигурация имеет формат .sof, программная - .elf. Необходимо создать .jic файл, в котором сначала загружается аппаратная конфигурация, а потом (в момент сброса процессора Nios II) – программная. Для этого нужно привести файлы аппаратной и программной конфигурации к единому формату.
28. Запуск командной строки Nios II EDS. Выбираем Пуск > Все программы > Altera > Nios II EDS <версия> > Nios II <версия> Command Shell. Используя команды dir – просмотр директории и cd – смена директории, переходим в директорию нашего проекта.
29. Конвертируем .sof в .flash файл (рис. 33). Формат команды конвертирования следующий:
sof2flash -I
<input file.sof> -O < hw.flash> --epcs –verbose
рис. 33
30. Конвертируем .elf в .flash файл (рис. 34). Формат команды конвертирования следующий:
elf2flash -I
< input file.elf> -O <sw.flash> --epcs –A <hw. flash> --verbose
Таким образом, создаётся образ конфигурирования флеш памяти, начинающийся с адреса, следующим последовательно за образом аппаратной конфигурации чипа.
рис. 34
31. Конвертируем .flash в .hex файл (рис. 35). Формат команды конвертирования следующий:
nios2-elf-objcopy -I srec -O ihex <sw.flash> <sw.hex>
рис. 35
Здесь необходимо поправиться. Дело в том, что в qcc4 10 версии программы Nios II EDS была проблема конвертирования .flash в .hex файл. Проблема решалась заменой файла nios2-elf-objcopy.exe в директории nios2eds/bin/gnu/H-i686-mingw32/bin на файл из директории nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin.
32. Создание .jic файла. В программе Quartus II открываем File > Convert Programming File (рис. 36). В списке Programming file type выбираем JTAG Indirect Configuration File (.jic). В списке Configuration Device выбираем корректный объём устройства флеш памяти (в нашем случае – EPCS4). В поле File name задаём название файла конфигурации Altera (Hello_world.jic). В поле Input files to convert выделяем Flash Loader и кликаем на кнопку Add Device. Выбираем чип, установленный на отладочной плате (EP3C5). Выбираем SOF Data и кликаем Add File. Находим файл конфигурации аппаратного проекта nios_epcs.sof. Кликаем Add Hex Data и находим файл конфигурации программного проекта Hello_word.hex. Указываем в свойствах Hex Data Properties – Relative addressing. Кликаем Generate.
рис. 36
После успешного генерирования файла конфигурации, можно сохранить настройки создания файла конфигурации. Для этого необходимо кликнуть на кнопку Save Conversion Setup и ввести имя файла настроек конвертации. В дальнейшем, при внесении изменений в .sof или .hex файлы, можно кликнуть на кнопку Open Conversion Setup Data и открыть сохранённый файл настроек конвертации.
33. Программирования чипа Altera. Открываем Quartus II Programmer (Tools > Programmer). Находим файл Hello_world.jic и запускаем программирование чипа Altera (рис. 37). После успешного завершения, закрываем программатор и сбрасываем питание чипа Altera.
рис. 37
34. Проверка работы аппаратно-программного комплекса на плате с чипом Altera. Так как наша программа всего лишь выводит в порт JTAG UART строку "First program with Nios II!" , которую мы наблюдали на вкладке Nios II Console в Nios II EDS, то нам необходимо загрузить терминал для порта JTAG UART. В командной строке Nios II EDS вызовем терминал:
nios2-terminal
рис. 38
Если вы наблюдаете это окно, значит ваш проект загружен удачно.