sangre 0 28 января, 2011 Опубликовано 28 января, 2011 · Жалоба на отладочной плате установлен линукс, необходимо работать с spi, отладочная плата планируется быть мастером. как подходить к этому вопросу? с чего начинать? после рытья в гугле и аглицких форумов предполагаю что нужно вписать какое нибудь устройство в исходники ядра, и перекомпилить его. но после перекомпилировки устройство которое я вписал не появилось в списке устройств в директории /dev. дальше насколько я понял пишется драйвер, он же модуль ядра, через который все и работается. но, как из приложения работать с модулем? как в приложении увидеть функции, описанные в модуле? еще предполагаю что может быть где то в директориях линукса есть файл этого spi и можно работать с интерфейсом через него? но здесь я не представляю как это делать. в общем пока в голове каша, теперь по крупицам собираю инфу и нужно все как то в голове систематизировать, кто что знает, как и что делать, поделитесь опытом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 28 января, 2011 Опубликовано 28 января, 2011 · Жалоба Воспользуйтесь поиском по форуму. Это обсуждалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sangre 0 31 января, 2011 Опубликовано 31 января, 2011 · Жалоба что то как то поиск не очень удался, как то все везде сумбурно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 31 января, 2011 Опубликовано 31 января, 2011 · Жалоба Вы подробней расскажите, с чем Вы хотите работать по spi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sangre 0 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба контроллер вроде как должен быть. а это имеет значение? насколько я понимаю, с моего линукса наверно без разницы с чем работать. контроллер spi вроде выбран, в плате их 2, я выбрал 2, cs я так полагаю нужно задавать уже из приложения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба Просто для кучи железа, которое можно повесить на SPI, в линуксе уже есть драйвера. Не вижу смысла напрямую работать с SPI из приложения. Разве что что-то совсем специфичное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sangre 0 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба блин, разумно. но не факт что не придется драйвера писать. пока я вообще не знаю как все это разрабатывать =( инфа вся какая то разрозненная Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба Посмотрите на какой-нить простой драйвер. Например ./drivers/hwmon/lis3lv02d_spi.c и ./drivers/hwmon/lis3lv02d.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sangre 0 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба это насколько я понимаю собирается в модуль? который будет .ko, т.е. драйвер устройства. само устройство я так полагаю описано в какой нибудь плате? и при сборке ядра устройство собирается в ядро, а этот драйвер будет либо в ядре, либо должен будет подключаться вручную? и еще, это устройство получается уже прицеплено к какому нибудь spi контроллеру, и cs уже жестко задан? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба Можно в модуль, можно вкомпилировать. Устройство описывается структурой spi_board_info, которую надо передать в spi_register_board_info во время инициализации вашей платформы. Контроллер и CS должны быть определены. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sangre 0 2 февраля, 2011 Опубликовано 2 февраля, 2011 · Жалоба вот с этой структурой интресная история. я собирал ядро и фс openembedded`om, он собирает ангстром дистрибутив, его можно выкачать на linux4sam, он интересно все собирает, я еще толком не разобрался как он это делает, но это думаю вопрос времени. вот, он там сначала шаманит с ядром 2.6.27, потом с ядром 2.6.30, на выходе рабочее ядро 2.6.30. я в spi.h добавлял свое устройство, условно device, в оба исходника, и в 2.6.27 и в 2.6.30, когда он компилирует 2.6.27 все нормально, а в 2.6.30 - ругаецца, говорит что неправильное описание. хотя вроде все по исходникам. после того как закоментил некоторые моменты, он скомпилировал, но в /dev моего устройства не появилось. появился файл в /sys/device типа spi_1.1 вроде тот который я сделал. как дальше пользоваться утсройством? оно должно быть в /dev или нет? для чего устройство в /sys/device? что с этим делать? как работать с spi? в даташите писано, ежели хотите писать-читать, то вот вам регистры(а это ячейки памяти) пользуйтесь на здоровье, естессно операционка не дает туда ничего писать. я так полагаю необходим модуль, который как я думаю уже будет туда и писать и читать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 2 февраля, 2011 Опубликовано 2 февраля, 2011 · Жалоба Читайте http://www.mjmwired.net/kernel/Documentation/spi/spi-summary http://www.mjmwired.net/kernel/Documentation/spi/spidev и http://www.kernel.org/pub/linux/utils/kern...tplug/udev.html . Грубо говоря SPI это интерфейс. Если на нем есть устройства - udev создаст соответствующие записи в /dev . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sangre 0 4 февраля, 2011 Опубликовано 4 февраля, 2011 · Жалоба благодарю за ссылки, почитаю =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться