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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> NIOSII - Странный глюк, тестирую модуль для SOPC и не понимаю :(
vetal
сообщение Jul 16 2007, 17:31
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Для чтения используйте макрос IORD_32DIRECT, для чтения непосредственно из памяти а не из кэша.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Jul 16 2007, 17:39
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(vetal @ Jul 16 2007, 21:31) *
Для чтения используйте макрос IORD_32DIRECT, для чтения непосредственно из памяти а не из кэша.

Так, видимо, я совсем туплю. Можно пример кода, как я должен использовать этот макрос внутри ниосовской программы? help.gif
Я пока могу предположить только вот это:
*p_ped=IORD_32DIRECT((int)p_led,0), но мне этот вариант не кажется более предпочтительным чем указанные ранее.
Go to the top of the page
 
+Quote Post
vetal
сообщение Jul 16 2007, 18:03
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Расположить там, где это вам нужно.
alt_u32 i;
i= IORD_32DIRECT(BASE_ADDR, OFFSET);
где BASE_ADDR - начало адресного пр-ва чтения,
OFFSET - смещение в адресном пр-ве.

Тоже намудрил чего-то. IOWR и IORD тоже в обход кэша работают, только в качестве второго параметра им нужен номер регистра, где сидит смещение относительно базового адреса.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Jul 16 2007, 18:18
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Может таки проще будет uncached_malloc или remap_uncached? Правда, последний у меня, напомню, так и не заработал, я его заменил прямым записыванием 1 в старший разряд.
Кстати, простите, но моего познания в устройстве кеша не хватило, чтоб понять, что делает alt_dcache_flush. sad.gif Т.е., как я понял, оно обновляет данные в памяти данными кеша, а затем этот кусок кеша отключает? Так, что ли? А можно как-нить наоборот - обновить данные кеша данными из памяти?

Просто мне предстоит работать с большим массивом информации, которую в сдрам будет записвать именно модуль, вот я и хочу заранее оассмотреть все возможные тонкости.
Go to the top of the page
 
+Quote Post
vetal
сообщение Jul 16 2007, 18:23
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



По моему с макросами быстрее, т.к. нет лишней операции установки бита(если дело не с константами).

По функции:

"The alt_dcache_flush() function flushes (i.e. writes back dirty data and then invalidates) the data cache for a memory region of length len bytes, starting at address start."
Go to the top of the page
 
+Quote Post
RHnd
сообщение Jul 16 2007, 18:44
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Не, в документации-то я посмотрел. Я осмыслить пытаюсь. smile.gif Просто, если оно действительно сначала из кеша память обновляет, то понятно, почему оно у меня не работает. Может, вот это: alt_remap_cached?
Go to the top of the page
 
+Quote Post
vetal
сообщение Jul 16 2007, 19:45
Сообщение #22


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



скорее всего так и есть. сейчас пока времени нет проверить. сначала синхронизирует озу с кэшем, а затем дает данным обход кэша.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Jul 17 2007, 15:41
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Итак, повозился сегодня с железкой - разобрался с кешем. И с макросами, и с remapom. Большое спасибо vetal и id_gene. a14.gif

Теперь над новой проблемой думаю: увидел в 7.1 встроенное FIFO. Если с ним кто-нить уже работал, то не подскажете, сколько тактов уходит у ниоса на получение из него данных при использовании API?
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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