Драйвер I2C в Linux
Я знаю I2C на очень базовом уровне, который опирается на ядро Linux, но не имеет понятия, чтобы реализовать базовый драйвер I2C.
Попытка перейти к началу работы в драйвере I2C.
не могли бы вы предложить любой учебник для начинающих с отображением исходного кода?
Ответы
Ответ 1
linux-source/Documentation/i2c/содержит много необходимой информации.... /writing -clients.txt - хорошее место для начала.
Посмотрите онлайн-версию:
https://www.kernel.org/doc/Documentation/i2c/writing-clients
В учебном пособии есть хороший способ:
http://renjucnair.blogspot.ca/2012/01/writing-i2c-client-driver.html
Вот хороший комментарий к кому-то, пишущему драйвер i2c, и у него есть урок:
http://www.embedded-bits.co.uk/2009/i2c-in-the-2632-linux-kernel/
Вот пример кода:
http://code.google.com/p/ldd-templates/source/browse/drivers/i2c/sample-i2c-client.c
Ответ 2
Драйвер I2C реализован как драйвер платформы в Linux-ядре. Сначала вам нужно понять модель Linux для платформ.
Пройдите ниже документацию под ядром linux для платформ:
https://www.kernel.org/doc/Documentation/driver-model/platform.txt
Вам также необходимо понять структуру шины под ядром linux. Пожалуйста, обратитесь к следующей ссылке:
http://www.mjmwired.net/kernel/Documentation/driver-model/bus.txt
Теперь вы можете использовать Google для драйверов I2C и продолжить изучение.
Ответ 3
Посмотрите модули smbus, доступные для многих языков программирования... затем напишите драйвер для вашего устройства i2c.