Кто-нибудь знает какие-либо учебники по программированию ядра / драйвера?


12

Я заинтересован в использовании RPi для обучения программированию на аппаратном уровне. Я искал в Интернете некоторые учебники для RPi, но все, что я нашел, это общие уроки "как скомпилировать ядро". Меня больше интересуют настоящие учебники типа «как написать код ядра / драйверы устройств». Существуют ли конкретные учебные пособия для RPi, или достаточно какого-нибудь учебника * nix для программирования на аппаратном уровне?


Возможный дубликат Есть ли учебные материалы?
Jivings

2
@Jivings: Предлагаемый дубликат не затрагивает ни часть моего вопроса. Elinux и CAS, похоже, не имеют ничего общего с программированием ядра RPi, в то время как программирование на GPIO едва царапает поверхность написания драйверов. Кроме того, в предложенном дубликате RPi по сравнению с общими учебниками * nix нет упоминаний.
Якуб

Ответы:


5

Я не думаю, что вы найдете лучший ресурс, чем этот, если вы не знаете кого-то лично.

наслаждаться

PS Если ссылка не работает, книга называется « Драйверы устройств Linux».


Это выглядит очень хорошо, я всегда был поклонником серии O'Reilly.
Якуб

Итак, я так понимаю, что программирование драйвера в ядре Linux довольно легко перейдет на Raspbian?
Якуб

Raspbian - это просто небольшой дистрибутив Debian, скомпилированный со специальными параметрами, специфичными для оборудования Raspberry Pi. Так что да, так и должно быть, хотя я не являюсь экспертом ни в программировании драйверов, ни в Raspberry Pi, так что давайте подождем кого-то более знающего, чтобы
присоединиться

Кажется очень устаревшим (Kernel 2.6 и 2009). Что-нибудь более современное?
Лукас Кнут


2

В дополнение к книге LDD вы также можете посмотреть документы учебного курса на free-electrons.com . Там все материалы курса с открытым исходным кодом. Вполне подходит для тех, кто начал немного заниматься программированием ядра Linux, или для тех, кто ищет более глубокое и широкое понимание конкретных тем / областей.

Для начала вы можете посмотреть хотя бы первые два курса:

И не забудьте про сайт перекрестных ссылок на исходный код lxr на free-electrons.com , где вы можете проверить исходный код для различных версий ядра.

Если вы предпочитаете IDE, особенно NetBeans или Eclipse, и знаете, как запускать сценарии Perl и Makefile, вы можете взглянуть на инструменты моего проекта Nbk на github.com . Сценарий позволяет полностью индексировать проект ядра с помощью набора NetBeans C ++. Это очень помогает улучшить опыт, чтобы лучше понять внутренние структуры и отношения исходного кода. Я обычно делаю минимальную конфигурацию ядра плюс конкретное устройство, на которое смотрю, и делаю сборку и делаю индекс в NetBeans только для анализа кода ядра. Пока делаю актуальную разработку в другом проекте. Этот сценарий тестируется непосредственно в NetBeans, но с Eclipse идея будет такой же (необходимо изменить сценарий в соответствии с Eclipse).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.