Всем здравствуйте!
На работе хотят сделать плату и в качестве вычислителя поставить туда TurboX™ D845 SOM, а обмен сделать через SPI. Для теста сделали демо-версию софта и запустили ее на их же development kit’е RB3 platform, с ним разобрались и все работает как надо. А дальше возник вопрос, как подружить с одной стороны контроллер и этот D845. Собственно, в user space я как раз с ним и ковырялся, но внезапно™ вопрос обмена тоже упал на меня, а тут у меня уже знаний linux вообще и специфики мягко говоря не хватает. Подскажите пожалуйста, как быть?
На этом kit’е использовали готовый образ linux (есть по ссылке). Как меня уверяют, на stm сделают slave если надо.
Я, естественно, поковырялся и вылез ряд вариантов/вопросов:
-
- Использовать spidev.
Но никаких файлов
/dev/spidev*.*
нет. Если я правильно понял, то в сборке ядра в конфиге он есть. Но при этом spi должен был быть правильно указан в device tree? Значит ли это, что его не указали и через spidev не достучаться? Можно ли тут что-то сделать с этой стороны?
- Использовать spidev.
Но никаких файлов
-
- Написать свой драйвер.
В принципе, я могу попробовать. Но тут вылезла еще засада: собрал хелло ворлдный драйвер, попробовал сделать ему insmod и получил что-то вроде
Required key not available
. Это свидетельство secure boot? Это как-то вообще обходится? Я, конечно, погуглил как отключить, ноmokutil
нет, можно попробовать собрать. Но мне что-то кажется, что это только для desktop и стандартных загрузчиков, я не прав?
- Написать свой драйвер.
В принципе, я могу попробовать. Но тут вылезла еще засада: собрал хелло ворлдный драйвер, попробовал сделать ему insmod и получил что-то вроде
-
- Надо делать свой образ linux + любой из п.1 и п.2. Ну тут я вообще пока не очень представляю что к чему. Насколько это вообще будет реально сделать под эту конкретную железку (не знаю, какие-то засады с драйверами, может что-то нужно от производителя)? Понятно, что вопрос расплывчатый, извиняюсь, но буду признателен за комментарии.
Заранее спасибо!