В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет…
От загрузчика к ядру Если вы читали предыдущие статьи, то знаете о моём новом увлечении низкоуровневым программированием. Я написал несколько статей о программировании на ассемблере для x86_64 Linux и в то же время начал погружаться в исходный код ядра Linux. Мне очень интересно…
Представьте, что у вас имеется образ ядра Linux для телефона на базе Android, но вы не располагаете ни соответствующими исходниками, ни заголовочными файлами ядра. Представьте, что ядро имеет поддержку подгрузки модулей (к счастью), и вы хотите собрать модуль для данного ядра.…
Часть I Часть II Часть III Спроектируем схему из предыдущей части на языке Verilog. Заменим RAM с одним портом чтения/записи на RAM с раздельными портами чтения/записи. Управление производится командами: 1. загрузка адреса в счётчик Counter, 2. загрузка данных в память RAM, 3. загрузка (из…