Програмування низкоуровневое - що це таке

Програмування низкоуровневое - що це таке

Низькорівневим програмуванням зазвичай називають програмування процесора або контролера, який безпосередньо пов'язаний своїми периферійними пристроями зі специфічною зовнішньою апаратурою (приладом). При цьому сама задача програмування тісно пов'язана з рівнем взаємодії з апаратурою, з пристроєм інтерфейсів вводу-виводу, тимчасовими діаграмами цих інтерфейсів і з фізичної завданням, які мають вирішуватися даної апаратурою. Як наслідок, низькорівневий програміст повинен не тільки володіти мовами, середовищами та методами програмування, не тільки володіти основами ЦГЗ. але також повинен мати певний технічний (інженерний) кругозір, щоб вміти (або бути розташованим, щоб) розібратися у фізичній завдання, що стоїть перед апаратурою.







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







Важливими джерелами інформації для низькорівневого програміста є: User's Мanual. Programming Manual. Data Sheet на процесор (контролер), а також Керівництво та Низькорівневе опис на апаратуру (прилад).

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

Дискусійним питанням (питанням про терміни) є питання: чи включати процес проектування на основі CPLD або FPGA (FPGA design) в поняття низкоуровневое програмування. З одного боку, FPGA design вимагає мов паралельного програмування для опису паралельних фізичних процесів (а фактично - опису цифрової електричної схеми), вимагає великої кількості фізичних прив'язок проекту FPGA до можливостей FPGA, до її тимчасовим фізичним характеристикам, вимагає опису засобами мови фізичних процесів на лініях і інтерфейси при верифікації проекту. З іншого боку, мови паралельного програмування активно вбирають, наприклад, напрацювання на мові Сі. Проекти FPGA можуть включати в себе процесори та контролери, які вимагають класичних інструментів низкоуровневого програмування.

Важливо відзначити, що в сучасних системах низкоуровневое програмування поділяється ще на цілий ряд підрівнів, як це описано в статті Рівні програмних і апаратних засобів.







Схожі статті