Низкоуровневое программирование 

Под низкоуровневым программированием мы понимаем разработку самого нижнего слоя программного обеспечения, работающего непосредственно с регистрами, областями памяти и портами оборудования. Как правило, основная функция данного слоя — это приведение слабо структурированных, разнородных данных, «зашифрованных» в битовых полях регистров к унифицированному уровню абстракции, с которыми работают вышележащие слои ПО.

К основным особенностям низкоуровневого программирования можно отнести следующее:

  • необходимость работы с регистрами и портами устройств по заданным временным диаграммам, принимая во внимание те или иные ограничения аппаратуры;
  • необходимость преобразования «сырых», слабо структурированных данных, битовых полей в унифицированные сущности, что приводит к обилию в программном коде логических операций, сдвигов, всевозможной работы с масками и так далее;
  • необходимость синхронизации асинхронных процессов, происходящих в устройстве с асинхронными процессами низкоуровневого ПО, путем использования механизмов прерываний, поллинга и других;
  • требование гарантированно предоставлять или получать данные в жестко обусловленные интервалы времени из-за риска их потери.

И наконец низкоуровневый слой должен быть реализован максимально эффективно, поскольку он часто определяет глобальную производительность системы, являясь тем самым «игольным ушком», через который проходит весь объем обрабатываемой информации.

Группа разработчиков RTS-Soft, имеет в своем составе высококвалифицированных инженеров и программистов, обладающих глубокими знаниями аппаратно-программной архитектуры, а также стендами, необходимыми для проведения разного рода исследовательских работ с оборудованием. Мы имеем опыт создания специализированных многозадачных программ, работающих с компьютером без прослойки операционной системы, таких, как разного рода начальных загрузчиков ПО, работающего с MMU в защищенном режиме процессора, драйверов и так далее.

В области разработки драйверов RTS-Soft специализируется на разработке драйверов для операционных систем Linux и QNX. В числе наших готовых разработок — набор драйверов для плат сбора данных производства фирмы Advantech, Fastwel, драйверы для скоростных мультипортовых плат на базе чипсета 16950.

Специально для разработки драйверов плат сбора данных для операционной системы QNX, компанией RTS-Soft была создана интегрированная среда разработки DWizard, позволяющая автоматизировать процесс создания и отладки драйвера.

Мы всегда готовы предложить клиентам, как готовые решения, так и оказать услуги по разработке или проконсультировать по возникшим вопросам.