реклама на сайте
подробности

 
 
43 страниц V  « < 13 14 15 16 17 > »   
Reply to this topicStart new topic
> NIOS для начинающих
alexPec
сообщение Mar 11 2011, 10:32
Сообщение #211


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(W1nneR @ Mar 10 2011, 20:38) *
Кто нибудь имел дело с Nios системами ведущих обмен с FTDI?

Да, с FT245.
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Mar 16 2011, 19:57
Сообщение #212





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



alexPec, не осталось прошивки ознакомится? Буду бесконечно благодарен.
Go to the top of the page
 
+Quote Post
vilary
сообщение Apr 1 2011, 06:51
Сообщение #213





Группа: Новичок
Сообщений: 6
Регистрация: 19-10-09
Пользователь №: 53 053



При добавлении в систему компонента с шиной данных 8 бит появляется warning: "cpu.data_master/device.avalon_slave does not have byteenables. Narrow (less than 32-bit) writes from cpu.data_master will result in spurious writes to device.avalon_slave". При добавлении byteenable пишет ошибку, что byteenable не может быть меньше 2, хотя в спецификации написано что может быть и 1. Может это повлиять на работу системы если не ставить byteenable?

Еще quartus при компиляции пишет "Found Invalid timing asssignments". При просмотре ошибок minimum slack для Clock Hold: nios pll имеет отрицательное значение и pll_offset = -1,667 ns.
При попытке на данную прошивку загрузить софт Nios пишет: "ID value doesn't match. Timestamp value doesn't match: image on board is older than expected". При чем данная ошибка появляется только когда в системе присутствуют компоненты со Stream интерфейсом. Что это может быть и как это можно исправить?
Go to the top of the page
 
+Quote Post
naliwator
сообщение Apr 1 2011, 09:57
Сообщение #214


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551



Ваши вопросы напрямую зависят от вашего проекта, выложите проект для просмотра.


--------------------
Go to the top of the page
 
+Quote Post
barabek
сообщение Apr 1 2011, 22:35
Сообщение #215


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(vilary @ Apr 1 2011, 17:51) *
При добавлении в систему компонента с шиной данных 8 бит появляется warning: "cpu.data_master/device.avalon_slave does not have byteenables. Narrow (less than 32-bit) writes from cpu.data_master will result in spurious writes to device.avalon_slave". При добавлении byteenable пишет ошибку, что byteenable не может быть меньше 2, хотя в спецификации написано что может быть и 1. Может это повлиять на работу системы если не ставить byteenable?

Раз Вы можете добавить byteenable то, смею предположить, что это Ваш самописный компонент. Если так, то можно либо выставить NATIVE адресацию у компонента, тогда и byteenable не нужен. Либо оставить DYNAMIC, но сделать шину 32-х битную, вставить byteenable, при этом логику внутри компонета можно сделать такой, что старшие 3 байта игнорировать. Выбирайте.


Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 2 2011, 13:25
Сообщение #216


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(W1nneR @ Mar 16 2011, 23:57) *
alexPec, не осталось прошивки ознакомится? Буду бесконечно благодарен.

В файлике ф-ии записи и чтения в/из USB и пример использования этих ф-й. На стороне компа после установки драйверов запись/чтение происходит как в обычный ком-порт.

Думаю названия портов интуитивно понятно каким выводам FT245 соответствуют. Порт data - двунаправленный.

Прикрепленные файлы
Прикрепленный файл  sample_ft245.txt ( 1.26 килобайт ) Кол-во скачиваний: 89
 
Go to the top of the page
 
+Quote Post
W1nneR
сообщение Apr 7 2011, 05:37
Сообщение #217





Группа: Новичок
Сообщений: 8
Регистрация: 3-03-11
Пользователь №: 63 360



Спасибо большое, что откликнулись на зов моей помощи, но что то не могу файлик пощупать, ни скачивается и не просмативается... (
Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 7 2011, 06:11
Сообщение #218


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(W1nneR @ Apr 7 2011, 09:37) *
Спасибо большое, что откликнулись на зов моей помощи, но что то не могу файлик пощупать, ни скачивается и не просмативается... (


И правда ерунда какая-то. Напишите письмо на alex@udsu.ru с пометкой о чем, вышлю.
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Apr 18 2011, 13:59
Сообщение #219


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763



На заметку.

1. Если хотите чтобы работал Nios II Flash Programmer то ставьте версию 9.1 SP1. На SP2 и без SP не работает (неправильно конвертирует sof->flash).


2. Чтобы работать с UART в неблокирующем режиме нужно открывать его следующим образом:

Код
static int fdterm; // FILEDESCRIPTOR RETURNED BY OPEN
..
fdterm = open("/dev/uart1", O_RDWR | O_NONBLOCK | O_NOCTTY | O_SYNC);
..


reading is done by

..
res=read(fdterm,uart1_tempbuff,sizeof(uart1_tempbu ff)-1);
if(res>0) {
... we have received some bytes
}

Тогда при чтении данных исполнение программы блокироваться не будет. Удивительно но не нашел доку где это было бы описано, спасибо альтерафоруму.
Go to the top of the page
 
+Quote Post
inventor
сообщение Apr 18 2011, 19:07
Сообщение #220


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



подскажите пожалуйста, где взять таблетку от жадности
для квартуса 7.2 ?
ну или от десятки?
Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 19 2011, 06:44
Сообщение #221


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Как писать/читать флешку CFI из ниоса?
На борту DE0 стоит флешка. Собрал контроллер. в программе пробовал alt_write_flash() - при вызове второй раз это функции старые данные стираются. Нашел в доках, что эта функция стерает блок.
Есть функция alt_write_flash_block() - но про ней мало что понятно. Есть ещё какие то загадочные alt_flash_cfi_init() alt_flash_cfi_read() ... Про них вообще ни чего не нашел.

Чем отличаются alt_flash_cfi_write и alt_write_flash_block/ alt_write_flash?

ps Вообще хотелось бы получить функцию типа write(alt_u32 addressInFlash, alt_u8 *source, alt_u32 length); Пока видется путь писать свою используя alt_write_flash_block/read/open/close, в которой проверять перекрытие границы блока. Но там адская функция получается. Ещё не понятно что такое регион? С чем его есть и для чего он нужен?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 19 2011, 07:31
Сообщение #222


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



самое простое - использовать функции alt_write_flash, alt_read_flash. тогда можно о блоках не думать. то, что вы перечислили - низкоуровневые функции, они вызываются в alt_write_flash, alt_read_flash. можно делать и на низком уровне, но код будет менее универсальный, больше привязан к железу. см. http://www.altera.com/literature/hb/nios2/n2sw_nii52010.pdf

Цитата(juvf @ Apr 19 2011, 13:44) *
Ещё не понятно что такое регион? С чем его есть и для чего он нужен?

см. alt_flash_types.h
Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 19 2011, 07:56
Сообщение #223


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(vadimuzzz @ Apr 19 2011, 13:31) *
самое простое - использовать функции alt_write_flash, alt_read_flash. тогда можно о блоках не думать. то, что вы перечислили - низкоуровневые функции, они вызываются в alt_write_flash,

изночально нписал

alt_write_flash(...); // пишу 1234 в адрес 0
alt_write_flash(...); // пишу 5678 в адрес 20

alt_read_flash(...); //читаю из адреса 0, получаю 0xffff
alt_read_flash(...); //читаю из адреса 20, получаю то, что записал, т.е. 5678

такое чувство что вторая запись сначала стерла первую запись, а потом записала 5678.

Сообщение отредактировал juvf - Apr 19 2011, 07:57
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 19 2011, 08:05
Сообщение #224


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



см. Nios II Software Developer’s Handbook, глава 6 Developing Programs Using the
Hardware Abstraction Layer, раздел Using Flash Devices. там все эти случаи разобраны

Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 19 2011, 08:13
Сообщение #225


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата
тогда можно о блоках не думать.
как же не думать? Вот из документации на апи, стр 6-21

Цитата
Generally, flash memory is divided into blocks. alt_write_flash() might need to
erase the contents of a block before it can write data to it. In this case, it makes no
attempt to preserve the existing contents of the block. This action can lead to
unexpected data corruption (erasure), if you are performing writes that do not fall on
block boundaries. If you wish to preserve existing flash memory contents, use the
fine-grained flash functions.
These are discussed in the following section.

...

Fine-Grained Flash Access
Three additional functions provide complete control for writing flash contents at the
highest granularity:
■ alt_get_flash_info()
■ alt_erase_flash_block()
■ alt_write_flash_block()



как то не понятно, как эту флеш писать читать?


Go to the top of the page
 
+Quote Post

43 страниц V  « < 13 14 15 16 17 > » 
Reply to this topicStart new topic
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 13:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01515 секунд с 7
ELECTRONIX ©2004-2016