Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Низкоуровневым программированием обычно называют программирование процессора или контроллера, который непосредственно связан своими периферийными устройствами со специфической внешней аппаратурой (прибором). При этом сама задача программирования тесно связана с уровнем взаимодействия с аппаратурой, с устройством интерфейсов ввода-вывода, временными диаграммами этих интерфейсов и с физической задачей, которая должна решаться данной аппаратурой. Как следствие, низкоуровневый программист должен не только владеть языками, средами и методами программирования, не только владеть основами ЦОС, но также должен иметь определённый технический (инженерный) кругозор, чтобы уметь (или быть расположенным, чтобы) разобраться в физической задаче, стоящей перед аппаратурой.
Языком низкоуровневого программирования традиционно считался язык ассемблера (специфический для каждой архитектуры). В наши дни для низкоуровневых задач широко применяется язык высокого уровня Си, который поддерживается большинством сред разработок современных процессоров (контроллеров).
Важными источниками информации для низкоуровневого программиста являются: User's Мanual, Programming Manual, Data Sheet на процессор (контроллер), а также Руководство и Низкоуровневое описание на аппаратуру (прибор).
Для низкоуровневого программиста важными вспомогательными возможностями при отладке ПО являются: внутрисхемные отладчики (например, подключаемые через интерфейс JTAG), свободные порты и интерфейсы ввода-вывода процессора (контроллера), индикаторы и органы управления прибора. Навык обращения с осциллографом, безусловно, пригодится такому программисту.
Дискуссионным вопросом (вопросом о терминах) является вопрос: включать ли процесс проектирования на основе CPLD или FPGA (FPGA design) в понятие низкоуровневое программирование? С одной стороны, FPGA design требует языков параллельного программирования для описания параллельных физических процессов (а фактически – описания цифровой электрической схемы), требует большого количества физических привязок проекта FPGA к возможностям FPGA, к её временны́м физическим характеристикам, требует описания средствами языка физических процессов на линиях и интерфейсах при верификации проекта. С другой стороны, языки параллельного программирования активно впитывают, например, наработки на языке Си. Проекты FPGA могут включать в себя процессоры и контроллеры, которые требуют классических инструментов низкоуровневого программирования.
Важно отметить, что в современных системах низкоуровневое программирование разделяется ещё на целый ряд подуровней, как это описано в статье Уровни программных и аппаратных средств.
Перейти к другим терминам | Cтатья создана: | 08.07.2014 |
О разделе "Терминология" | Последняя редакция: | 25.08.2019 |
Системы сбора данных, представленные ниже, предоставляют возможность пользовательского низкоуровневого программирования сигнального процессора или контроллера.
Модуль АЦП/ЦАП
16/32 каналов, 14 бит, 400 кГц, USB
Модуль АЦП/ЦАП
16/32 каналов, 16 бит, 2 МГц, USB, Ethernet
Плата АЦП/ЦАП
16/32 каналов, 16 бит, 2 МГц, PCI Express
Модуль АЦП/ЦАП
8 каналов, 12 бит, 120 кГц, USB
Крейт на 8 модулей
Крейт на 16 модулей
Крейт на 2 модуля
Плата АЦП/ЦАП
16/32 каналов, 14 бит, 400 кГц, PCI
Плата АЦП/ЦАП
16/32 каналов, 12 бит, 3 МГц, PCI
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск