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

Освоение микроконтроллеров

Здравствуйте!

 

Решил заняться изучением микроконтроллеров. Хотелось бы взяться за ARM, но почитав документацию понимаю что очень многое непонятно...

 

До недавнего времени занимался писаниной на C и в MATLAB.

 

Вопрос: есть ли смысл начать освоение железа с простых восьмибитников (8051, PIC, AVR).... или например с PIC24 (16бит)...

 

или с ARM тоже можно управится с нуля?

 

Подскажите по личному опыту....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С 8-битников будет полезней и проще: полно готовых примеров, документации... В крайнем случае, с 16-ти. Дешевле прототипы, средства отладки, доступнее и удобнее (в том числе в плане монтажа) сами МК. До АРМов успеете добраться, это уже будет дело техники.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос: есть ли смысл начать освоение железа с простых восьмибитников...
Каждому индивидуально. Если с английским нет проблем, то начинать можно с cortrex-M0(M3).

Если есть небольшие сомнения STM8 - отличный выбор, а если сильно-сильно страшно то AVR:-).

Это сугубо моё ИМХО. Но я основывался на том, что закладываться стоит лишь на что-то боее-менее современное.

Бесперспективно изучать орудия труда Бронзового века...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В свое время начинал изучение с 8051, просто тогда на работе только с такими умели работать:) (Н1830ВЕ31 и подобное...)

Вскоре, по своей инициативе, заинтересовался AVR. Успешно применил ATmega8535, затем ATmega645...

Пробовал PIC17 - о нем осталось наихудшее впечатление (до сих пор служит хорошей прививкой от всех PIC-ов) :smile3046:

Потом ARM7 (AT91SAM7S256, AT91SAM7SE512).

Сейчас Cortex-M3 (LPC1768, в скором будущем надеюсь 1986ВЕ91Т попробовать)

В общем, чем дальше - тем легче давалась новая архитектура.

 

ИМХО, начинать с самых простых - смысл есть. В этом случае Вы будете лучше представлять достоинства и недостатки каждой архитектуры, а это позволит Вам сделать оптимальный выбор МК под конкретную задачу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В свое время начинал изучение с 8051, просто тогда на работе только с такими умели работать:) (Н1830ВЕ31 и подобное...)

Вскоре, по своей инициативе, заинтересовался AVR. Успешно применил ATmega8535, затем ATmega645...

Пробовал PIC17 - о нем осталось наихудшее впечатление (до сих пор служит хорошей прививкой от всех PIC-ов) :smile3046:

Потом ARM7 (AT91SAM7S256, AT91SAM7SE512).

Сейчас Cortex-M3 (LPC1768, в скором будущем надеюсь 1986ВЕ91Т попробовать)

В общем, чем дальше - тем легче давалась новая архитектура.

 

ИМХО, начинать с самых простых - смысл есть. В этом случае Вы будете лучше представлять достоинства и недостатки каждой архитектуры, а это позволит Вам сделать оптимальный выбор МК под конкретную задачу.

 

Ну вот, а я с PIC хотел начать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, а я с PIC хотел начать...

Начинайте! Главное на этом не останавливайтесь! Только тогда поймете разницу, и может у Вас сложится совсем другое впечатление :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Советы давать весьма легко и всё же, предлагаю вам начать с AVR. Только хочу предупредить от соблазна "заболеть гигантизмом", сам когда то перенёс это "заболевание" и сделал соответствующие выводы. Поверьте, для начала большинство задач можно решить используя и эту 8-разрядную серию. А когда возникнет "болезнь роста", это будет сигналом перехода на более производительную серию. Желаю вам успехов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё же ИМХО AVR предпочтительнее в том плане, что архитектура более классическая. А PIC там кажется с фирменными наворотами, к которым если привыкаешь - слазить уже сложнее.

 

Если не прав, сорри ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё же ИМХО AVR предпочтительнее в том плане, что архитектура более классическая. А PIC там кажется с фирменными наворотами, к которым если привыкаешь - слазить уже сложнее.

 

Если не прав, сорри ))

А я вот к PIC-ам привык и "слазить" как-то не возникает пока нужды. А потребуется - вряд ли будет сложно...

Если начинать на С, то и разницы не заметишь, ИМХО.

Главное, чтобы тема не превратилась вновь в AVR vs PIC. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нееет , с пика начинать не стоит. Слишком своебразен. 51 AVR MOT довольно близки, MOT все же у нас экзотична. 51 делают десятки производителей . Освоите и будет легко другие осваивать. AVR пожалуй самое то будет в вашем случае. Много кристаллов разной сложности и среда халявная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И прошиваются через LPT и пять проводков )) - т.е. программатор считай тоже халявный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Советы давать весьма легко и всё же, предлагаю вам начать с AVR. Только хочу предупредить от соблазна "заболеть гигантизмом", сам когда то перенёс это "заболевание" и сделал соответствующие выводы. Поверьте, для начала большинство задач можно решить используя и эту 8-разрядную серию. А когда возникнет "болезнь роста", это будет сигналом перехода на более производительную серию. Желаю вам успехов.

 

Может болезнь рота уже пришла (мне требуется довольно шустро перемножать 16 разрябные числа)?

Я же говорю что мне нужно ARM освоить... только понимаю что сложновато. Многие термины даже непонятны(((

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может болезнь рота уже пришла (мне требуется довольно шустро перемножать 16 разрябные числа)?

Я же говорю что мне нужно ARM освоить... только понимаю что сложновато. Многие термины даже непонятны(((

 

При выборе МК для освоения выжна не только сложность и навороченность архитектуры, а также общее понимание таких терминов как регистр, маска, бит, флаг и того как они соотносятся с управлением МК (голый процессор без SPI/USART/USB и т.д. никому не интересен). Очень важно понимание того как переферия МК управляется с помощью всех регистров управления. В ARM на один переферийный модуль (например GPIO) может приходится до полтора десятка регистров управления. Да ещё и 32хбитные. Мозги могут расплавится от того где какой бит надо включить чтобы задёргалась ножка. В 8битных мк всё намного проще - регистры поменьше, всяких битов управления как кот наплакал. В своё время когда стоял выбор мк для освоения склонялся к С51. Но остановился на AVR и не жалею - невероятно просто разобраться в управлении всей возможной переферией этого семейства. На ARM (ATMEL/NXP) перешёл только в последние 6 месяцев - блягодаря 2м годам программирования AVR в институте и 1,5 на тепершнем месте работы особых сложностей с переходом не ощутил.

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

 

P.S. в atmegax есть аппаратный умножитель 8х8=16. Любой компилятор легко задействует это для организации П/П умножения.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие-то бредовые советы от взрослых людей... Разница между ARM 7 и AVR в производительности, но никак не в сложности изучения. Разная архитектура для новичка рояли не играет совсем.

 

Сам начинал с asm PIC'а потому что на него была русская документация, а на AVR на тот период - нет. ARM7 был диковинкой. Мне разрешили изучать это все в рабочее время. Кстати, так и не освоил :biggrin: . Сейчас документации полно любой. :laughing:

 

В ARM на один переферийный модуль (например GPIO) может приходится до полтора десятка регистров управления.

:wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие-то бредовые советы от взрослых людей... Разница между ARM 7 и AVR в производительности, но никак не в сложности изучения. Разная архитектура для новичка рояли не играет совсем.

По опыту работы со студентами: AVR или 51 как первый микроконтроллер - в течение курсового осваивается самостоятельно, ARM7 - с трудом и большим объемом помощи от преподавателя, TMS320C6416 - безнадега.

 

Причина - в количестве подробностей, которые нужно понять, учесть и сопрячь. Чтобы написать "Hello Led" и поморгать ножкой, приходится изучить всю модель процессора, понять ее, понять, как залить ее через кабель, какие биты поставить для режима загрузки и запуска, куда класть код и данные, т.е. как прописать linker description file и т.д..

 

Конечно, обычно есть работающие примеры. Но это немногим лучше. Студент на автомате компилирует, прошивает - работает. Потом пишет свою программу - и все, опять проблемы. Не работает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...