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

 
 
 
Reply to this topicStart new topic
> Запись в регистры со сдвигом
shtunder
сообщение Sep 5 2018, 17:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 14-07-14
Пользователь №: 82 243



Добрый день!

Как можно писать со сдвигом.

Есть dts:

Код
myled: myled@43c00000 {
            compatible = "xlnx,myled-1.0";
            reg = <0x43c00000 0x10000>;
        };


По сути на ZedBоard это 8 лампочек
Написал драйвер и могу включать лампочки таким образом:
Код
echo 0x1 > /proc/myled


Теперь хочу записывать со сдвигом, т.е. например единицу в 3 лампочку.
Т.е. в моем случае я отремапил лампочки в base_addr.
Если делать типа iowrite32(data, base_addr + addr_offset), то не помогает.

Вот попробовал:

Код
[   25.093368] myled probed at VA 0xe0970000
zynq> echo 0x1 > /proc/myled
[   31.906246] res->start 0x43c00000
[   31.909543] remap_size 0x00010000
[   31.912899] base_addr 0xe0970000
[   31.916054] base_addr + ADDR_OFFSET 0xe0970400


В итоге загорается 0 лампочка.

Как например зажечь 3 лампочку именно с помощью сдвига? Как рассчитать addr_offset? Ответы типа записать 0x8 в base_addr не принимаются.

Спасибо!
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Sep 5 2018, 18:10
Сообщение #2


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



.
Go to the top of the page
 
+Quote Post
shtunder
сообщение Sep 6 2018, 17:36
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 14-07-14
Пользователь №: 82 243



Если я нигде не ошибся, то

Код
iowrite32(data, base_addr + 1)


сдвигает на 32 бита!!!

P.S. Завтра точно скажу.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Sep 7 2018, 04:47
Сообщение #4


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(shtunder @ Sep 6 2018, 20:36) *
сдвигает на 32 бита!!!
А, так у вас пробелы в знании Си? Как же вы драйвер написали?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 16:56
Рейтинг@Mail.ru


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