Инструменты пользователя

Инструменты сайта


igor:programmirovanie_shkolnikam

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версияСледующая версия справа и слева
igor:programmirovanie_shkolnikam [2019/02/08 17:39] – [Программная совместимость и архитектурные классы (аппаратные платформы) компьютеров] igorigor:programmirovanie_shkolnikam [2019/02/08 19:01] – [Программная совместимость и архитектурные классы (аппаратные платформы) компьютеров] igor
Строка 234: Строка 234:
 Многие считают AVR идеальной "учебной партой" для начинающих программистов. Такой взгляд имеет место быть, однако есть и аргументы "против". Микроконтроллер, в отличие от "большого" компьютера, не работает сам по себе: к нему подключается какая-то периферия, и для программирования желательно (читаем: необходимо) понимание устройства и работы этой периферии. Если мы делаем какие-то игрушки-самоделки, то нужно разбираться в электротехнике (хотя бы на уровне закона Ома), понимать принцип работы светодиодов, электродвигателей (простых и шаговых)... Не обойтись и без некоторых навыков радиомонтажа. Программист промышленных контроллеров работает обычно не один, а в команде, и может себе позволить этого всего не знать или знать поверхностно, но в промышленности на такие машины часто возлагаются задачи, для решения которых нужен серьезный математический аппарат: дифференциальное и интегральное исчисление, векторная алгебра и аналитическая геометрия... Это наука не школьного, а скорее университетского уровня. \\ Многие считают AVR идеальной "учебной партой" для начинающих программистов. Такой взгляд имеет место быть, однако есть и аргументы "против". Микроконтроллер, в отличие от "большого" компьютера, не работает сам по себе: к нему подключается какая-то периферия, и для программирования желательно (читаем: необходимо) понимание устройства и работы этой периферии. Если мы делаем какие-то игрушки-самоделки, то нужно разбираться в электротехнике (хотя бы на уровне закона Ома), понимать принцип работы светодиодов, электродвигателей (простых и шаговых)... Не обойтись и без некоторых навыков радиомонтажа. Программист промышленных контроллеров работает обычно не один, а в команде, и может себе позволить этого всего не знать или знать поверхностно, но в промышленности на такие машины часто возлагаются задачи, для решения которых нужен серьезный математический аппарат: дифференциальное и интегральное исчисление, векторная алгебра и аналитическая геометрия... Это наука не школьного, а скорее университетского уровня. \\
 И еще. Микроконтроллеры часто вообще не имеют средств отображения информации (мониторов и т. д.), что может существенно затруднить поиск ошибок в программах (отладку программ). В общем, микроконтроллеры не так просты, какими хотят казаться. \\ И еще. Микроконтроллеры часто вообще не имеют средств отображения информации (мониторов и т. д.), что может существенно затруднить поиск ошибок в программах (отладку программ). В общем, микроконтроллеры не так просты, какими хотят казаться. \\
-На мой субъективный взгляд, важнейшая привлекательная черта маломощных микроконтроллеров - это их простота, позволяющая нам за сравнительно небольшое время разобраться во всем их устройстве, так сказать, "до дна" (что совершенно немыслимо для более сложных процессоров, например для AMD64). Кроме того, эти машинки не терпят упрощенческого, наплевательского подхода к программированию. Да, мигать светодиодом с помощью такого микроконтроллера можно научиться за полчаса, но более сложная программа, сделанная наспех, без должной подготовки, без тщательного изучения предмета, может просто "не пойти", тогда как более мощные машины это прощают. \\ +На мой субъективный взгляд, важнейшая привлекательная черта маломощных микроконтроллеров - это их простота, позволяющая нам за сравнительно небольшое время разобраться во всем их устройстве, так сказать, "до дна" (что совершенно немыслимо для более сложных процессоров, например для AMD64). Кроме того, эти машинки не терпят упрощенческого, наплевательского подхода к программированию. Да, мигать светодиодом с помощью такого микроконтроллера можно научиться за полчаса, но более сложная программа, сделанная наспех, без должной подготовки, без тщательного изучения предмета, может просто "не пойти", тогда как более мощные машины это прощают. Самый же весомый аргумент "ЗА" AVR для начинающих программистов: по этим машинкам имеется множество книг, в том числе написанных именно как пособия для изучения с нуля. Причем многие книги доступны для скачивания в интернете. \\
-Самый весомый аргумент "ЗА" AVR как школьную парту для начинающих программистов: по этим машинкам имеется множество книг, в том числе написанных именно как пособия для изучения с нуля. Причем многие книги доступны для скачивания в интернете. \\+
 === PIC === === PIC ===
-Это Peripheral Interface Components - очень неудачное название микроконтроллеров от американский фирмы "Микрочип": название не только не дает представления о каких-либо особенностях изделий, но и дезинформирует нас о том, что вообще эти изднлия собой представляют. Еще хуже то, что разных PICов очень много, и сколько-нибудь единого семейства они не образуют. PIC10 и PIC12 совсем примитивны и для нас едва ли интересны. PIC16 и PIC18 - вот самое то, что нам нужно: простые восьмиразрядные микроконтроллеры, по совокупности характеристик близкие к ATtiny, отличающиеся тем, что не имеют внутрипроцессорных регистров (да не очень-то они и нужны, поскольку имеется быстродействующая оперативная Storage-on-Chip). Кстати PIC18 имеют и EEPROM. \\+Это Peripheral Interface Components - очень неудачное название микроконтроллеров от американский фирмы "Микрочип": название не только не дает представления о каких-либо особенностях изделий, но и дезинформирует нас о том, что вообще эти изделия собой представляют. Еще хуже то, что разных PICов очень много, и сколько-нибудь единого семейства они не образуют. PIC10 и PIC12 совсем примитивны и для нас едва ли интересны. PIC16 и PIC18 - вот самое то, что нам нужно: простые восьмиразрядные микроконтроллеры, по совокупности характеристик близкие к ATtiny, отличающиеся тем, что не имеют внутрипроцессорных регистров (да не очень-то они и нужны, поскольку имеется быстродействующая оперативная Storage-on-Chip). Кстати PIC18 имеют и EEPROM. Подобно ATtiny, эти микроконтроллеры не владеют операциями умножения и деления. \\
 Если AVR сравнивать с "Жигулями", то PIC16 и PIC18 будут нашими "Запорожцами". Как учебная парта для первоклашек-промакашек пики едва ли не более удачны, чем AVR, но по ним мало толковых книг - почему-то все авторы предпочитают писать про AVR. \\ Если AVR сравнивать с "Жигулями", то PIC16 и PIC18 будут нашими "Запорожцами". Как учебная парта для первоклашек-промакашек пики едва ли не более удачны, чем AVR, но по ним мало толковых книг - почему-то все авторы предпочитают писать про AVR. \\
-Микроконтроллеры PIC24 - шстнадцатиразрядные, а PIC32 - 32-разрядные. Они в нашем гараже займут место "Волг" и "Газелей". \\+Микроконтроллеры PIC24 - шестнадцатиразрядные, а PIC32 - 32-разрядные. Они в нашем гараже займут место "Волг" и "Газелей". \\
 === MCS51 === === MCS51 ===
-Это самое старое семейство восьмиразрядных микроконтроллеров, выпускаемое несколькими фирмами в разных странах мира практически с 1980-го года и с тех пор не потерявшее популярности. Эти машинки будут нашими "Москвичами": по скорости и грузоподъемности они близки к "Жигулям" и "Волгам", но имеют более архаичную архитектуру. В отличие от AVR и PIC, которые построены по принципу RISC, MCS51 имеют довольно сложную систему команд, близкую к тем, которые типичны для больших компьютеров. Если уместно говорить о скорости и грузоподъемности, то скажем так: эти машины отличаются тем, что хорошо ходят с "прицепом" - с внешней оперативной памятью, емкость  +Это самое старое семейство восьмиразрядных микроконтроллеров, выпускаемое несколькими фирмами в разных странах мира практически с 1980-го года и с тех пор не потерявшее популярности. Эти машинки будут нашими "Москвичами": по скорости и грузоподъемности они близки к "Жигулям" и "Волгам", но имеют несколько устаревшую архитектуру. В отличие от AVR и PIC, которые построены по принципу RISC, MCS51 имеют довольно сложную систему команд, близкую к тем, которые типичны для больших компьютеров. В частности, в "51-м семействе" имеется операция деления (ну и умножения, конечно, тоже). Если уместно говорить о скорости и грузоподъемности, то скажем так: эти машины отличаются тем, что хорошо ходят с "прицепом" - с внешней оперативной памятью, емкость которой несложно довести до 64Кбайт, и такую же величину может иметь флэш-память для программ. За много лет существования этого семейства написано немало книг, причем во всех рассматривается программирование только на языке ассемблера. Кого-то из моих читателей это может отпугнуть, я же, наоборот, рассматриваю это как преимущество. \\
-которой несложно довести до 64Кбайт, и такую же величину может иметь флэш-память для программ. За много лет существования этого семейства написано немало книг, причем во всех рассматривается программирование только на языке ассемблера. Кого-то из моих читателей это может отпугнуть, я же, наоборот, рассматриваю это как преимущество. \\+
 === ARM Cortex === === ARM Cortex ===
 ARM расшифровывается как Advanced RISC Machine или как Acorn RISC Machine, т. е. тоже подразумевает компьютер с сокращенной системой команд, хотя, как и в предыдущем случае, "сокращенный" - скорее все-таки красивый лозунг, чем реальность. \\ ARM расшифровывается как Advanced RISC Machine или как Acorn RISC Machine, т. е. тоже подразумевает компьютер с сокращенной системой команд, хотя, как и в предыдущем случае, "сокращенный" - скорее все-таки красивый лозунг, чем реальность. \\
igor/programmirovanie_shkolnikam.txt · Последнее изменение: 2019/02/10 00:21 — igor