Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


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

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

Низкоуровневым программированием обычно называют программирование процессора или контроллера, который непосредственно связан своими периферийными устройствами со специфической внешней аппаратурой (прибором). При этом сама задача программирования тесно связана с уровнем взаимодействия с аппаратурой, с устройством интерфейсов ввода-вывода, временными диаграммами этих интерфейсов и с физической задачей, которая должна решаться данной аппаратурой. Как следствие, низкоуровневый программист должен не только владеть языками, средами и методами программирования, не только владеть основами ЦОС, но также должен иметь определённый технический (инженерный) кругозор, чтобы уметь (или быть расположенным, чтобы) разобраться в физической задаче, стоящей перед аппаратурой.

Языком низкоуровневого программирования традиционно считался язык ассемблера (специфический для каждой архитектуры). В наши дни для низкоуровневых задач широко применяется язык высокого уровня Си, который поддерживается большинством сред разработок современных процессоров (контроллеров).

Важными источниками информации для низкоуровневого программиста являются: User's Мanual, Programming ManualData Sheet на процессор (контроллер), а также Руководство и Низкоуровневое описание на аппаратуру (прибор).

Для низкоуровневого программиста важными вспомогательными возможностями при отладке ПО являются: внутрисхемные отладчики (например, подключаемые через интерфейс JTAG), свободные порты и интерфейсы ввода-вывода процессора (контроллера), индикаторы и органы управления прибора. Навык обращения с осциллографом, безусловно, пригодится такому программисту.

Дискуссионным вопросом (вопросом о терминах) является вопрос: включать ли процесс проектирования на основе CPLD или FPGA (FPGA design) в понятие низкоуровневое программирование? С одной стороны, FPGA design требует языков параллельного программирования для описания параллельных физических процессов (а фактически – описания цифровой электрической схемы), требует большого количества физических привязок проекта FPGA к возможностям FPGA, к её временны́м физическим характеристикам, требует описания средствами языка физических процессов на линиях и интерфейсах при верификации проекта. С другой стороны, языки параллельного программирования активно впитывают, например, наработки на языке Си. Проекты FPGA могут включать в себя процессоры и контроллеры, которые требуют классических  инструментов низкоуровневого программирования.

Важно отметить, что в современных системах низкоуровневое программирование разделяется ещё на целый ряд подуровней, как это описано в статье Уровни программных и аппаратных средств.

 

 

Перейти к другим терминам       Cтатья создана:08.07.2014
О разделе "Терминология"      Последняя редакция:25.08.2019

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4

Многоканальный телефон: +7 (495) 785-95-25

Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Мы работаем с юридическими и физическими лицами, пожалуйста, прикладывайте реквизиты при оформлении заказа
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск