Перейти к содержанию

Програмирование микропроцессоров и микроконтроллеров


Рекомендуемые сообщения

Опубликовано (изменено)

На каких языках програмируются микропроцессоры и микроконтроллеры?

Посоветуйте пожалуйста книжку с доступным объяснением для чайника, как можно запрограмировать микроконтроллер?

 

Кстати, среди нас есть такие кодеры? Можете примерно описать процесс?

Изменено пользователем 4543
Опубликовано (изменено)

Как то программировал на Ассемблере контроллеры Mega 8 (или 16) - больше всего люблю работать со световыми эфектами, поэтому в основном программы были типа "бегущие огни", "стробоскоп"(насколько это позволяло на слишком инерционных светодиодах). В самом начале, тренировался на микроконтроллере 8051 (язык АСМ51), ящичек допотопный с цифровой клавиатурой. Есть немного литературы по программированию микроконтроллеров.

А что требуется от описания процесса?

Самое сложное(в зависимости от поставленной задачи) написать программу, а потом чтоб она ещё и заработала)) Программа-прошивальщик, ну и само железо.

Изменено пользователем Mr_Serj
Опубликовано
На каких языках програмируются микропроцессоры и микроконтроллеры?

Посоветуйте пожалуйста книжку с доступным объяснением для чайника, как можно запрограмировать микроконтроллер?

 

Кстати, среди нас есть такие кодеры? Можете примерно описать процесс?

Микропроцессор и микроконтроллер - разные вещи. Микроконтроллер - это грубо говоря микропроцессор + обвеска в одном корпусе (или на одном кристалле, есть термин "однокристальный микроконтроллер"). Штука это крайне полезная полезная, программируется на чем угодно - лишь бы это это что угодно позволяло скопилировать программу под заданный ОМК. Традиционно применяются два языка:

- ассемблер. Это классика, но сложная программа будет огромной и трудночитаемой - я в свою бытность писал такие для различных ОМК, программы выходили размером в десятки и сотни листов кода, такие вещи как операции с плавающей запятой там выглядят мягко говоря оригинально ... ASM дает полный контроль над микроконтроллером и абсолютно точное понимание, что, где и как происходит - с точностью до команды (это критически важно, когда требуется выжать максимум быстродействия, или втиснуть в 8 кб памяти ОМК сложную программу). После компиляции получаем бинарник, который прошиваем в FLASH память контроллера и все;

- C. Компилятор и среда разработки может быть родной и поставляться производителе мконтролера (или продаваться им - но чаще всего компилятор дается бесплатно, в чем и состоит его плюс), а может быть универсальным - типовой пример это известный пакет пакет Keil - не важно. Программа на C компилируется, причем нередко сначала в ASM, а потом в бинарник ...

Провинутые пакеты обязательно умеют эмулировать контролер, содержат интегрированные средства отладки и прошивки. Но в итоге в любом случае получаем бинарный образ того, что заливаем в память микроконтроллера посредством программатора. Большинство современных ОМК предусматривают возможность программирования и отладки "по месту", см. в поиске ключевое слово JTAG. Важно отметить, что многие ОМК содержат непривычные для обычного программиста вещи, например поддерживают возможность адресоваться к отдельным битам памяти…

При разработке ПО возможны всякие хитрые варианты, см. например технологию ARM Jazelle - она позволяет применять код на Java. Есть визуальные средства разработки, где по сути «рисуется» блок-схема алгоритма, а за кадром пишется программа на ASM или C. На более мощных и современных микроконтроллерах еще проще - туда можно поставить Linux, что в итоге дает много плюсов ...

Но это так, "объяснение на пальцах" - микроконтроллеров существует великое множество, различного назначения и различных производителей. И у каждого будет своя специфика …

  • Согласен 3

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...