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

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


4543

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

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

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

 

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

Изменено пользователем 4543
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

Изменено пользователем Mr_Serj
Ссылка на комментарий
Поделиться на другие сайты

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

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

 

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

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

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

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

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

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

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

  • Согласен 3
Ссылка на комментарий
Поделиться на другие сайты

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

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



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