Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
SSC+Linux - Embedded Linux - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
SSC+Linux
alexmfivt
Добавлено 21.03.2013 11:12 Сообщение: 11
alexmfivt
0

Пункты: 3237
Регистрация: 07.11.2010
Пол: Мужчина
Из: Красноярск
тоже нужно ssc оживить из линукса. есть ли примеры?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.03.2013 12:40 Редактировалось 21.03.2013 12:42 Сообщение: 12
sasamy
4.70

Пункты: 76882
Регистрация: 14.08.2009
Что значит "оживить" ? ssc используется например в аудио-драйвере для обмена с аудикодеками по I2S
http://lxr.free-electrons.com/source/sound/soc/atmel/atmel_ssc_dai.c?a=arm#L768
Спуститься к концу Подняться к началу
Персональная информация
leh
Добавлено 21.03.2013 12:46 Редактировалось 21.03.2013 12:47 Сообщение: 13
leh
5

Пункты: 1646
Регистрация: 07.06.2009
Пол: Мужчина
Из: Волгоград
Цитата
тоже нужно ssc оживить из линукса. есть ли примеры?

Приходилось использовать SSC в режиме мастера на at91sam9g20, в ядре 2.6.28 от атмела был драйвер /drivers/misc/atmel-ssc.c. Драйвер толком ничего не делает: есть ф-ии ssc_request и ssc_free - которые позволяют получить контекст SSC и освободить его потом. В контексте SSC вы получаете промаппеную область регистров и зарезервированный номер IRQ. Соответсвенно на IRQ потом сажаете свой обработчик, а к регистрам обращаетесь через макросы ssc_readl, ssc_writel, которые вместе с регистрами и битами определены в заголовочном файле.
Дальше, если вам надо использовать ПДП, то резервируете область памяти с помощью ф-ии dma_alloc_coherent (или что-то в этом духе), и пихаете полученные физ.адреса в регистры RPR, TPR, RNPR, TNPR ну и соответствующие регистры счетчиков заполняете. В обработчике прерывания надо регулярно подсовывать новые области, либо освободившиеся, в общем это уже от вашей задачи зависит.
Все остальное настраивается по даташиту.
Спуститься к концу Подняться к началу
Персональная информация
buletz
Добавлено 22.03.2013 12:43 Редактировалось 22.03.2013 12:44 Сообщение: 14
buletz
3

Пункты: 5920
Регистрация: 16.11.2011
Пол: Мужчина
рекомендую вот эту статейку:
http://habrahabr.ru/post/106702/
очень доходчиво для начала.

UPDATE: фу, не заметил что вторая страница обсуждения пошла. :)
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux