Ник:
Пароль:

Контакты

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
работа в RHEL4 AT91SAM9 Linux build machine
Alfamayonez
Добавлено 09.02.2010 22:59 Сообщение: 21
Alfamayonez
3.42

Пункты: 3702
Регистрация: 04.10.2009
Пол: Мужчина
инсталлировать можешь хоть куда :)
ну или /lib/modules/`uname -r`/drivers...
или insmod'ом пользоваться, остальное впринципе пойдет :))
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 10.02.2010 00:06 Редактировалось 10.02.2010 20:40 Сообщение: 22
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
так, драйвер собрался без ошибок, busybox тоже собрал с нужными утилитами... счас буду пробовать :)
Спуститься к концу Подняться к началу
Персональная информация
Alfamayonez
Добавлено 11.02.2010 14:31 Сообщение: 23
Alfamayonez
3.42

Пункты: 3702
Регистрация: 04.10.2009
Пол: Мужчина
Ну, и как оно? живо? :))
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 11.02.2010 20:12 Редактировалось 11.02.2010 21:32 Сообщение: 24
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
Цитата
Ну, и как оно? живо? :))

а-а! переживаете? :)

все нормально, драйвер запустился, прерывания (TC0) идут относительно стабильно (пробовал на 1кГц и на 40кГц)
("относительно"- потому что смотрю сигналы через 400кГц-овую плату АЦП, ничего другого дома нет)

обязательно напишу какой-нибудь мануальчик по своим опытам, для новичков.

а сейчас мне вот лучше подскажите: чем в прерывании можно сделать задержку на несколько микросекунд?
ну кроме тупого цикла. чот в запале не соображу сразу... :-/
Спуститься к концу Подняться к началу
Персональная информация
Alfamayonez
Добавлено 11.02.2010 21:20 Сообщение: 25
Alfamayonez
3.42

Пункты: 3702
Регистрация: 04.10.2009
Пол: Мужчина
ну фз по задержкам...
можно delay всякие посмотреть, подобрать :)
или cpu_relax() :)
не особо разбираюсь в этом.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 21:30 Сообщение: 26
sasamy
4.70

Пункты: 77292
Регистрация: 14.08.2009
Цитата
а сейчас мне вот лучше подскажите: чем в прерывании можно сделать задержку на несколько микросекунд?


Это плохая идея - делать задержки в обработчике прерываний - без этого никак ? а вообще тогда пустые циклы - udelay например очень точную задержку даст с отключенными прерываниями.
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 11.02.2010 23:27 Редактировалось 11.02.2010 23:56 Сообщение: 27
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
Цитата
Цитата
а сейчас мне вот лучше подскажите: чем в прерывании можно сделать задержку на несколько микросекунд?


Это плохая идея - делать задержки в обработчике прерываний - без этого никак ? а вообще тогда пустые циклы - udelay например очень точную задержку даст с отключенными прерываниями.

это несерьезная, чисто символическая задержка.

тут суть такая- прикручиваю несколько внешних АЦП, с последовательным выходом. На АЦП подаю сигнал CONV (начало преобразования) и 16 тактов CLK - по каждому такту считываю с выхода каждого АЦП один бит.

если запрограммировать ТС как генератор , то все равно нужно по каждому такту в прерывании читать результат - мне как-то стремно - уж очень большая частота генерации прерываний получается (40кГц * 16=640кГц)

поэтому я "по-быстрому" хотел сделать так : генерирую прерывание с частотой 40КГц, в котором эти 16 тактов выдаю и читаю результат. у АЦП, минимальная длительность "полки" CLK 50нс.
поэтому между парой команд установки/сброса линий PIO нужно вставить какую-то задержечку на 50нс, иначе слишком быстро переключится.

* спустя 5 минут

урашки! ndelay кажется помог. 50нс-ые импульсы я своим "осциллографом" уже толком не вижу - так, проскакивает что-то короткое.
теперича как Левша, буду вслепую творить:)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 12.02.2010 00:38 Редактировалось 12.02.2010 01:02 Сообщение: 28
sasamy
4.70

Пункты: 77292
Регистрация: 14.08.2009
Цитата
тут суть такая- прикручиваю несколько внешних АЦП, с последовательным выходом. На АЦП подаю сигнал CONV (начало преобразования) и 16 тактов CLK - по каждому такту считываю с выхода каждого АЦП один бит.


Почему бы не использовать аппаратный spi - он умеет в 16 битном режиме работать да к тому же pdc двухканальный подключен ? Или их нужно одновременно считывать ? .
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 12.02.2010 08:12 Сообщение: 29
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
Цитата
Цитата
тут суть такая- прикручиваю несколько внешних АЦП, с последовательным выходом. На АЦП подаю сигнал CONV (начало преобразования) и 16 тактов CLK - по каждому такту считываю с выхода каждого АЦП один бит.


Почему бы не использовать аппаратный spi - он умеет в 16 битном режиме работать да к тому же pdc двухканальный подключен ? Или их нужно одновременно считывать ? .

да, одновременно. и их 16 шт. :)
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 13.02.2010 21:43 Редактировалось 13.02.2010 21:46 Сообщение: 30
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
total RAM: 60.6 Mb
free RAM: 51.5 Mb
process: 20

блин, маловато мне ОЗУ! маловато!!!!
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux