Nios Altera создание проекта

Altera Nios PIO котроллер Для того, чтобы создать новый проект в IDE NIOS нужно проделать несколько важных операций. В продолжение начатой темы о процессоре Nios, в этом посте продолжим начатый проект и в дополнение к нему создадим новый, уже в IDE NIOS. Для удобства все операции покажем на картинках с короткими пояснениями.

Базируясь на прошлом посте необходимо перейти в SopsBuilder на вкладку System Generation и нажать кнопку Nios || IDE. Запустится среда для написания и отладки программ для процессора Nios. Далее создаем новый проект. Но прежде чем это сделать необходимо переключить рабочее пространство в папку с проектом. Работа в одном и том же рабочем пространстве разных проектов создаст путаницу при их переносе на другой комп. Поэтому наиболее корректный вариант это рабочее пространство в папке с проектом File->Switch Workspace....

Рабочее пространство

Ну и создание нового проекта...

Новый проект Nios

Nios проект

Директория Nios проекта

Системная библиотека

После проделанных операций необходимо нажать на кнопку "Finish". Будет создан проект и его системная библиотека которые будут расположены в папке с проектом в директориях как показано на картинке ниже.

Пооект Nios создан

Теперь необходимо создать сишный файл который будет скомпилирован, загружен в память и запущен на созданной ранее Nios системе. Теперь нужно работать правой кнопкой мышки установив указатель на NiosPio

Источник С файла

Название файла

В результате будет создан пустой сишный файл который нужно заполнить нужным сишным текстом.

Проект Nios


#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"

int main (void)
{
        
    alt_u8 led = 0x2;        
    alt_u8 dir = 0;        
    volatile int i = 0;

    // Бесконечный цикл
    while (1)        
    {                
        if(led & 0x81)                
        {                        
            dir = (dir ^ 0x1);                
        }
        if(dir) 
            led = led >> 1;                
        else                        
            led = led << 1; 
       // Задержка                    
       for(i = 0; i < 50000; i++)
       {
        if (i == 20)
                    
           {
                // Запись в порт
                IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);
                
           }                

       };        
    }        
    return 0;        
}

Теперь предстоит компиляция проекта и запуск его на исполнение. Но предварительно полезно будет выполнить некоторые настройки проекта. Об этом в следующем посте.

Top.Mail.Ru