|
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 17 2008, 15:06
|
Участник

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

|
Цитата(vetal @ Feb 17 2008, 17:25)  переписывать не надо - там есть быстрые аналоги этой функции(alt_printf и пр). Стандартный printf на всех платформах медленный, т.к. там заложен заведомо большой функционал  Вся основа для программирования в sdk nios уже сделана - надо только подобрать из всего что имеется то, что вам нужно. если не использовать буфер на передачу (программный или аппаратный), то вопрос быстродействия почти не стоит - все равно почти все время на ожидание завершения передачи предыдущего символа тратится. написание своего минимального по объему кода для кома может сильно пригодиться, если пытаться запихнуть его в накристальную память, без внешнешней памяти.
|
|
|
|
|
Feb 17 2008, 15:52
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Цитата переписывать не надо - там есть быстрые аналоги этой функции(alt_printf и пр). Стандартный printf на всех платформах медленный, т.к. там заложен заведомо большой функционал Изначально начал делать программу на основе small версии программы без этих всех принтов. В прошлых программах записав IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, 0x06); все передавалось без проблем и тут подумал что так будет. Но записав IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, 0xb74003); получил на выходе число 03. Так как пока еще не умею общаться с отладчиком, то решил использовать alt_putstr, printf не помогло. Это все проделывал со своим процессором. С подачи Vasily_A обратно перешел на демо процессор, все равно болячки остались. И вывод с использованием putchar тоже не помог. Тут torik подсказал поменять тип данных с int перешел на float. У Кернигана написано, что float - 32битное число, десять (плюс минус) 38 степени. Тоже не вышло. Даже, если использовать printf для вывода состояния status регистра, всегда получаю число 96. Это 1100000, т.е биты trdy и tmt установлены в 1. Это значит, что txdata регистр пуст и готов для передачи нового знака, так же сдвиговой регистр все что нужно передал, а не находится в процесе передачи. Т.е исходное состояние установлено. Ну и в чем дело у меня? Нашел на форуме альтеры сообщение "Need help for my RS232 in NIOS II" Hey, This is a function thats send one byte to the UART void UART1_T(unsigned char ch) { while((IORD_ALTERA_AVALON_UART_STATUS(UART1_BASE) & 0x040) != 0x040){ ;} IOWR_ALTERA_AVALON_UART_TXDATA(UART1_BASE,ch); } You only have to change UART1_BASE address to your UART address that you can find back in your system.h file Good luck Regards Karel Он честно написал, что это код для передачи одного байта. И этот код у меня работает и передает 0x03 вместо 0xb74003, т.е так же как и мой код. ""если пытаться запихнуть его в накристальную память, без внешнешней памяти. С alt_putchar, alt_printf и rediced device drivers это легко реализуется.И ничего писать не надо Как я уже и говорил - все уже есть, надо только найти и использовать!"" Так прога изначально использует on-chip memory, без внешней памяти. Все запихивается туда куда нужно :-) Передача хромает только.
Сообщение отредактировал prog_sun - Feb 17 2008, 16:09
|
|
|
|
|
Feb 17 2008, 16:16
|
Участник

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

|
ком-порт работает с 8-ми битными посылками, и передать 32 бита сам не может.
просто для иллюстрации (вариант не оптимальный)
int i; //my var 32bit IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, (i & 0x000000FF)); IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ((i>>8) & 0x000000FF)); IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ((i>>16) & 0x000000FF)); IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ((i>>24) & 0x000000FF));
передаст 32 бита побайтно...
|
|
|
|
|
Feb 17 2008, 16:33
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Цитата Попробуйте найти 2 отличия между char и int, тогда поймете почему у вас передается 0x03. Уважаемый Vetal ставил и char в самом начале :-) передается 03. char 8 битная, а int -16 битная. Цитата(Vasily_A @ Feb 17 2008, 19:16)  ком-порт работает с 8-ми битными посылками, и передать 32 бита сам не может.
просто для иллюстрации (вариант не оптимальный)
int i; //my var 32bit IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, (i & 0x000000FF)); IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ((i>>8) & 0x000000FF)); IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ((i>>16) & 0x000000FF)); IOWR_ALTERA_AVALON_UART_TXDATA(UART_0_BASE, ((i>>24) & 0x000000FF));
передаст 32 бита побайтно... Это ясно что com порт работает с 8 битами достаточно посмотреть на регистр txdata что в Uart core.pdf Весь вопрос в том как передать число. А код не понял, поймет ли ниос что i -длина разрядности числа?
|
|
|
|
Сообщений в этой теме
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 vetal Цитатаа примеры\аппноты кроме китовых для нио... Feb 9 2008, 12:33 prog_sun Цитатаа примеры\аппноты кроме китовых для нио... Feb 9 2008, 17:01  Vasily_A Мой работающий код - все совсем просто оказалось..... Feb 10 2008, 18:35   prog_sun Цитата#include <stdio.h>
#include "syst... Feb 17 2008, 09:20    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     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
|
|
|