ВИКОРИСТАННЯ МОВ ПРОГРАМУВАННЯ В МІКРОКОНТРОЛЕРАХ
Незважаючи на те, що на відміну від мов високого рівня написання і налагодження програми на мові асемблера займає багато часу, мова асемблера набув широкого поширення в силу наступних обставин:
- • складена на ньому програма має значно менші розміри і працює набагато швидше, ніж програма, написана на мові високого рівня. Для деяких додатків ці показники відіграють першорядну роль;
- • деяким процедурам потрібен повний доступ до апаратного забезпечення, що зазвичай неможливо здійснити на мові високого рівня. Цей випадок відносяться переривання і обробники переривань в операційних системах, а також контролери пристроїв у вбудованих системах, що працюють в режимі реального часу.
Мови високого рівня характеризуються рядом показників, реалізація яких у вбудованих мікроконтролерах може виявитися проблематичною, що обумовлено обмеженим обсягом пам'яті програм (ПЗУ - ROM) і даних (ОЗУ RAM); відсутністю BIOS або операційної системи; наявністю переобумовлених висновків контролерів (коли висновок може використовуватися як цифровий / аналоговий / послідовний вхід-вихід).
Використання мов високого рівня для програмування мікроконтролерів обумовлено наступними причинами:
- • існує безліч алгоритмів і готових програм на мовах високого рівня, які можна безпосередньо вставити в розроблювану прикладну програму. Якщо виникає необхідність перенесення програм на інші мікроконтролери, то таке перенесення виконується набагато простіше, ніж перенесення програм на асемблері;
- • при програмуванні на мовах високого рівня є ряд можливостей, якими не володіють асемблери. Наприклад, розробник може автоматично вводити в програму коди складних операцій, проводити ефективний контроль синтаксичних помилок і ін. Тому складання програм на мовах високого рівня вимагає менших витрат;
- • при розробці програм на мові високого рівня значно спрощується підтримка додатки, пов'язана з модифікацією і налагодженням програмного коду.
У більшості програм лише незначний відсоток всього коду відповідає за великий відсоток часу виконання програми. Зазвичай 1% програми відповідає за 50% часу виконання, а 10% - за 90% часу виконання. Такі ділянки програм пишуть на мові асемблера, а решта - на мовах високого рівня. До найбільш поширених мов відносяться C / C ++, BASIC і Forth. За допомогою компіляторів мови високого рівня перетворюються в мову асемблера, а потім в об'єктний код (біти і байти), який виконується мікро контролером. Є безліч компіляторів, розроблених для різних мікроконтролерів. Їх ефективність визначається необхідним обсягом пам'яті програм і даних, а також ресурсами, необхідними для підтримки об'єктного коду
Таким чином, для написання конкретної програми в реальних умовах використовується як асемблер, так і один з мов високого рівня.