Pull to refresh
4K+
26

User

7
Rating
19
Subscribers
Send message

Разработка драйвера сетевого адаптера для Linux. Часть 2

Level of difficultyMedium
Reading time24 min
Reach and readers5K

Вашему вниманию предлагается вторая часть статьи “Разработка драйвера сетевого адаптера для Linux”. Первая часть была опубликована очень давно, по некоторым обстоятельствам не было возможности продолжить работу над статьей. Но в итоге вторая часть готова, надеюсь материал будет полезен тем, кто интересуется темой разработки для Linux.

далее

Разработка драйвера сетевого адаптера для Linux. Часть 1

Reading time25 min
Reach and readers36K

В этой статье мы рассмотрим как устроен драйвер сетевого адаптера для Linux.

Cтатью разделим на две части.

В первой части рассмотрим общую структуру сетевого адаптера, узнаем какие компоненты входят в его состав, что такое MAC и PHY, разберемся как подготовить адаптер к работе, сконфигурировать, и как в итоге получать сетевые пакеты.

Хотя при разработке драйверов необходимо использовать стандартные ядерные фреймворки, такие как clock, reset, libphy и пр., поначалу мы будем работать с адаптером напрямую через регистры состояния и управления. Это позволит нам детально разобраться с аппаратной частью.

Во второй части статьи приведем драйвер к нормальному виду, с использованием стандартных фреймворков и описанием того, что надо указать в Device Tree, и рассмотрим как передавать сетевые пакеты.

Нам нужна макетная плата с сетевым адаптером, на которую можно поставить Linux. Возьмем Orange Pi Zero на платформе Allwinner H2+. В состав платформы входят четыре процессорных ядра Cortex-A7, поддерживается ОЗУ стандартов LPDDR2, LPDDR3, DDR3, широкий спектр соединений и интерфейсов, в том числе сетевой адаптер, для которого мы будем разрабатывать драйвер. Подробное описание платформы тут, документация на платформу Allwinner H3 Datasheet.

Читать далее

Information

Rating
1,171-st
Registered
Activity