Что включает в себя микроконтроллер
О микроконтроллерах
Около 55% проданных в мире процессоров приходится на 8ми битные микроконтроллеры. Более 4 млрд. 8ми битных микроконтроллеров продано в 2006. Они установлены в микроволновках, стиральных машинах, музыкальных центрах… При этом они являются однокристальными компьютерами, со своим процессором, памятью, портами ввода-вывода. В статье я постараюсь кратко объяснить что это за звери и как их приручают.
Тема обширная и скорее подходит для многотомной книги, если разбирать всё, поэтому в статье будут намеренные упрощения и опускание всяческих тонкостей. Прошу строго не судить, в этой теме я сам далеко не профессионал, да и это моя первая статья на хабре. Если запостил не в тот блог прошу переместить в нужный.
Микроконтроллер – это однокристальная ЭВМ. В 1971 придумали разместить всю обвязку процессора (ОЗУ, контроллеры портов, ПЗУ и т.д.) на одном чипе. В 1980 intel уже выпускает первый микроконтроллер. На сегодняшний момент на чипе микроконтроллера содержится процессор, flash память для программ, объемом 1К – 256K; 32 B — 8KB SRAM (ОЗУ); 64 B – 4KB EEPROM. Тактовая частота 1 – 16 Мгц. Конечно же цифры только примерные, всё зависит от производителя и модели. Таким образом микроконтроллер имеет гарвардскую архитектуру, т.е. раздельные памяти данных и программ.
Естественно без холивара не обошлось и тут. На рынке примерно по 30% занимают контроллеры разных производителей и архитектур. Старое семейство MCS-51 (8051), семейство PIC от фирмы microchip и семейство AVR от фирмы Atmel. Всяческие специализированные микроконтроллеры мы не рассматриваем. (Есть кстати даже наш, отечественный микроконтроллер КР1878ВЕ1 (An15E03) от фирмы Ангстрем, только для него пишут и на нем разрабатывают устройства военные и законченные гики, т.к. нет ни развитой поддержки, ни инструментария). На тех форумах, что я обитаю, подавляющим большинством используются микроконтроллеры фирмы atmel, поэтому дальнейшее повествование будет в основном о них. Глобально они от PIC и других не отличаются, различия лишь в параметрах (скорость, количество команд, памяти, наличие перефирии…).
Причины использования микроконтроллеров.
Несмотря на то, что микроконтроллер устройство довольно сложное, их использование значительно упрощает разработку электронных устройств. Аппаратные схемотехнические решения переносятся в плоскость программного кода. Реле в шкафу автоматики заменяется строкой на Си. Этим и достигается огромная гибкость, ведь большинство микроконтроллеров можно перепрошивать не вынимая из платы. Часы будильник с функцией включения нагрузки (например чайника) в заданное время может быть аппаратно абсолютно таким же, как например блок управления микроволновкой, только программы будут различаться. Именно из-за этого, когда производитель не может себе позволить разработать специализированную микросхему он задает всю логику работы виде программы и зашивает ее в микроконтроллер.
На чем программируется микроконтроллер?
Исторически основной язык – ассемблер. В частности КР1878ВЕ1 программируется только на ассемблере. Для других микроконтроллеров существую компиляторы для языка Си. Для atmelовских микроконтроллеров существует опенсорсный компилятор WinAVR (порт gcc). Также есть компилятор для бейсика Bascom AVR, и даже для языка Forth. Изначально архитектура микроконтроллеров AVR была оптимизирована для того, что бы программы написанные на Си выполнялись быстрее.
Рассмотрим на примере.
Давайте возьмем микроконтроллер ATMEGA8 и на его примере рассмотрим что он может.
За 28 руб. (опт) / 41 руб. (розн) мы получаем чип, который содержит в себе:
• 8 ми битный RISC процессор, 130 команд, большая часть из которых выполняется за 1 такт, 32 регистра общего назначения. Производительность до 16 MIPS при 16 Мгц.
• 8К flash памяти для программ, 512 байт EEPROM памяти, 1K SRAM
• Два 8ми битных и один 16 битный таймер (позволяют формировать импульсы заданной длительности/ подсчитывать импульсы автономно, не отвлекая CPU)
• 3 канала ШИМ
• 8ми канальный АЦП
• Аппаратный модуль Two Wire Interface (клон I2C)
• Модуль USART
• Аналоговый компаратор.
• 23 линии ввода/вывода
Подробно всё описано в даташите к этому микроконтроллеру: www.atmel.com/dyn/resources/prod_documents/doc2486.pdf (308 стр, англ.). Среди выпускаемых фирмой Atmel это не самый слабый и не самый крутой микроконтроллер.
Так как количество ножек у микросхемы ограничено, то практически все имеют по 2 функции, переключаемые программно.
Линии ввода-вывода объединены группами по 8 в порты, именуемые PORTA, PORTB и т.д. Управление портами и встроенной периферией производится путем записи и чтения данных из специальных регистров. Так например что бы выставить высокий логический уровень (+5 В) на третьей линии порта A нужно выставить третий бит в регистре PORTA вот так:
PORTA |= (1 ADCSRA |= (1
Работа с остальными модулями микроконтроллера (USART, TWI, таймеры) примерно такая же – выставить нужные биты, что бы их настроить, и забрать/записать данные в специальные регистры.
У микроконтроллера развитая система прерываний. Что бы не нагружать процессор постоянной проверкой состояния (завершилось ли преобразование АЦП, достиг ли счётчик таймера требуемого значения, поступил ли сигнал на порт) включаются прерывания на соответствующие события и пишутся обработчики прерывания.
Программа микроконтроллера представляет собой бесконечный цикл. Вот например программа которая будет мигать светодиодом, подключенным в 3 ноге порта A:
#include
void main (void)
<
while(1)
<
PORTA |= (1
Микроконтроллеры | Что такое микроконтроллер?
Микроконтроллеры уже практически полностью заполнили современный мир электроники. Поэтому каждый начинающий или опытный электронщик рано или поздно сталкивается с этими, на первый взгляд загадочными устройствами. По сути, микроконтроллер – это всего лишь кусок кремния в пластиковом корпусе с металлическими выводами, который самостоятельно не выполняет никаких функций. Однако он способен решать множество сложных задач с довольно высокой скоростью при наличии записанной («прошитой») в него программы. Поэтому нашей задачей является научиться писать программы для микроконтроллера, тем самым превращая его из куска кремния в кусок «золота».
Естественно возникают вопросы что такое микроконтроллер, с чего начинать его изучение, и на каком типе остановит свой выбор? На эти и другие вопросы мы найдем ответ далее. Сейчас же давайте посмотрим, как они могут выглядеть, и вкратце рассмотрим область применения и некоторые возможности микроконтроллеров.
Типы корпусов микроконтроллеров
Внешне микроконтроллеры ничем не отличаются от других микросхем. Кристаллы МК размещаются в стандартных корпусах, которые имеют строго определенное количество выводов. Микроконтроллеры изготавливаются в трех принципиально разных видах корпусов.
DIP корпус
К первому виду относится DIP корпус. Сокращенно от английского Dual In–Line Package – корпус с двумя рядами выводов. Расстояние между выводами составляет 0,1 дюйма, что равно 2,54 мм. Также подобные корпуса еще обозначают PDIP. Первая буква “Р” обозначает, что корпус пластиковый – Plastic. Микроконтроллеры в таком корпусе будем использовать и мы, поскольку такие МК легко устанавливаются на макетную плату, что значительно облегчает выполнять отладку.
SOIC корпус
Следующим, в порядке снижения габаритов, будет SOIC корпус. Его аббревиатура расшифровывается так: Small–Outline Integrated Circuit. Он используется при пайке поверхностным монтажом, т. е. выводы микросхемы припаиваются к контактным площадкам, расположенным на поверхности платы, а не вставляются в отверстия, как DIP корпус. Расстояние между у SOIC корпусов выводами в два раза меньше, чем в DIP и составляет 1,27 мм.
Рис. 2 – Микроконтроллер AT89C2051 в SOIC корпусе
QFP и TQFP корпуса
Еще меньшие габариты имеет тип корпуса QFP (Quad Flat Package) или TQFP (Thin Quad Flat Package) (рис. 3). Отличительной особенностью его является расположение выводов по всем четырем сторонам, а сам корпус имеет форму квадрата. Как и SOIC, TQFP предназначен для поверхностного монтажа. Расстояние между выводами в 3 раза меньше, чем в DIP корпусах.
QFN корпус
Наиболее экзотическим с точки зрения любительской практики является корпус QFN (Quad Flat No–leads). Такой корпус имеет наименьшие габариты среди всех рассмотренных корпусов. В качестве выводов здесь используются контакты, расстояние между которыми в 6 раз меньше, чем в DIP корпусах. По этой причине они редко применяются радиолюбителями. Одна в промышленности такие корпуса находят широкое применение, поскольку габариты готового электронного устройства можно снизить в десятки раз. На рис.4 наглядно видно различия в габаритах одного и того же микроконтроллера (ATmega8) в DIP и QFN корпусах.
Для сравнения микроконтроллеры в корпусах различных типов показаны на рис. 5. Мы же будем пользоваться микроконтроллерами исключительно в PID корпусах, по крайней мере, на начальных этапах программирования.
Рис. 5 – Микроконтроллеры в разных типах корпусов
Микроконтроллеры всюду окружают нас
Область применения МК с каждым днем все больше и больше расширяется. Они используются в самых различных устройствах: от музыкальной открытки до высокоскоростного электропоезда, самолета и ракеты. МК повсеместно применяются в бытовой технике: тостерах, микроволновых печах, кофеварках, холодильниках, стиральных машинах. Они широко внедрены в мобильных телефонах, планшетах, электронных часах, автомобилях, т. е. практически во всех электронных устройствах. И это не удивительно, ведь благодаря микроконтроллерам устройства становятся компактней, легче, надежней, дешевле; снижается их энергопотребление.
Отдельно следует заметить, что микроконтроллеры находят все большее применение в робототехнике, а именно в системах управления роботами, как самыми простыми, так и довольно сложными.
Основные возможности микроконтроллеров
Микроконтроллеры способны принимать сигналы, например с различных датчиков, кнопок или клавиатуры, обрабатывать их и выдавать управляющие сигналы, например для отображения информации на семисегментных индикаторах или жидкокристаллических дисплеях.
С помощью МК можно формировать очень точные временные интервалы благодаря наличию встроенных таймеров-счетчиков. Это позволяет создавать часы, таймеры, секундомеры и прочие устройства, где необходимо учитывать отрезки времени.
Также МК применяются для подсчета импульсов, что дает возможность сосчитать количество срабатываний какого-либо устройства. Например, можно подсчитать количество срабатываний реле с целью контроля или автоматизации определенного процесса.
Если подсчитать количество импульсов за единицу времени, то мы получим частотомер.
Наличие встроенного устройства широтно-импульсной модуляции (ШИМ) позволяет управлять частотой вращения вала двигателя.
Многие микроконтроллеры имеют в своем кристалле аналогово-цифровые преобразователи, с помощью которых можно создавать различные измерительные устройства, такие как вольтметры, амперметры, омметры, измерители емкости и т. п.
Еще микроконтроллеры могут обмениваться данными между компьютером и другим МК. Для этого практически в любом МК имеется встроенный один или несколько интерфейсов передачи данных: USART, SPI, CAN, USB и др.
Также в МК встроены и другие функциональные узлы, такие как различные прерывания, сторожевые таймеры и прочее другое. Однако я надеюсь, что даже перечисленных функций и возможностей микроконтроллеров вас заинтересует и вдохновит на их дальнейшее изучение.
В чем отличие микроконтроллера от микропроцессора?
Часто микроконтроллер называют микропроцессором, однако, это не совсем так. Микропроцессор выполняет лишь ряд арифметических и логических операций. Микроконтроллер же содержит в себе микропроцессор и другие функциональные узлы, такие как порты ввода-вывода, память аналогово-цифровые преобразователи, ШИМ и прочее. В общем случае микроконтроллер является аналогом материнской платой компьютера, на которой расположены все устройства, в том числе и центральный процессор. А микропроцессор – это всего лишь отдельный элемент, обладающий высокой вычислительной мощностью.
Какой тип микроконтроллера выбрать для начального изучения?
Для того, что бы освоить программирование микроконтроллеров на достаточно хорошем уровне, сначала необходимо научится программировать какой-то один тип микроконтроллеров и изучить все его возможности. Тогда гораздо проще будет освоить и другие типы МК.
К основным критериям выбора МК относится:
– доступность, т. е. МК можно легко купить в любом радиомагазине;
– низкая стоимость. Здесь все понятно;
– наличие подробной технической документации;
– бесплатное программное обеспечение;
– наличие литературы и достаточного количества примеров по выбранному типу МК.
Последний пункт я выделяю как наиболее важный. Поскольку только при наличии множества наглядных и интересных примеров можно хорошо освоить программирование микроконтроллеров не теряя интерес к данному занятию, что очень важно при длительном изучении МК.
На мой взгляд, и по личному опыту всем названным критериям отвечает микроконтроллер ATmega8 компании Atmel. Его мы и возьмем за основу.
Микроконтроллер
СОДЕРЖАНИЕ
История [ править ]
Фон [ править ]
Развитие [ править ]
Большинство микроконтроллеров в то время имели параллельные варианты. У одного была программная память EPROM с прозрачным кварцевым окном в крышке упаковки, позволяющим стирать данные под воздействием ультрафиолетового света. Эти стираемые чипы часто использовались для создания прототипов. Другой вариант представлял собой ПЗУ с программированием по маске или ППЗУ.вариант, который можно было программировать только один раз. Для последнего иногда использовалось обозначение OTP, что означает «одноразовый программируемый». В микроконтроллере OTP PROM обычно был того же типа, что и EPROM, но в корпусе микросхемы не было кварцевого окна; поскольку не было возможности подвергнуть EPROM воздействию ультрафиолетового света, его нельзя было стереть. Поскольку стираемые версии требовали керамических корпусов с кварцевыми окнами, они были значительно дороже, чем версии OTP, которые могли быть изготовлены в более дешевых непрозрачных пластиковых корпусах. Для стираемых вариантов требовался кварц, а не менее дорогое стекло, из-за его прозрачности для ультрафиолетового света, для которого стекло в значительной степени непрозрачно, но основным отличием в стоимости был сам керамический корпус.
В настоящее время микроконтроллеры дешевы и легко доступны для любителей, с большими онлайн-сообществами вокруг определенных процессоров.
Объем и стоимость [ править ]
В 2002 году около 55% всех проданных в мире процессоров составляли 8-битные микроконтроллеры и микропроцессоры. [12]
В 1997 году было продано более двух миллиардов 8-битных микроконтроллеров [13], и, по данным Semico, в 2006 году было продано более четырех миллиардов 8-битных микроконтроллеров. [14] Совсем недавно Semico заявила, что рынок микроконтроллеров вырос на 36,5% в 2010 году и 12% в 2011 году. [15]
В типичном доме в развитой стране, скорее всего, будет всего четыре микропроцессора общего назначения и около трех десятков микроконтроллеров. Типичный автомобиль среднего класса имеет около 30 микроконтроллеров. Их также можно найти во многих электрических устройствах, таких как стиральные машины, микроволновые печи и телефоны.
Исторически 8-битный сегмент доминировал на рынке микроконтроллеров [..] 16-битные микроконтроллеры стали крупнейшей категорией микроконтроллеров в 2011 году, впервые обогнав 8-битные устройства [..] IC Insights полагает, что состав микроконтроллеров Рынок микроконтроллеров претерпит существенные изменения в следующие пять лет, и 32-разрядные устройства будут постепенно увеличивать долю продаж и объемов продаж. К 2017 году ожидается, что на 32-битные микроконтроллеры будет приходиться 55% продаж микроконтроллеров [..] Что касается единичных объемов, ожидается, что 32-битные микроконтроллеры составят 38% поставок микроконтроллеров в 2017 году, в то время как 16-битные устройства будут представлять По прогнозам, 34% от общего числа, а 4- / 8-битные конструкции составят 28% проданных единиц в этом году.Ожидается, что рынок 32-битных микроконтроллеров будет быстро расти из-за растущего спроса на более высокие уровни точности во встроенных системах обработки и роста возможностей подключения через Интернет. [..] Ожидается, что в ближайшие несколько лет на сложные 32-битные микроконтроллеры будет приходиться более 25% вычислительной мощности транспортных средств.
В 2012 году мировые продажи 8-битных микроконтроллеров составили около 4 миллиардов долларов, в то время как 4-битные микроконтроллеры также продемонстрировали значительные продажи. [18]
В 2015 году 8-битные микроконтроллеры можно было купить за 0,311 доллара (1000 единиц) [19], 16-битные за 0,385 доллара (1000 единиц) [20] и 32-битные за 0,378 доллара (1000 единиц, но по 0,35 доллара за 5000). [21]
В 2018 году указанные выше недорогие микроконтроллеры 2015 года будут все дороже (с учетом инфляции, рассчитанной между ценами 2018 и 2015 для этих конкретных устройств): 8-битный микроконтроллер можно купить за 0,319 доллара США (1000 единиц) или на 2,6% выше, [19] 16-битный за 0,464 доллара (1000 единиц) или на 21% больше, [20] и 32-битный за 0,503 доллара (1000 единиц, но по 0,466 доллара за 5000) или на 33% больше. [21]
Самый маленький компьютер [ править ]
Встроенный дизайн [ править ]
Прерывания [ править ]
Микроконтроллеры должны в реальном времени (предсказуемо, но не обязательно быстро) реагировать на события во встроенной системе, которую они контролируют. Когда происходят определенные события, система прерывания может сигнализировать процессору, чтобы он приостановил обработку текущей последовательности команд и начал процедуру обслуживания прерывания.(ISR, или «обработчик прерывания»), который будет выполнять любую необходимую обработку в зависимости от источника прерывания перед возвратом к исходной последовательности команд. Возможные источники прерывания зависят от устройства и часто включают в себя такие события, как переполнение внутреннего таймера, завершение аналого-цифрового преобразования, изменение логического уровня на входе, например, при нажатии кнопки, и данные, полученные по каналу связи. Там, где потребление энергии важно, например, в аккумуляторных устройствах, прерывания могут также вывести микроконтроллер из состояния сна с низким энергопотреблением, когда процессор останавливается до тех пор, пока периферийное событие не потребует каких-либо действий.
Программы [ править ]
Производители часто выпускают специальные версии своих микроконтроллеров, чтобы помочь при разработке аппаратного и программного обеспечения целевой системы. Первоначально они включали версии EPROM, которые имеют «окно» в верхней части устройства, через которое память программ может быть стерта ультрафиолетовым светом, готовая к перепрограммированию после программирования («прожига») и цикла тестирования. С 1998 года версии EPROM редки и были заменены EEPROM и flash, которые проще в использовании (можно стереть электронным способом) и дешевле в производстве.
Могут быть доступны другие версии, где доступ к ПЗУ осуществляется как к внешнему устройству, а не как к внутренней памяти, однако они становятся редкостью из-за широкой доступности дешевых программаторов микроконтроллеров.
Использование программируемых на месте устройств на микроконтроллере может позволить обновлять микропрограммное обеспечение на месте или допускать поздние заводские изменения продуктов, которые были собраны, но еще не отгружены. Программируемая память также сокращает время, необходимое для развертывания нового продукта.
Там, где требуются сотни тысяч идентичных устройств, использование деталей, запрограммированных во время производства, может быть экономичным. Эти « запрограммированные по маске » части имеют программу, заложенную таким же образом, как и логика микросхемы, в то же время.
Другие особенности микроконтроллера [ править ]
Микроконтроллеры обычно содержат от нескольких до десятков контактов ввода / вывода общего назначения (GPIO). Контакты GPIO программно конфигурируются либо на входное, либо на выходное состояние. Когда контакты GPIO настроены на входное состояние, они часто используются для чтения датчиков или внешних сигналов. Настроенные на выходное состояние, контакты GPIO могут управлять внешними устройствами, такими как светодиоды или двигатели, часто косвенно, через внешнюю силовую электронику.
Многим встроенным системам необходимо считывать датчики, вырабатывающие аналоговые сигналы. Это назначение аналого-цифрового преобразователя (АЦП). Поскольку процессоры созданы для интерпретации и обработки цифровых данных, то есть единиц и нулей, они не могут ничего делать с аналоговыми сигналами, которые могут быть посланы ему устройством. Таким образом, аналого-цифровой преобразователь используется для преобразования входящих данных в форму, которую может распознать процессор. Менее распространенной функцией некоторых микроконтроллеров является цифро-аналоговый преобразователь (ЦАП), который позволяет процессору выводить аналоговые сигналы или уровни напряжения.
Помимо преобразователей, многие встроенные микропроцессоры также включают в себя множество таймеров. Одним из наиболее распространенных типов таймеров является программируемый интервальный таймер (PIT). PIT может либо отсчитывать от некоторого значения до нуля, либо до емкости счетного регистра, переполняясь до нуля. Когда он достигает нуля, он отправляет прерывание процессору, указывая, что он закончил подсчет. Это полезно для таких устройств, как термостаты, которые периодически проверяют температуру вокруг себя, чтобы узнать, нужно ли включать кондиционер, обогреватель и т. Д.
Высшая интеграция [ править ]
Микроконтроллеры могут не реализовывать внешний адрес или шину данных, поскольку они объединяют ОЗУ и энергонезависимую память на той же микросхеме, что и ЦП. Используя меньшее количество контактов, микросхему можно поместить в гораздо меньший и более дешевый корпус.
Интеграция памяти и других периферийных устройств в один чип и их тестирование как единое целое увеличивает стоимость этого чипа, но часто приводит к снижению чистой стоимости встроенной системы в целом. Даже если стоимость ЦП со встроенными периферийными устройствами немного превышает стоимость ЦП и внешних периферийных устройств, меньшее количество микросхем обычно позволяет использовать меньшую и более дешевую печатную плату и сокращает трудозатраты, необходимые для сборки и тестирования печатной платы. в дополнение к стремлению снизить уровень брака в готовой сборке.
Микроконтроллеры оказались очень популярными во встроенных системах с момента их появления в 1970-х годах.
Некоторые микроконтроллеры используют гарвардскую архитектуру : отдельные шины памяти для инструкций и данных, позволяющие осуществлять доступ одновременно. Если используется гарвардская архитектура, командные слова для процессора могут иметь размер в битах, отличный от длины внутренней памяти и регистров; например: 12-битные инструкции, используемые с 8-битными регистрами данных.
Часто бывает сложно решить, какое периферийное устройство интегрировать. Производители микроконтроллеров часто жертвуют рабочими частотами и гибкостью системной конструкции в соответствии со сроками вывода на рынок со стороны своих клиентов и общей более низкой стоимостью системы. Производители должны найти баланс между минимизацией размера микросхемы и дополнительной функциональностью.
Архитектуры микроконтроллеров сильно различаются. Некоторые конструкции включают ядра микропроцессоров общего назначения с одной или несколькими функциями ПЗУ, ОЗУ или ввода-вывода, интегрированными в корпус. Другие конструкции специально созданы для приложений управления. Набор инструкций микроконтроллера обычно содержит множество инструкций, предназначенных для битовых манипуляций (побитовых операций), чтобы сделать управляющие программы более компактными. [31] Например, универсальному процессору может потребоваться несколько инструкций для проверки бита в регистре и перехода, если бит установлен, тогда как микроконтроллер может иметь одну инструкцию для обеспечения этой обычно необходимой функции.
Среды программирования [ править ]
Типы [ править ]
По состоянию на 2008 год [Обновить] существует несколько десятков архитектур и производителей микроконтроллеров, в том числе:
Существует множество других, некоторые из которых используются в очень узком диапазоне приложений или больше похожи на процессоры приложений, чем на микроконтроллеры. Рынок микроконтроллеров чрезвычайно фрагментирован, с многочисленными поставщиками, технологиями и рынками. Обратите внимание, что многие поставщики продают или продали несколько архитектур.
Задержка прерывания [ править ]
В отличие от компьютеров общего назначения, микроконтроллеры, используемые во встроенных системах, часто стремятся оптимизировать задержку прерывания по сравнению с пропускной способностью команд. Проблемы включают как уменьшение задержки, так и ее более предсказуемость (для поддержки управления в реальном времени).
Другие факторы, влияющие на задержку прерывания, включают:
Микроконтроллеры более низкого уровня, как правило, поддерживают меньшее количество элементов управления задержкой прерывания, чем микроконтроллеры более высокого уровня.
Технология памяти [ править ]
С микроконтроллерами обычно используются два разных типа памяти: энергонезависимая память для хранения микропрограмм и память чтения-записи для временных данных.
Данные [ редактировать ]
Помимо SRAM, некоторые микроконтроллеры также имеют внутреннюю EEPROM для хранения данных; и даже те, у которых их нет (или их недостаточно), часто подключаются к внешней микросхеме последовательной EEPROM (такой как BASIC Stamp ) или внешней микросхеме последовательной флэш-памяти.
Некоторые микроконтроллеры, начиная с 2003 г., имеют «самопрограммируемую» флэш-память. [11]
Прошивка [ править ]
Motorola MC68HC805 [10] был первым микроконтроллером, использующим EEPROM для хранения прошивки. Микроконтроллеры EEPROM стали более популярными в 1993 году, когда Microchip представила PIC16C84 [9], а Atmel представила микроконтроллер с ядром 8051, который первым использовал флэш-память NOR для хранения прошивки. [11] Сегодняшние микроконтроллеры почти исключительно используют флэш-память, в некоторых моделях используется FRAM, а в некоторых сверхдорогих компонентах все еще используется OTP или Mask-ROM.