|
nios2 на ките Cyclone II для чайников, простейший проект |
|
|
|
Feb 6 2008, 12:36
|
Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-03-05
Из: Калуга, СССР
Пользователь №: 2 957

|
есть альтервский "Cyclone II FPGA Starter Development Kit", установлен квартус 7.0 с двд от кита (с правленой лицензией, полный, не веб) и все что ставится по умолчанию. есть примеры с цд от кита. cii_starter_nios.v скачал...
уважаемые гуру, может кто поделится простейшим проектом - типа вывести в rs232 "хелло ворд" и помигать светодиодиком?
пока не могу сообразить, как "С" исходник к проекту прицепить... прошу прошения за возможную нечеткость формулировок.
|
|
|
|
|
 |
Ответов
|
Feb 9 2008, 17:01
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Цитата а примеры\аппноты кроме китовых для ниоса существуют? в принципе можно по библиотечным функциям пытаться разобраться, но хочется легкого пути. Поищи здесь http://www.altera.com/literature/lit-an.jsp может что найдешь. Некоторые апноты с design example идут.
|
|
|
|
|
Feb 10 2008, 18:35
|
Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-03-05
Из: Калуга, СССР
Пользователь №: 2 957

|
Мой работающий код - все совсем просто оказалось... может кому пригодится.
#include <stdio.h> #include "system.h" #include "altera_avalon_pio_regs.h" #include "alt_types.h" #include "basic_io.h"
#include "sys/alt_irq.h" #include "altera_avalon_timer.h" #include "altera_avalon_timer_regs.h"
void timerinit_int( void );
volatile int i_cnt;
//------------------------------------------------------- void ISR_timer_0( void * context, alt_u32 irqnum ) { i_cnt++; IOWR_ALTERA_AVALON_TIMER_STATUS (TIMER_0_BASE, 0); } //------------------------------------------------------- //------------------------------------------------------- int main() { int i; int n=0; i_cnt=0;
printf("Hello from Nios II!\r\n"); printf("init timer_0\r\n"); timerinit_int(); printf("Go!\r\n");
while(1) { for(i=0;i<256;i++) { IOWR_ALTERA_AVALON_PIO_DATA(LEDG_BASE,i); printf("n=%d i_cnt=%d\r\n",n,i_cnt); IOWR(SEG7_BASE,0,n); n++; usleep(100000); } } return 0; } //------------------------------------------------------- void timerinit_int( void ) { // Stop the Timer IOWR_ALTERA_AVALON_TIMER_CONTROL (TIMER_0_BASE, ALTERA_AVALON_TIMER_CONTROL_STOP_MSK); // Register ISR alt_irq_register (TIMER_0_IRQ, (void*)TIMER_0_BASE, ISR_timer_0); // Start timer IOWR_ALTERA_AVALON_TIMER_CONTROL (TIMER_0_BASE, ALTERA_AVALON_TIMER_CONTROL_ITO_MSK | ALTERA_AVALON_TIMER_CONTROL_CONT_MSK | ALTERA_AVALON_TIMER_CONTROL_START_MSK); } //-------------------------------------------------------
|
|
|
|
|
Feb 17 2008, 09:20
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Цитата #include <stdio.h> #include "system.h" #include "altera_avalon_pio_regs.h" #include "alt_types.h" void delay(void); //------------------------------------------------------- int main() { int i; int n=0; printf("Hello from Nios II!\r\n"); while(1) { for(i=0;i<256;i++) { IOWR_ALTERA_AVALON_PIO_DATA(LEDG_BASE,i); delay(); printf("n=%d\r\n",n); n++; } } return 0; } //------------------------------------------------------- void delay(void) { volatile int i; i=0; while (i<500000) i++; } //-------------------------------------------------------
откомпилировал, залил - результат порадовал: в ком-порт на скорости 115200 выдается все что ожидается, светодиодики моргают. Цитата (prog_sun @ Feb 9 2008, 10:56)
И где в твоем коде обращение к ком порту? А printf("sh=%d",sh); печатает это же число в окне nios2ide.
просто надо переназначить stdin\stdout на uart вместо джитага (в свойствах проекта), и все работает именно по шнурку rs232 в терминал. Для обращения к Uartу достаточно написать IOХХ_ALTERA_AVALON_UART_XXDATA(address,data); а в вашем коде нет вообще обращения к UARTy. В коде как понял идет пересчет светодиодов на pio. Цитата просто надо переназначить stdin\stdout на uart вместо джитага (в свойствах проекта) причем тут джитаг? Вы передаете данные по Jtag-Uart ? Вообще ничего не понял. И как конфигурируется stdout device.
|
|
|
|
Сообщений в этой теме
Vasily_A nios2 на ките Cyclone II для чайников Feb 6 2008, 12:36 RHnd Цитата(Vasily_A @ Feb 6 2008, 15:36) есть... Feb 6 2008, 13:22 Vasily_A Цитата(RHnd @ Feb 6 2008, 16:22) Нужно ус... Feb 6 2008, 13:52  RHnd У меня все почти работало из проблем. Что приходит... Feb 6 2008, 14:25   Vasily_A Цитата(RHnd @ Feb 6 2008, 17:25) У меня в... Feb 6 2008, 14:41    RHnd Цитата(Vasily_A @ Feb 6 2008, 17:41) вопр... Feb 6 2008, 14:56     Vasily_A Цитата(RHnd @ Feb 6 2008, 17:56) Да, имен... Feb 6 2008, 16:16      RHnd Хм. Вообще, тайм-лимитид зависит от лицензии на ни... Feb 6 2008, 16:18       Vasily_A Цитата(RHnd @ Feb 6 2008, 19:18) Хм. Вооб... Feb 6 2008, 16:43       prog_sun Цитатаесть альтервский "Cyclone II FPGA Start... Feb 6 2008, 17:16        Vasily_A Спасибо!
скачал DE1_CD_v06.zip посмотрю что та... Feb 6 2008, 20:19         Vasily_A некий промежуточный результат:
system_0.ptf и DE1... Feb 7 2008, 13:27          RHnd 1-2) Читайте доки, пробуйте.
3) Расчеты на Ниосе? ... Feb 7 2008, 15:36           Vasily_A Цитата(RHnd @ Feb 7 2008, 18:36) 1-2) Чит... Feb 7 2008, 16:09            RHnd Цитата(Vasily_A @ Feb 7 2008, 19:09) доки... Feb 7 2008, 17:45             Vasily_A пытаюсь собрать свой процессор, пока не получается... Feb 7 2008, 18:30              prog_sun Цитата#include <stdio.h>
#include "syst... Feb 9 2008, 07:56               Vasily_A Цитата(prog_sun @ Feb 9 2008, 10:56) И гд... Feb 9 2008, 10:12                RHnd Цитата(Vasily_A @ Feb 9 2008, 13:12) како... Feb 9 2008, 10:50                 Vasily_A Цитата(RHnd @ Feb 9 2008, 13:50) Вам же у... Feb 9 2008, 11:50  Rifenshtal Цитата(Vasily_A @ Feb 6 2008, 17:52) я сл... Jul 15 2008, 15:57 vetal Без разницы какое прерывание обрабатывать, от тайм... Feb 9 2008, 12:00 Vasily_A Цитата(vetal @ Feb 9 2008, 15:00) Без раз... Feb 9 2008, 12:26    Vasily_A Цитата(prog_sun @ Feb 17 2008, 12:20) Для... Feb 17 2008, 10:11     prog_sun Цитата(Vasily_A @ Feb 17 2008, 13:11) чес... Feb 17 2008, 11:24      Vasily_A Цитата(prog_sun @ Feb 17 2008, 14:24) Да,... Feb 17 2008, 11:49 torik может проблема с типом переменых? Feb 17 2008, 11:48 RHnd Если не путаю, то вроде кто-то из опытных писал на... Feb 17 2008, 14:13 vetal ЦитатаЕсли не путаю, то вроде кто-то из опытных пи... Feb 17 2008, 14:25 Vasily_A Цитата(vetal @ Feb 17 2008, 17:25) перепи... Feb 17 2008, 15:06  prog_sun Цитатапереписывать не надо - там есть быстрые анал... Feb 17 2008, 15:52   Vasily_A ком-порт работает с 8-ми битными посылками, и пере... Feb 17 2008, 16:16    prog_sun ЦитатаПопробуйте найти 2 отличия между char и int,... Feb 17 2008, 16:33     Vasily_A Цитата(prog_sun @ Feb 17 2008, 19:33) Ува... Feb 17 2008, 17:00     prog_sun error: parse error before "__builtin_stwio... Feb 17 2008, 17:17 vetal Цитатаесли пытаться запихнуть его в накристальную ... Feb 17 2008, 15:20 vetal ЦитатаIOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ... Feb 17 2008, 16:14 vetal ЦитатаУважаемый Vetal ставил и char в самом начале... Feb 17 2008, 17:03 vetal Цитатаerror: parse error before "__builtin_st... Feb 17 2008, 17:30 Vasily_A вот это выводит в джитаг-варт "Hello from Nio... Feb 17 2008, 19:00  Postoroniy_V Цитата(Vasily_A @ Feb 18 2008, 04:00) ...... Feb 18 2008, 06:25   prog_sun Vasily_A,
Спасибо за код, все работает. Feb 18 2008, 15:48    prog_sun В handbooke нашел два примера работы с com портом.... Feb 26 2008, 05:36 zorromen Здрасте. Вот решил прикрутить VGA для DE1. Это те ... May 29 2008, 05:50 torik ЦитатаЗдрасте. Вот решил прикрутить VGA для DE1. Э... Jun 2 2008, 05:04
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|