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

Помогите выбрать МК для учебных целей ВУЗа

В таких условиях - только 8051.

 

Тогда добро пожаловать в каменный век, да, еще не забудте 8051 с УФППЗУ, только хардкор!! :biggrin:

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


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

Тогда добро пожаловать в каменный век, да, еще не забудте 8051 с УФППЗУ, только хардкор!! :biggrin:

Вы зря ёрничаете.

Меня совсем несложно убедить.

Лучше найдите аргументы для того чтобы убедить коллег-толстолобиков нашего топикстартера. имхо вот где хардкор!

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


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

Тогда добро пожаловать в каменный век, да, еще не забудте 8051 с УФППЗУ, только хардкор!! :biggrin:

 

Каменный век, каменный век... А я вот до сих пор помню, как в школе проволочный реостат двигала для проверки закона Ома, и, как видите, меня это не испортило :)

 

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


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

Каменный век, каменный век... А я вот до сих пор помню, как в школе проволочный реостат двигала для проверки закона Ома, и, как видите, меня это не испортило :)

А я в машину "проминь" команды набирал штырьками. А когда пары штырьков ждя команд "умножения" не хватило, бегал на соседнюю кафедру отдалживать... И это было в середине 70-х...

 

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


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

Одно мне определенно ясно - практические работы у студентов быть должны, и пощупать железо они обязаны, чтобы его не бояться.

 

Тогда как на знание протоколов особо упирать не требуется, т.к. из-за того, что эти протоколы, как правило, хорошо стандартизованы, никто в них не разбирается :), а все юзают готовый код, которым эти протоколы передают/принимают. Скажем, в организацию файловой системы (обычно для флешек и SD-карт) мало кто вникает, а по большей части "приживляют" готовый код.

 

Так вот, на мой взгляд, следует стараться, что в студенческие времена учащиеся как можно меньше "приживляли" того, чего не понимают. Я отдаю себе отчет, что рано или поздно "приживлением" им заняться придется - сия чаша их не минует, если они серьезно займутся программированием. Но начинать с этого ни в коем случае нельзя! В противном случае методика "приживления" разрушит талант и способности, раньше, чем они успеют проявиться. Другими словами, надо сперва построить нечто ЗАКОНЧЕННОЕ своими собственными руками и головой, а после уже будет не страшно, если придется работать в коллективе над проектами, где большая часть кода непонятна, т.к. писалась другими исполнителями.

 

То, что я сейчас объясняю, даже объяснять не надо было, т.к. это вещи совершенно очевидные. Кстати именно поэтому в школах заставляют писать СОЧИНЕНИЯ, а не просто переписывать чужие слова из умных книг. Так вот и тут - то же самое! Простой МК для того и служит, чтобы "сочинение" законченного проекта могло быть завершено одним исполнителем за ограниченное время, а вовсе не потому, что мы решили обречь студента на пожизненную работу с данной архитектурой.

 

А если мы предложим в качестве студенческой работы сразу STM32F4 или что-то вроде этого, то на первых же шагах обнаружится, что ни самому студенту, ни его преподавателю, не по силам по памяти написать код инициализации этого МК, со всеми его осцилляторами, клоками, умножителями и делителями частот. И дело, скорее всего, кончится тем, что соответствующий код возьмут из другого проекта и "приживят". А дальше списывание понеслось рекой. И, в конце концов, тот студент сможет о своем проекте связно рассказать только то, какие куски и откуда он таскал, и какие из них "приживились" сразу, а какие нет.

 

Как вы думаете, поможет ли "приживляльщику" пошаговый отладчик? - Очевидно, что нет, т.к. он не понимает, как работают внутри себя "приживленные" им куски кода. А потому сможет им пользоваться лишь в точках стыковки таких кусков. Но для этого дела отладчик в общем-то и не нужен, т.к. в этих точках можно выводить промежуточные сообщения или писать лог. Тем более что "приживляльщики" вообще не знают, в каком регистре что у них лежит, т.к. ассемблера не понимают. :)

 

По этой же причине МК должен быть достаточно прост еще и для того, чтобы ассемблерный/дисассемблерный текст был студенту понятен. Чтобы хотя бы в общих чертах он представлял, что именно процессор в данной точке останова делает, когда отладчик выполняет команды в пошаговом режиме. При этом я снова оговорюсь, что отнюдь не ставлю задачу так, чтобы каждый студент обязательно умел программировать на ассемблере профессионально и писал на нем большие проекты.

 

Кстати, я сама пришла в электронику из программирования, причем уже вполне серьезным специалистом. Т.е. мне было бы как раз проще всего встать в позицию "протокольщиков", заявив, что электронику за нас будут ваять китайцы, а нам де достаточно будет приживлять к ней свои протоколы (читай - куски кода у кого-то из интернета списанные). Однако поступить так я не могу, т.к. уже попала под то очарование работы микроконтроллера, когда все процессы, вплоть до состояния линий на всей плате, находятся под твоим личным контролем. На это время я в буквальном смысле слова превоплощаюсь в этот контроллер (а то и во всю плату целиком), когда его ножки - это мои ножки :), мои таймеры, мои регистры и всё-всё-всё - это части меня самой. И тогда уже думаешь не о том, как программировать, а мыслишь в понятиях "могу ли я своими портами, таймерами и всеми прочими органами выполнить ту задачу, которая передо мной стоит?". И если чувствую, что силенок на это хватит, то вот она и программа - только в файл в виде текста надо набить. А вот под операционной системой такое единение с контроллером не возникает, а уж тем более, если приходится "приживлять" много чужого кода.

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


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

Я тоже за stm8, а еще лучше за stm32. Купить какую-нибудь из плат discovery для работы.

STM8 - вполне нормально. А что касается STM32 (и вообще всякой ARMатуры), то есть печальный опыт. Предлагали студентам сделать хоть что-то на основе ARM (оценочные платы в наличие). Результат - абсолютно нулевой. Для нынешних студентов это слишком слдожно, да и не только для студентов.

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


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

Ого! Дискуссия вызвала определенный интерес. Имея определенный опыт в этой области (рорядка 35 лет), а также работая в вузе достаточно длительное время хочу высквать свое личное мнение.

1. Все участники дискуссии высказываются за испоьльзование в целях обучения того или иного МП/МК исходя из:

а) "красоты" архитектуры процессора:

б) "навороченности" периферии "на борту";

в) "современности (применяемости)" контроллера;

г) наличия соответствующих оценочных плат и инструментария для разработки;

д) своего личного опыта.

2. Однако, нужно понимать, что оснновной целью обучения является изучение основных принципов организации ЭВМ, как основы для построения встраиваемых систмем (МК, ЦПС, ...). Человек должен не изучить како-то конкретный МП/МК (PIC, AVR, MSP, ARM, ... XYZ), но он должен понять как работает любой произвольный процессор. Любой, выбранный в целях обучения, процессор процессор всегда будет являться лишь частным случаем.

3. При изучении данного предмета нужно иметь в виду определенные ограничения, а именно:

а) ограничения по времени изучения данной дисциплины;

б) отсутствие у подавлющего большинства студентов какого-либо опыта в данной области;

в) отсутствие "энтузазизьма" у большинства студентов.

4. В соответствии с пп. 2 и 3. я бы предложил следующие критерии для выбора типа МП/МК:

а) простота понимания принципов организации прпоцессора;

б) "общности" (другого слова не нашел) архитектуры.

В соответствии с данными критериями идеальным вариантом для выбора была бы архитектура процессора PDP-11. Но, увы, данный процессор давно канул в лету. Поэтому, единственным критерием остается - простота. И, стало быть,

6. Для целей обучения, при соответствующем методологическом обеспечении, может быть выбран любой, достаточно, простой процессор. Опять же, в идеале нужно стараться следовать принципу "все познается в сравнении". Другими словами, нужно рассказывать не о каком-то одном процессоре с его архитектурой, а сравнивать между собой процессоры разных архитектур. Часто нужно знать не то, что имеется у того или иного процесоора, а то, чего в нем нет.

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


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

Каменный век, каменный век... А я вот до сих пор помню, как в школе проволочный реостат двигала для проверки закона Ома, и, как видите, меня это не испортило :)

 

Я же говорю, что начать надо с 8биток, но с перспктивой 32хбитных. У нас в политехе про мк вообще заикнулись вскользь, но это меня не испортило :biggrin: Как-то мне сказали, что вуз не учит самим предметам, как таковое, он должен учить учиться, развить творческий поиск и заинтересовать в предмете, тогда человек сам начнет расширять пределы своего познания...

А что может расширить сухое перечитывание регистров проца и лабы по тем темам, которые не проходили на лекциях?? Только отвращение к предмету.

 

Я спросил своего однокурсника, когда защищал диплом, как он относится к курсу микропроцессорной техники, на что получил "прошел и забыл, как кошмарный сон!" И какой из него будет специалист??

 

Одно мне определенно ясно - практические работы у студентов быть должны, и пощупать железо они обязаны, чтобы его не бояться.

 

Это однозначно за! без знаний железа и логики за мк нечего даже браться...

 

2. Однако, нужно понимать, что оснновной целью обучения является изучение основных принципов организации ЭВМ, как основы для построения встраиваемых систмем (МК, ЦПС, ...). Человек должен не изучить како-то конкретный МП/МК (PIC, AVR, MSP, ARM, ... XYZ), но он должен понять как работает любой произвольный процессор. Любой, выбранный в целях обучения, процессор процессор всегда будет являться лишь частным случаем.

 

Да, частным, НО для лаб. работ нужно что-то выбирать, и если так, то уж лучше то, что востребовано сегодняшней ситуацией, логично??

А так уж повелось, что доминирующее положение на рынке, ввиду объективных причин, заняли именно risc процессоры, их и нужно изучать углубленно, а cisc изучить только как факультатив.

 

В соответствии с данными критериями идеальным вариантом для выбора была бы архитектура процессора PDP-11.

 

Хорошая архитектура, знаю, но теперь это только теория... А практику, лично я, проходил бы на авр, т.к. считаю его одним из лучших и простых процов 8биток. Теория это хорошо, но когда сделаешь программу и железка замигает лампочками, закрутится мотор и индикторы будут показывать что нужно - вот тогда получаешь удовлетворение, а кто не получает - тот не "настоящий" технарь ;)

Изменено пользователем mantech

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


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

когда его ножки - это мои ножки :)
Ну, ваши наверняка симпатичней будут. А вообще, правильно говорить - выводы. "Ножки" - это жаргон. Или нет?

 

 

Да, частным, НО для лаб. работ нужно что-то выбирать, и если так, то уж лучше то, что востребовано сегодняшней ситуацией, логично??

А так уж повелось, что доминирующее положение на рынке, ввиду объективных причин, заняли именно risc процессоры, их и нужно изучать углубленно, а cisc изучить только как факультатив.

 

Хорошая архитектура, знаю, но теперь это только теория... А практику, лично я, проходил бы на авр, т.к. считаю его одним из лучших и простых процов 8биток. Теория это хорошо, но когда сделаешь программу и железка замигает лампочками, закрутится мотор и индикторы будут показывать что нужно - вот тогда получаешь удовлетворение, а кто не получает - тот не "настоящий" технарь ;)

Ну, так, опять же, исходя из сегодняшней ситуации. А что будет завтра? А завтра будет то же, что и вчера. Ведь принципы работы компьютера ныне сегодня такие же, как и 50 лет назад. Да, появились и гарвардская архитектура, и суперскалярная, и пр. А что такое RISC? Это всего лищь термин. Когда появились первые мини-ЭВМ (примерно 50 лет назад), то по существу они были RISC компьютерами, только тогда такого термина еще не придумали. И что в RISC есть такое, что его нужно как-то отдельно изучать? Можно, конечно, указать на частности, на особенности. Но не более того. Если, к примеру, человек знает принципы организации компьютеров вообще, то рассказать ему про осбенности архитектуры DSP дочтаточно 30 минут.

Что касается практики. На данный момент мы испоользуем AVR на основе STK500 потому, что они у нас имеются в достаточном количестве. С точки зрения обучения AVR вполе себя оправдывает, но ... Сейчас имеется STM8, котрый, на мой взгляд лучше подходит для этих целей.

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


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

Контроллеры в DIPе есть: x51, AVR, MSP, PIC.

LPC8xx (cortex m0)

 

В соответствии с данными критериями идеальным вариантом для выбора была бы архитектура процессора PDP-11. Но, увы, данный процессор давно канул в лету.

Вроде в MSP430 система команд похожая.

Эх, где ж сейчас КР1801ВМ1? :-D

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


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

LPC8xx (cortex m0)

 

 

Вроде в MSP430 система команд похожая.

Эх, где ж сейчас КР1801ВМ1? :-D

Похожая-то, она похожая. Только в MSP-430 нет того, что было в PDP-11.

И еще на счет ARM, Cortex и т.п. Скажем, для студентов простая задача - помигать светодиодиком. Программа всего несколько строчек на asm. Из нмх для конфигурации порта требуется 1-2 команды. А скоько требуется команд для конфигурации порта в том же Cortex? Там же нужно множество манипуляций для этого продела. И это не говоря уже о конфигурации системной конфигурации. В результате та часть программы, работу которой можно увидеть (светодиод мигает) занимает от силы 25% от всего исходного текста, а то и того меньше. И при всем при том очень жэнлательно, чтобы человек еще и понимал то, что он пишет, для чего нужны и какие именно манипуляции требуются для первоначальной настройки процессора.

И вообще, найдется здесь хоть один человек, который начинал изучение МК с нуля именно на основе ARM?

Изменено пользователем _Bill

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


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

И еще на счет ARM, Cortex и т.п. Скажем, для студентов простая задача - помигать светодиодиком. Программа всего несколько строчек на asm. Из нмх для конфигурации порта требуется 1-2 команды. А скоько требуется команд для конфигурации порта в том же Cortex?

 

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

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

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


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

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

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

Ну, так там есть еще и DMA, USB, Ethernet и еще мого другого. Вопрос в том: где взять время студенту, чтобы это все освоить, да и надо ли ему это вообще?

Изменено пользователем _Bill

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


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

полностью согласен с mantech

и _Bill дело говорит: для ОБУЧЕНИЯ ОСНОВАМ наглядность - прежде всего

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


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

Ну, так там есть еще и DMA, USB, Ethernet и еще мого другого. Вопрос в том: где взять время студенту, чтобы это все освоить, да и надо ли ему это вообще?

Надо... может не всё, но надо... чтобы потом не переучиваться... STM32F0xx наиболее близка к восьмибиткам по простоте... по возможностям - намного лучше...

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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