32-bitowy procesor w maXimatorze: czy nadal wolisz Arduino?

Utworzą się dwa projekty, NIOS_LED jest właściwym projektem w którym piszemy kod, NIOS_LED_bsp jest projektem powiązanym z NIOS_LED i służy tylko do generowania bibliotek i makr dla danej konfiguracji wyklikanej w Qsys-ie. Edytujemy plik hello_world_small.c i wstawiamy poniższy kod:

Kompilujemy napisany program, wybierając z menu Project->Build All, następnie klikamy prawym przyciskiem myszy na projekcie NIOS_LED i wybieramy Make Targets->Build…

Wybieramy mem_init_generate i klikamy Build. Po tej operacji przechodzimy do programu Quartus.

Generowanie wsadu dla procesora

W Quartusie Prime trzeba dodać projekt wygenerowany w Eclipse, w tym celu z menu wybieramy Project->Add/ Remove Files in Project… Przy File name klikamy […] i wybieramy plik: software/NIOS_LED/mem_init/meminit.qip, klikając następnie kolejno Add, Apply i OK.

Trzeba jeszcze zmienić domyślną konfigurację pamięci Flash układu FPGA. W tym celu w Quartusie wybieramy opcję Assigments->Device… W wyświetlonym oknie klikamy przycisk Device and Pin Options.. .

Następnie w menu Category wybieramy Configuration i zmieniamy Configuration Mode na Single Uncompressed Image with Memory Initialization (256Kbits UFM). Po tych zmianach klikamy OK, co umożliwia skompilowanie całego projektu wraz z programem dla NIOS.

Programowanie FPGA

Po opisanych dotychczas zbiegach zostało nam zaprogramować lub skonfigurować FPGA w zestawie amXimator do wykonania zadania, co wymaga wykonania następujących, dość oczywistych kroków:

  1. Dołączamy płytkę zestawu maXimator do zasilania.
  2. Dołączamy do złącza JTAG programator wchodzący w skład zestawu.
  3. Z menu pakietu Quartus wybieramy Tools ž Programmer, następnie w okienku Programmer naciskamy Add File… i wchodzimy do katalogu output_ files, w którym wybieramy plik NIOS_LED.sof (konfigurujący FPGA poprzez pamięć RAM, zapis konfiguracji nie jest trwały). Alternatywnie, jeżeli chcemy trwale zapisać konfigurację FPGA, należy wybrać plik NIOS_LED.sof, który zostanie zapisany w pamięci konfiguracji Flash układu FPGA.

Po naciśnięciu przycisku Start układ FPGA MAX10 zostanie skonfigurowany, czego efekt będzie widać na pokładowych LED zestawu maXimator.

Mam nadzieję, że zachęciłem programistów do sięgnięcia po układy FPGA, w razie problemów, pytań lub propozycji tematów związanych z w/w układami zapraszam na forum http://microgeek.eu/.

Do pobrania

O autorze