Проблемы с spidev и их возможные решения.

 
0
 
C++
ava
gormih | 28.03.2013, 15:09
В описание платформы включил следующий код (arch/arm/mach-tegra/board-*.c)

#include <linux/spi/spi.h>
static struct spi_board_info tegra_spi_device[] __initdata = {
{
.modalias = "spidev",
.bus_num = 0,
.chip_select = 1,
.mode = SPI_MODE_0,
.max_speed_hz = 1000000,
.platform_data = NULL,
.irq = 0,
},
{
.modalias = "spidev",
.bus_num = 1,
.chip_select = 1,
.mode = SPI_MODE_0,
.max_speed_hz = 1000000,
.platform_data = NULL,
.irq = 0,
},
{
.modalias = "spidev",
.bus_num = 2,
.chip_select = 1,
.mode = SPI_MODE_0,
.max_speed_hz = 1000000,
.platform_data = NULL,
.irq = 0,
},
{
.modalias = "spidev",
.bus_num = 3,
.chip_select = 1,
.mode = SPI_MODE_0,
.max_speed_hz = 1000000,
.platform_data = NULL,
.irq = 0,
}
}


static void __init harmony_spidev_init(void)
{
spi_register_board_info(&tegra_spi_device, 4);
}
Как и следует ожидать, при включенной опции сборки ядра User mode SPI device support в /dev наблюдаю  вновь испеченные spidev0.1, spidev1.1, spidev2.1, spidev3.1
Однако, при обращении к ним любого юзерспэйс приложения это приложение успешно повисает, не реагируя ни на какие сигналы (SYSTERM и.т.д). Приложения простые - от {echo -ne "\x5c">/dev/spidev1.1} до стандартного из Documentation spidev_test.c
Хочу отказаться от spidev на время и обращаться к устройству через sysfs - подскажите че курить, и вообще как отлаживаются такие баги?


Ответы (0)

Комментарии не добавлены

Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  gormih
advanced
Отправить