|
|
  |
at91sam9xeek + Linux + SPI |
|
|
|
Jan 28 2011, 07:38
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
на отладочной плате установлен линукс, необходимо работать с spi, отладочная плата планируется быть мастером.
как подходить к этому вопросу? с чего начинать? после рытья в гугле и аглицких форумов предполагаю что нужно вписать какое нибудь устройство в исходники ядра, и перекомпилить его. но после перекомпилировки устройство которое я вписал не появилось в списке устройств в директории /dev. дальше насколько я понял пишется драйвер, он же модуль ядра, через который все и работается. но, как из приложения работать с модулем? как в приложении увидеть функции, описанные в модуле?
еще предполагаю что может быть где то в директориях линукса есть файл этого spi и можно работать с интерфейсом через него? но здесь я не представляю как это делать.
в общем пока в голове каша, теперь по крупицам собираю инфу и нужно все как то в голове систематизировать, кто что знает, как и что делать, поделитесь опытом.
|
|
|
|
|
Jan 31 2011, 07:50
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
что то как то поиск не очень удался, как то все везде сумбурно...
|
|
|
|
|
Feb 1 2011, 05:57
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
контроллер вроде как должен быть. а это имеет значение? насколько я понимаю, с моего линукса наверно без разницы с чем работать. контроллер spi вроде выбран, в плате их 2, я выбрал 2, cs я так полагаю нужно задавать уже из приложения.
|
|
|
|
|
Feb 1 2011, 09:09
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
блин, разумно. но не факт что не придется драйвера писать. пока я вообще не знаю как все это разрабатывать =( инфа вся какая то разрозненная
|
|
|
|
|
Feb 1 2011, 11:10
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
это насколько я понимаю собирается в модуль? который будет .ko, т.е. драйвер устройства. само устройство я так полагаю описано в какой нибудь плате? и при сборке ядра устройство собирается в ядро, а этот драйвер будет либо в ядре, либо должен будет подключаться вручную? и еще, это устройство получается уже прицеплено к какому нибудь spi контроллеру, и cs уже жестко задан?
|
|
|
|
|
Feb 2 2011, 06:01
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
вот с этой структурой интресная история. я собирал ядро и фс 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? в даташите писано, ежели хотите писать-читать, то вот вам регистры(а это ячейки памяти) пользуйтесь на здоровье, естессно операционка не дает туда ничего писать. я так полагаю необходим модуль, который как я думаю уже будет туда и писать и читать?
|
|
|
|
|
Feb 4 2011, 06:05
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
благодарю за ссылки, почитаю =)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|