Проблемы с 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 - подскажите че курить, и вообще как отлаживаются такие баги?


Kommentare (0)

Kommentare werden nicht hinzugefügt

Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  gormih
advanced
Absenden