home.social

#драйвер — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #драйвер, aggregated by home.social.

fetched live
  1. Изучение ACPI на примере разработки драйвера кнопки Power для ОС FreeBSD

    Так получилось, что я уговорил одного своего коллегу установить на его рабочий ноутбук «HP Laptop 15s» операционную систему FreeBSD 15.0. Он уже был немного знаком с ОС FreeBSD в серверном варианте, но с этой ОС на десктопе ранее никогда не сталкивался, поэтому мы решили устроить на работе небольшой «сэйшен по установке Фрюхи» и выполнить установку под моим пристальным контролем. В целом, не учитывая экспериментов с разбивкой диска, совмещением и сожительством с ОС Windows, установки менеджера загрузки rEFInd и борьбы с глюками USB накопителей, установка ОС FreeBSD на отдельный раздел диска прошла удачно. Беспроводная WiFi карта и встроенная AMD графика заработали «из коробки». В систему был установлен X11 сервер Xorg, а к нему графическая оболочка Xfce4 и много прочего разного ПО для удобства выполнения повседневных задач. Преисполненные чувством выполненного большого дела, мы решили разбегаться по домам, коллега нажал на ноутбуке кнопку выключения питания и обнаружил, что система никак не реагирует на это нажатие, хотя команда shutdown выполняется корректно - с выключением питания. Я тут же вспомнил, что в ОС FreeBSD поведение системы при нажатии на кнопку «Power» задается системной переменной hw.acpi.power_button_state , но установка её значения в S5 («shutdown and power off») ни к чему не привела. Тогда я включил режим «многословности» для операционной системы и стал наблюдать сообщения от ядра ОС на консоли, одновременно многократно нажимая кнопку «Power». На удивление, ни одного сообщения от ACPI я не обнаружил, и это был очень нехороший знак — кнопка либо физически сломана, либо что-то конкретно «сломано» в ACPI в ядре ОС FreeBSD. Мы загрузились в Windows, убедились в том, что там с кнопкой «Power» всё в порядке, а значит остается одно — дебажить ядро Фрюхи и выяснять причину. Ведь не могу же я оставить коллегу «один на один» с нерабочей системой на его ноутбуке. Далее я поведаю историю со счастливым концом о том, как в течении двух недель я, тайком от семьи, по ночам, разбирался с устройством «Advanced Configuration and Power Interface» (ACPI), дебажил ядро операционной системы FreeBSD и писал свой небольшой драйвер для кнопки «Power».

    habr.com/ru/articles/1096484/

    #c #freebsd #драйвер #acpi

  2. PCIe и DDR3 на ПЛИС Gowin: как мы заставили работать то, что не работало у производителя

    Привет, Хабр! Меня зовут Владимир Заикин. Под руководством Семёна Григорьева @rsdpisuy , я занимаюсь разработкой на ПЛИС в лаборатории YADRO в СПбГУ. Мой рассказ — о том, как мы реализовали общение по PCIe с ПЛИС на плате Sipeed Tang Mega 138K Pro с кристаллом GW5AST-138K от Gowin. Устройство, реализованное на ПЛИС, должно было принимать данные по PCIe, сохранять их в DDR3 и обрабатывать пользовательской логикой. Чтобы реализовать такую функциональность, мы обратились к примеру взаимодействия с PCIe-контроллером от производителя платы, но тот оказался нерабочим. Пришлось разбираться самим. В итоге мы сделали рабочий стенд: Linux-драйвер, хост-программа на C и аппаратное описание на Verilog. Все это выложили в открытый доступ, чтобы поделиться своим опытом и помочь другим безболезненно разобраться с этой проблемой.

    habr.com/ru/companies/yadro/ar

    #gowin #плис #ddr3 #драйвер #linux

  3. Гетерогенный lookup: как одна фича C++ сделала драйвер проще, чище и быстрее, чем на C

    Нужен драйвер — пиши на C. Нужно что-то рядом с ядром — тем более пиши на C. В низкоуровневой разработке этот подход воспринимается почти как правило по умолчанию. Но иногда задача требует большей выразительности, больше удобной работы со структурами данных и дополнительных гарантий со стороны языка. Меня зовут Женя Ерохин, у меня около 15 лет опыта разработки драйверов на C++ под macOS. Сейчас я старший разработчик в Kaspersky Lab, занимаюсь операционной системой KasperskyOS. Много всего создал в ее микроядре, а теперь знакомлю нашу ось со всяким железом на мобильных устройствах. Под катом я покажу, как мы использовали C++ при разработке драйвера для микроядерной ОС. В том числе разберу гетерогенный lookup — возможность выполнять поиск по разным типам аргументов без лишних преобразований. На практике такая фича хорошо показывает, почему C++ может быть полезен даже там, где обычно ждут C. Я расскажу, почему драйверы на C++ для микроядерной ОС — вполне рабочее инженерное решение. Покажу, где именно плюсы помогают писать более аккуратный и надежный код, как они упрощают работу со структурами данных и почему в нашей задаче такой выбор оказался естественным.

    habr.com/ru/companies/kaspersk

    #c++ #stl #stl_containers #kasperskyos #ос #микроядро #микроядерная_архитектура #драйвер

  4. Почему профессиональная GPU стоит впятеро дороже игровой с той же начинкой

    Привет, Хабр! На связи Илья Мартысь из Рег.облака.

    habr.com/ru/companies/runity/a

    #видеокарты #облачные_сервисы #выделенные_серверы #драйвер #железо #память #gpu #vram #облако #облачные_технологии

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

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

    habr.com/ru/articles/1053766/

    #драйвер #ethernet #phy

  6. Разработка драйвера сетевого адаптера для Linux. Часть 2 Вашему вниманию предлагается вторая часть статьи “Р...

    #драйвер #ethernet #phy

    Origin | Interest | Match
  7. VBoxGuest для KolibriOS: архитектура и устройство драйвера

    VBoxGuest — драйвер гостевых дополнений для KolibriOS, написанный с нуля на FASM. VMMDev, HGCM, диспетчер сервисов с авторегистрацией, работа с прерываниями, нижняя половина через таймер. Мышь, общие папки, буфер обмена, бесшовный режим, синхронизация времени. Сравнение с upstream-реализациями для Linux/Windows/FreeBSD. Для системных программистов и энтузиастов OSDev.

    habr.com/ru/articles/1040248/

    #KolibriOS #VirtualBox #VBoxGuest #драйвер #FASM #VMMDev #HGCM #виртуализация #Shared_Folders #системное_программирование

  8. VBoxGuest для KolibriOS: архитектура и устройство драйвера VBoxGuest — драйвер гостевых дополнений для KolibriOS, написанный...

    #KolibriOS #VirtualBox #VBoxGuest #драйвер #FASM #VMMDev #HGCM #виртуализация #Shared #Folders #системное

    Origin | Interest | Match
  9. Windows последних поколений: шаг вперёд или провал десятилетия?

    С каждым выходом новой версии операционная система от Microsoft всё больше отдаляется от пользователя, а её "нововведения" вызывают всё больше недоумения. Windows становится всё менее удобной и пользователи это чувствуют. Кому-то всё это нравится, но большинство нормальных людей негодует из-за неожиданных изменений, а также из-за того, что некоторые крайне важные вещи так и не были добавлены в Систему спустя долгие годы В этой статье я постараюсь описать главные, критические недостатки последних версий Windows, да и старых тоже. Описать то, как довести эту ОС до ума. Описать то, чего не было в этой системе, но стоило бы добавить. Описать то, чего следовало бы изменить, а что убрать Примечание: в связи с тем, что все мои компьютеры сейчас заняты и ради написания этой статьи у меня нет возможности полноценно переустановить Windows на каком-нибудь из компьютеров, да и устройств видеозахвата по HDMI у меня нет, часть скриншотов будет с Виртуальной машины, а часть - из просторов Интернета

    habr.com/ru/articles/954968/

    #microsoft #windows #bios #драйвер #интернет #реестр_windows #обновления #антивирус #шифрование #оформление

  10. Шпаргалка по установке драйверов NVIDIA на ML сервер

    Данный материал предназначен для быстрой и последовательной установки драйверов NVIDIA, в том числе для видеокарт 50xx серии, а также настройки NVIDIA Container Toolkit. Эта инструкция актуальна для Linux-систем на базе Ubuntu и других Debian-совместимых дистрибутивов.

    habr.com/ru/articles/913988/

    #nvidia #docker #ubuntu #драйвер #установка #gpu #cuda #nvidiasmi #container #linux

  11. FreeBSD и тачпады

    Еще один интересный способ решения проблем с оборудованием в этой замечательной ОС. Будет актуально только «особенным» пользователям, действительно использующим это на ноутбуке.

    habr.com/ru/articles/890148/

    #freebsd #touchpad #модуль_ядра #драйвер

  12. Руководство по построению коннекторов к СУБД на примере Tarantool

    В сложных ИТ-системах важны не только основные модули, но и механизмы их взаимодействия — коннекторы (они же драйверы). Например, без них сложно выстроить связь приложения с базой данных. Но закрыть все потребности существующими драйверами не всегда возможно: они могут не удовлетворять требованиям по производительности, функциональности или даже совместимости. По этим причинам разработчикам приходится создавать свои драйверы к СУБД. Меня зовут Иван Банников. Я ведущий разработчик команды Data Integration Team из экосистемы Tarantool. В этой статье я расскажу о разработке драйверов на примере создания коннектора к Tarantool.

    habr.com/ru/companies/vk/artic

    #tarantool #vkcloud #субд #драйвер #коннекторы

  13. Как мы проектировали свой отечественный драйвер IGBT

    Всем привет! В НИУ МЭИ регулярно проходят проектно-исследовательские работы с привлечением к ним студентов старших курсов бакалавриата и магистратуры. Такие работы спонсируются различными грантами и направлены на то, чтобы давать возможность студентам поучаствовать в реальной научной и инженерной деятельности уже в рамках обучения, получить опыт, и влиться в интересную работу и проекты. Тематики таких проектов бывают сильно разными и в основном связаны с теми направлениями, которыми занимается выпускающая кафедра, где обучаются студенты. В этом году я со своими студентами провел такое проектно-научное исследование в рамках гранта НИУ «МЭИ» на реализацию программы научных исследований «Приоритет 2030: Технологии будущего». Тематикой работы была «Разработка интеллектуального драйвера IGBT на напряжение 3,3 кВ для 3-уровневых инверторов тяговых электроприводов поездов высокоскоростной железнодорожной магистрали Москва - Санкт-Петербург». Проект выполнялся с апреля по октябрь, и в нём были задействованы кроме меня, как руководителя, студенты 4 курса бакалавриата и 1 курса магистратуры. Данный проект выполнялся в довольно небольшие сроки (полгода действительно срок довольно маленький для полноценного проекта), но, во-первых, у нас уже были определённые наработки по этой теме, а во-вторых, для данного исследования подразумевается продолжение в рамках следующего этапа ПНИ. Как вы поняли из заявленной тематики, мы выполняли разработку отечественного драйвера IGBT, в рамках которой реализовали как аппаратное решение, так и программное обеспечение с необходимыми алгоритмами управления драйвера. Интересным моментом здесь было то, что мы пошли по рискованному пути и отказались в разработке от ПЛИС для реализации логики работы драйвера, и выбрали motorcontrol микроконтроллер с довольно развитой периферией, но при этом уступающий по быстродействию современным ПЛИС.

    habr.com/ru/articles/868304/

    #микроконтроллер #драйвер #аппаратное_решение #напряжение #электропривод #транзистор

  14. Создание аппаратно-независимых библиотек для микроконтроллеров

    В данной статье я хотел бы вам расказать, как можно создавать свои аппаратно-независимые библиотеки для микроконтроллеров для работы с цифровыи микросхемами. Суть создания аппаратно-независимой библиотеки состоит в том, чтобы отвязаться от того уровня абстракции (библиотеки и фреймворки), который предоставляет производитель микроконтроллеров, внутри реализуемой библиотеки. Например, для STM32 - HAL, ESP32 - ESP-IDF или Arduino, для AVR зачастую используют Arduino. Это позволит использовать одну и ту же библиотеку на различных микроконтроллерах (и не только) без изменения кода библиотеки под каждый камень.

    habr.com/ru/articles/846656/

    #микроконтроллер #драйвер #библиотека #stm32 #esp32 #avr #интерфейс

  15. Миниатюрный шаговый двигатель

    Иногда мне в руки попадают различные устройства, которые необходимо отладить и протестировать их работу. В некоторых случаях это не так просто, так как тяжело найти какую либо информацию по устройству. Приходится изучать большое количество ресурсов. Поэтому буду "складировать" полученную информацию на Хабре. Возможно, она кому-то пригодится. Что было дальше?

    habr.com/ru/articles/813113/

    #arduino #шаговый_двигатель #драйвер #a4988 #stepper #stepper_h #stepper_motor #шаговики #точное_позиционирование

  16. CW: Отримання інформації з датчиків процесорів AMD сімейства ZEN.

    Після того як я розказав вам про процесор AMD і ядро linux-amd я згадав які проблеми виникали раніше у мене з цим процесором. Як би я знав це все, то, мабуть, купив процесор Itel.

    Більшість процесорів підтримуються стандартним ядром linux без додаткових модулів, але не ці. Для них потрібен спеціальний драйвер. У сімейства ZEN є кілька поколінь: ZEN, ZEN+, ZEN2 і ZEN3. Для перших трьох поколінь потрібен драйвер zenpwer, а для останнього zenpower3. Тільки після встановлення цього драйвера ви зможете отримати таку інформацію як температура, частота, напруга...

    Якщо ви встановите його, то зможете отримувати деяку інформацію зі стандартним набором lm_sensors, але для повного функціонала краще встановити zenmonitor. Він також має дві версії і її потрібно вибирати залежно від драйвера. ZenMonitor підтримує графічний інтерфейс на базі Gtk 3 і текстовий zenmonitor-cli.

    І zenpower, і zenmonitor доступні для Arch Linux у репозиторію AUR і chaotic-aur.

    zenpower поширюється під ліцензією GNU GPLv2, а zenmonitor під GNU GPL.

    #cpu #amd #ryzen #zen #zen3 #zenpower #zenpower3 #zenmonitor #zenmonitor3 #linux #dkms #driver #sensors #lm_sensors #процесор #датчики #драйвер #температура #частота #напруга

  17. [Перевод] Xv6: учебная Unix-подобная ОС. Глава 5. Прерывания и драйверы устройств

    Драйвер управляет устройством - настраивает, отправляет команды, обрабатывает прерывания и общается с процессами, которые ожидают завершения ввода-вывода. Код драйвера зависит от конкретного устройства, поэтому изучайте документацию на устройство, чтобы понять код драйвера. Устройство прерывает процессор, когда требует внимания. Обработчик прерывания опознает устройство и вызовет процедуру драйвера. В xv6 это делает процедура devintr . Файл kernel/console.c содержит код драйвера терминала. Драйвер обрабатывает символы из последовательного порта UART на RISC-V, которые человек вводит на клавиатуре. QEMU эмулирует микросхему 16550 UART и подключает клавиатуру и экран к UART. На реальном компьютере 16550 управляет портом RS232 , который работает с терминалом или другим компьютером. Драйвер накапливает символы в кольцевом буфере cons.buf . Индекс cons.r указывает на первый символ, который прочтет функция consoleread . Буфер хранит строки символов, а индекс cons.w указывает на начало последней строки, которую еще вводит человек. Индекс cons.e указывает позицию курсора в последней строке для ввода следующего символа.

    habr.com/ru/articles/795735/

    #xv6 #прерывания #драйвер #операционная_система #асинхронность #вводвывод #uart #riscv #unix #терминал

  18. Структура драйвера Linux для одноплатного компьютера

    Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля . Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с учетом архитектуры Device Tree, которую использует современное ядро. В этой статье я опишу как я это сделал.

    habr.com/ru/articles/782858/

    #linux_kernel #драйвер #orange_pi #одноплатники_на_linux

Share on Mastodon

Enter the server where you have an account.