Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Embedded Linux
spidev_test.c
Novichok
Добавлено 02.08.2010 11:54
0
Сообщение: 1
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
Кто-нибудь пробовал запускать эту прогу на плате?
У меня почему то не работает. Есть устройство /dev/spidev1.0 с которым я хочу работать. К SPI подключено тестовое устройство, на которое передавая одно число, в ответ получаем тоже одно число.
поправил у себя uint8_t tx[] = {123};
и еще поправил
ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
if (ret < 1)
pabort("can't send spi message");
ну и выставил частоту 1000000 и название устройства spidev1.0
все, остальное не трогал.

при запуске на плате получил
spi mode: 0
bits per word: 8
max speed: 1000000 Hz (1000 KHz)
can't send spi message: Protocol not available
Aborted

в чем может быть причина?
Спуститься к концу Подняться к началу
Персональная информация
KakTyzzz
Добавлено 02.08.2010 14:29 Сообщение: 2
KakTyzzz
5

Пункты: 86
Регистрация: 28.01.2010
Пол: Мужчина
Из: Орёл
SPI это протокол последовательной передачи с синхронизацией.
Ты уверен что твоё тестовое устройство зацепилось за синхронизацию? Или ты сделал что-то вроде заглушки?

Учение - свет, а неучение - чуть свет и на работу
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 02.08.2010 16:14 Сообщение: 3
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
Да бросьте вы. Какая там синхронизация? По "клоку" данные побитово сдвигаются. Можно замкнуть MISO на MOSI вот и вся заглушка.

А при загрузке ядро что говорит про SPI? Все на месте?
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 02.08.2010 16:38 Сообщение: 4
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
вот, пожалуйста: лог
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 02.08.2010 16:55 Редактировалось 02.08.2010 17:00 Сообщение: 5
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
spidev при загрузки то нет, вот и нет протокола

http://www.starterkit.ru/html/index.php?name=forum&op=view&id=8139
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 02.08.2010 17:23 Редактировалось 02.08.2010 17:33 Сообщение: 6
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
в ссылке указанной вами в логе тоже нет spidev и все что есть там, есть и у нас (atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13))
и настройки с этой ссылки мы уже делали, так что же вы имеете ввиду под spidev ? что там должно быть?

и как вы наверно заметили из лога, у нас при загрузке папка /sys пуста и нам приходится вручную ее монтировать, может в этом еще причина?
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 02.08.2010 17:43 Редактировалось 02.08.2010 17:47 Сообщение: 7
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
система ничего не знает в ручную вы монтируете или нет ;)

А что показывает ls /sys/bus/spi/drivers ? Есть там spidev ? И в /sys/bus/spi/devices/ должны быть устройства

Вот это http://www.starterkit.ru/html/index.php?name=forum&op=view&id=8139#8179 сделано?

А у них в логе нет - так и не работало тоже ;)
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 02.08.2010 17:50 Сообщение: 8
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
итак при загрузке системы папка /sys пуста, после выполнения команды mount -t sysfs sysfs /sys она заполняется.
ls /sys/bus/spi/drivers выводит следующее: mtd_dataflash, spidev
ls /sys/bus/spi/devices/ следующее: spi0.0, spi0.1, spi1.0
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 02.08.2010 17:53 Сообщение: 9
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
на первый взгляд все нормально... Что-то вы проглядели, какую то мелочь ;)
Спуститься к концу Подняться к началу
Персональная информация
Didro
Добавлено 02.08.2010 22:38 Сообщение: 10
Didro
0

Пункты: 21
Регистрация: 05.12.2009
Пол: Мужчина
Из: Рыбинск
А правильно ли я понимаю, что если мы все правильно настроили (и в /sys, /dev мы видим наш spidev1.0), то команда # echo 1 > /dev/spidev1.0 должна приводить к выводу на соотв. пины SPI сигналов?

Контролируем линии осциллографом - сигналов нет, ошибки при выполнении echo нет. В /sys, /dev как уже писали spidev виден.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux