Цитата
есть альтервский "Cyclone II FPGA Starter Development Kit", установлен квартус 7.0 с двд от кита (с правленой лицензией, полный, не веб) и все что ставится по умолчанию. есть примеры с цд от кита.
У меня вот этот пример.
Kits\CycloneII_Starter_Kit-v1.0.0\Examples\CII_Starter_demonstrations\CII_Starter_NIOS
При заливке проца в плату, семисегментные индикаторы не выставлялись в нули. И некотороые красные и зеленые светодиоды загорались.
Скачал с терастика их демонстрашку, они одинаковы но не знаю почему то с терастиком у меня не было проблем.
\Kits\DE1_CD_v06\DE1_demonstrations\DE1_NIOS - без проблем процессор залился в плату, на семисегментном индикаторе все нули, ни один из светодиодов не горит. Так понял это начальная установка. Или у кого то по другому? После загружаю программу, сначала посмотри hello led что из примеров nios2ide, поставив там свои базовые адреса. Потом написал программу и помигал светодиодами, вот код на си
4. Включение любых переключателей от SW0 до SW7 включает светодиоды от LEDG0 до LEDG7.
#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
char ch;
int main()
{
while (1)
{
ch =IORD_ALTERA_AVALON_PIO_DATA(0x00481050);
IOWR_ALTERA_AVALON_PIO_DATA(0x00481020, ch);
}
return 0;
}
вместо этого 0x00481050 поставь свой адрес переключателя
а вместо вот этого 0x00481020 - адрес светодиода
Адреса брал из первой страницы SOPC Buildera, там где схема соединений нарисована.
Если не хочешь цифры писать зайди в system.h и посмотри как обозначаются переключатели и светодиоды. И их впиши вместо цифр. Просто когда писал программу не знал этого, а когда заработало все не захотел в этой программе ничего менять и оставил так.

Вот нашел где я вместо цифрового адреса вставил его обозначение LED_PIO_BASE
5.пересчет светодиодов не виден, быстро выставляются все светодиоды в единицу.
#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
int main ()
{
int i;
printf("Hello from Nios II!\n");
for(i=0;i<256;i++) {
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,i);
}
return 0;
}
#############################################################
6.способ создания задержки
void delay(void)
{
volatile int i;
i=0;
while (i<400000) i++;
}
###############################################################
7.пересчет светодиодов уже виден.
#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
int main()
{int i;
printf("Hello from Nios II!\n");
for(i=0;i<256;i++) {
volatile int j;
j=0;
while (j<400000) j++;
IOWR_ALTERA_AVALON_PIO_DATA(0x00481020,i);
}
return 0;
}
почему то в седьмом примере обратно поставил цифровой адрес , не помню почему вроде и так и так работает, в блокноте у меня записаны те программы которые заработали.