Порекомендуйте литературу для изучения микроконтроллеров

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Как сказал один мой знакомый (царствие небесное)
"ваши технологии с прогрессом угробят мир!"...
:(
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Пт мар 01, 2013 23:26:16
Откуда: Урал

Сообщение -Михаил- »

Здравствуйте, дорогие форумчане!

Порекомендуйте, пожалуйста, хорошую книгу, по которой человек, не знакомый с микроконтроллерами и программированием вообще, смог бы с нуля научиться: понимать что такое прогроммируемые микроконтроллеры, как они устроены и работают, как программировать их под разные нужды.

Сложнее TL494 и NE555 я ничего не знаю.
О программировании на си++ лишь чуть-чуть в общих чертах представление имею.
А хочется шаг за шагом научиться работать именно с программируемыми микроконтроллерами (как я понял, востребованнее всего Atmega), понимать, что означают выводы, как они связаны с тем, что внутри и т.д. То есть прямо с нуля, с азов научиться и дойти до практики.

Кто так же обучался с нуля? Как учились? По какой книге?
Вот раньше была серия книг МРБ, где всё разжевывалось очень-очень подробно, что любой, кто прочитает - поймет.
Существует ли подобного рода книга по программированию МК?
Реклама
Нашел транзистор. Понюхал.
Сообщения: 158
Зарегистрирован: Сб апр 24, 2021 18:42:11

Сообщение phalanx »

Если Вы озвучите уровень владения английским языком, то круг таких книг может быть расширен.
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Пт мар 01, 2013 23:26:16
Откуда: Урал

Сообщение -Михаил- »

phalanx, с английским плохо.
Martian, благодарю! :)
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Аватара пользователя
Сообщения: 59
Зарегистрирован: Пт мар 01, 2013 23:26:16
Откуда: Урал

Сообщение -Михаил- »

Всем привет! Спасибо всем, кто откликнулся!

Хочу поделиться своим небольшим опытом обучения программированию микроконтроллеров с нуля. Может быть кому-нибудь это будет интересно.

Учиться только по книге оказалось действительно тяжело, поэтому я нашел на ютубе замечательный курс лекций от преподавателя МФТИ Донова Геннадия Иннокентьевича (светлая память ему). Вот ссылка на курс из 12 лекций (по микроконтроллерам) прочитанных в МФТИ в 2021 году.
Основа - подробное изучение микроконтроллера Atmega8535: https://www.youtube.com/playlist?list=P ... E4Zh34I9DV
Удобно, что можно смотреть и конспектировать. :idea:

Вот здесь можно скачать учебное пособие по данному курсу, составленное автором, который ведет эти лекции:
https://studfile.net/preview/16548168/#16548168 :beer:

Параллельно читаю книгу Белова А.В. "Микроконтроллеры AVR. От азов программирования до создания практических устройств".
Данная книга в электронном виде есть в "сундуке Кота": http://sunduk.radiokot.ru , кстати, есть и свежее печатное издание 2023 года.

Установил среду разработки Microchip studio (раньше называлась AVR studio, Atmel studio).
Два дня мучился с установкой на Windows 10, так как выскакивала ошибка ( can not find one or more components please reinstall the application ) в процессе установки, а потом и при запуске. :dont_know: Устанавливал да удалял, переустанавливал - все безуспешно, пока не додумался установить на диск C. Всё заработало! :tea:

Оказалось, что не все микроконтроллеры в Microchip Studio поддерживают симуляцию, пришлось выбрать для изучения Atmega8 вместо Atmega8535.

Программатор, микроконтроллер и даже отладочная плата есть на http://Aliexpress.ru совсем недорого, хотя пишут, что идет больше месяца. Как раз время на освоение теории.
Реклама
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="-Михаил-",url="/forum/viewtopic.php?p=4388861#p4388861"]Здравствуйте, дорогие форумчане!

Порекомендуйте, пожалуйста, хорошую книгу, по которой человек, не знакомый с микроконтроллерами и программированием вообще, смог бы с нуля научиться: понимать что такое прогроммируемые микроконтроллеры, как они устроены и работают, как программировать их под разные нужды.

Сложнее TL494 и NE555 я ничего не знаю.
О программировании на си++ лишь чуть-чуть в общих чертах представление имею.
А хочется шаг за шагом научиться работать именно с программируемыми микроконтроллерами (как я понял, востребованнее всего Atmega), понимать, что означают выводы, как они связаны с тем, что внутри и т.д. То есть прямо с нуля, с азов научиться и дойти до практики.

Кто так же обучался с нуля? Как учились? По какой книге?
Вот раньше была серия книг МРБ, где всё разжевывалось очень-очень подробно, что любой, кто прочитает - поймет.
Существует ли подобного рода книга по программированию МК?[/uquote]
Начинать лучше с основ, для начала понять принципы фон Неймана https://otvet.mail.ru/question/45361800
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6348
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Поскольку МК не на фон-Неймановской архитектуре, а на Гарвардской (другие, по крайней мере, мне не встречались), то по этой ссылке ходить не нужно и даже вредно (п.2) А по остальным пунктам истины общеизвестные. Думаю, вряд ли ещё остались люди, представляющие комп навроде https://ru.wikipedia.org/wiki/Шахматный_автомат
Изображение
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 373
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение JackSmith »

нам на лекциях по схемотехнике эту архитектуру нарисовали и объяснили за пять минут. никогда в жизни не пригодилась.
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4393848#p4393848"]Поскольку МК не на фон-Неймановской архитектуре, а на Гарвардской (другие, по крайней мере, мне не встречались), то по этой ссылке ходить не нужно и даже вредно (п.2) А по остальным пунктам истины общеизвестные. Думаю, вряд ли ещё остались люди, представляющие комп навроде https://ru.wikipedia.org/wiki/Шахматный_автомат[/uquote]
Принципы фон Неймана справедливы и для Гарвардской архитектуры за исключением однородности памяти. Что касается МК, то современные МК хотя и используют Гарвардскую архитектуру, но в реальности ничем от фон Неймановской не отличаются.
Друг Кота
Аватара пользователя
Сообщения: 6348
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

[uquote="Bill_",url="/forum/viewtopic.php?p=4394236#p4394236"]то современные МК хотя и используют Гарвардскую архитектуру, но в реальности ничем от фон Неймановской не отличаются.[/uquote]
Что значит "современные" ? Все? Например, кроме MSP430, мне неизвестны МК с фон Неймановской архитектурой.
Что значит "в реальности", как можно "в реальности" использовать принципиально различную архитектуру и утверждать, что это одно и то же? "Европеоидная раса в реальности та же негроидная, только с чуть-чуть отличиями".
Чтоб поставить точку - может быть, я уже отстал от современного развития МК, но кто мне назовёт МК с режимом адресации памяти вроде 67,77 в PDP-11 (относительно счётчика команд), кроме упомянутого MSP430? Насчёт STM32 я, к сожалению, не в курсе: неужто и они переметнулись к фон Нейману? :shock:
А по существу вопроса; для начала изучения МК эти глубоко теоретические сведения излишни. Господин Журден не знал, что всю свою жизнь (более сорока лет) он говорил именно прозой - и нормально себя чувствовал. :) :))
Изображение
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 309
Зарегистрирован: Сб фев 18, 2023 21:51:01
Откуда: Санкт-Петербург

Сообщение Eats »

[uquote="Martian",url="/forum/viewtopic.php?p=4394686#p4394686"]Ну можно ещё МИР-2 вспомнить до кучи и тоже сравнить.[/uquote]А, кстати, он был гарвардским или фон-неймановским или ещё каким? Я не застал МИРов и даже тех, кто на них работал...
Всего доброго.
Евгений.
Друг Кота
Аватара пользователя
Сообщения: 6348
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

[uquote="Martian",url="/forum/viewtopic.php?p=4394686#p4394686"]А раз оно начинается с ЛАЗ, то внезапно перескочить архитектуры в принципе невозможно.[/uquote]
С Львовского Автомобильного Завода? :))
Можно легко начать и успешно продолжить изучение МК, даже не зная понятия "архитектура" -- "Ну, это что-то строительное" :) Изучаешь систему команд конкретного МК - и если, к примеру, режим адресации (упомянутый мной) в ней не существует, то и френ с ним, будем адресоваться так, как предусмотрено в этой системе.
Каюсь я узнал о существовании Гарвардской архитектуры ( в смысле - самого понятия ) , когда уже несколько моих проектов на МК пошли в серию :) Рекламаций не было.
Изображение
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Сейчас вполне приличные проекты можно делать не изучая систему команд. На популярные архитектуры, где всё уже наработано.
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4394626#p4394626"][uquote="Bill_",url="/forum/viewtopic.php?p=4394236#p4394236"]то современные МК хотя и используют Гарвардскую архитектуру, но в реальности ничем от фон Неймановской не отличаются.[/uquote]
Что значит "современные" ? Все? Например, кроме MSP430, мне неизвестны МК с фон Неймановской архитектурой.
Что значит "в реальности", как можно "в реальности" использовать принципиально различную архитектуру и утверждать, что это одно и то же? "Европеоидная раса в реальности та же негроидная, только с чуть-чуть отличиями".
Чтоб поставить точку - может быть, я уже отстал от современного развития МК, но кто мне назовёт МК с режимом адресации памяти вроде 67,77 в PDP-11 (относительно счётчика команд), кроме упомянутого MSP430? Насчёт STM32 я, к сожалению, не в курсе: неужто и они переметнулись к фон Нейману? :shock:
А по существу вопроса; для начала изучения МК эти глубоко теоретические сведения излишни. Господин Журден не знал, что всю свою жизнь (более сорока лет) он говорил именно прозой - и нормально себя чувствовал. :) :))[/uquote]
А чем Гарвардская архитектура существенно отличается от фон-Неймановской?
Друг Кота
Аватара пользователя
Сообщения: 6348
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Мне пересказывать хотя бы Вики ?
Наверное, тем, что фон Нейман никогда не учился в Гарварде :))
В Гарвардской принципиально невозможна ситуация, когда при ошибке в программе управление может быть передано в область данных, содержимое которой может быть воспринято как программный код с непредсказуемыми последствиями.
А вообще конечно, это одно и то же. И микрокалькуляторы то же самое. И арифмометр Феликс. Зависит от уровня абстрагирования, на котором эти сущности рассматривать. :))
Изображение
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

Сообщение Bill_ »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4394931#p4394931"]Мне пересказывать хотя бы Вики ?
Наверное, тем, что фон Нейман никогда не учился в Гарварде :))
В Гарвардской принципиально невозможна ситуация, когда при ошибке в программе управление может быть передано в область данных, содержимое которой может быть воспринято как программный код с непредсказуемыми последствиями.
А вообще конечно, это одно и то же. И микрокалькуляторы то же самое. И арифмометр Феликс. Зависит от уровня абстрагирования, на котором эти сущности рассматривать. :))[/uquote]Главное отличие Гарвардской архитектуры от фон-Неймановской - отсутствие принципа однородности памяти. Т.е. память для команд и память для данных в Гарвардской архитектуре разные. В МК это можно сделать достаточно просто: ПЗУ - для команд, ОЗУ для данных. Только тут возникает одна проблема - часто бывает необходимо хранить в ПЗУ не только команды, но и данные. А доступ к данным в ПЗУ отсутствует. С этой проблемой я впервые столкнулся, когда начал работать с PIC. Не то, чтобы там совсем не было доступа к данным, но как это доступ был реализован, это всё равно, что летать с Урала на Дальний Восток через Москву. В AVR эта проблема была частично решена, там для доступа к данным в памяти команд имеется специальная инструкция.
Если верить документам, то STM8 и STM32 используют модифицированную Гарвардскую архитектуру
https://studfile.net/preview/9324525/page:3/
Там нет разницы (во всяком случае она не чувствуется) где именно находятся данные. Доступ к ним абсолютно свободен.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Все эти гарварды и нейманы имели смысл, когда процессоры были примитивные. Адресное пространство и шина были связаны и их можно было делить. Сейчас же, когда в микроконтроллере вот такое, это деление не имеет никакого смысла.
Изображение
image.png.74f3b686f8f9db7c307d2c2aacc2076d.png
(163.95 КБ) 526 скачиваний
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 373
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение JackSmith »

[uquote="Bill_",url="/forum/viewtopic.php?p=4395011#p4395011"]Если верить документам, то STM8 и STM32 используют модифицированную Гарвардскую архитектуру
https://studfile.net/preview/9324525/page:3/
Там нет разницы (во всяком случае она не чувствуется) где именно находятся данные. Доступ к ним абсолютно свободен.[/uquote]
Разница есть и она существенная. Код из ОЗУ выполняется медленнее кода с флеша. Конвейер же. В котрексах еще и отдельные шины icode и dcode.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="JackSmith",url="/forum/viewtopic.php?p=4395046#p4395046"]Код из ОЗУ выполняется медленнее кода с флеша.[/uquote]Посмотрите картинку выше. Из какого именно ОЗУ? Из какого именно флэша? На каком процессоре? С кэшем или без?
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 373
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение JackSmith »

например на STM8. В programming manual там подробно об этом описано. я полагаю, на stm32 тоже есть такое явление.
Ну и BusMatrix так себе решение. Судя по картинке, связь между флешем и озу идет по мосту d1-d2 AHB. Если его забить у остальной периферии доступа к шине не будет. Как понимаю, должен быть механизм приорететов доступа к шине.
Ответить

Вернуться в «Разные вопросы по МК»