Программирование МК., С чего начать? |
Здравствуйте, гость ( Вход | Регистрация )
Программирование МК., С чего начать? |
23.8.2010, 7:40
Сообщение
#1
|
|
ЕРЖ-антисемит Группа: Пользователи Сообщений: 1900 Регистрация: 24.11.2009 Из: Великий Новгород Пользователь №: 23 |
Вобчем, начинайте холивары всяки, а я на ус мотать буду. За какую систему браться с самого начала: AVR or PIC? С какого языка начинать: C or ASM? Какие средства разработки качать (интересует под Ubuntu)? Из каких закромов нужную литературу брать?
|
|
|
Гость_MrYuran_* |
23.8.2010, 8:06
Сообщение
#2
|
Гости |
С какого языка начинать: C or ASM? Какие средства разработки качать (интересует под Ubuntu)? Из каких закромов нужную литературу брать? Начинать надо с си, параллельно просматривая листинги и изучая ассемблер (хотя бы для того, чтобы просматривать листинги ) С прицелом на дальнейший переход на С++. (я уже дорос , начинаю переход со следующего проекта) В чём писать? Поскольку люди мы честные, пользоваться надо православными тулзами системы GNU со свободной лицензией. Для AVR - WinAVR (avr-gcc). Насчёт линукса не проверял, возможно есть бинарники (должны быть, проект мощный и даже спонсируется атмелом). Тут вам Паша больше расскажет, наверно. Из IDE рекомендую либо сразу сесть на эклипс (eclipse.org), если тачка не тормозит, либо на CodeBlocks, как я. Например, с помощью С::В я двумя щелчками мышки "собрал" демо-проекты GTK+ и WxVidgets. То есть, очень универсальное средство. Не без изъянов, конечно, но мне нравится. Эклипс - вообще универсальный напрочь. От Java и php до с++, python, Android и Symbian. В общем, по уровню Eclipse ~ MSVS, только лучше и бесплатно. |
|
|
23.8.2010, 8:12
Сообщение
#3
|
|
ЕРЖ-антисемит Группа: Пользователи Сообщений: 1900 Регистрация: 24.11.2009 Из: Великий Новгород Пользователь №: 23 |
|
|
|
Гость_MrYuran_* |
23.8.2010, 8:37
Сообщение
#4
|
Гости |
4Гб оперативы, Core 2 Duo Е6600 (2Х1.8 ), Ubuntu 10.04 x64. Эклипс на такой пойдёть? Со свистом! Это у меня калькулятор Sempron 2600 / 1G DDR-400, на нём тормозят автоподсказки и прочие мегаполезные функции. Качать собственно эклипс, плюс CDT (C Development Tools) плюс нужные плагины и тулчейны. На элхе есть обширная тема по эклипсу, основные спецы - Сергей Борщ и АНТОХА, а по С::В - тема имени меня |
|
|
23.8.2010, 8:41
Сообщение
#5
|
|
ЕРЖ-антисемит Группа: Пользователи Сообщений: 1900 Регистрация: 24.11.2009 Из: Великий Новгород Пользователь №: 23 |
По СВ тут ответил http://sharaga.org/index.php?showtopic=812 Новый если только с сайта производителя как-то качать.
|
|
|
Гость_MrYuran_* |
23.8.2010, 8:53
Сообщение
#6
|
Гости |
По СВ тут ответил http://sharaga.org/index.php?showtopic=812 Новый если только с сайта производителя как-то качать. Скорее всего, просто источник новый прописать или вот: Интересно, а дебиановские пакеты нормально на убунту встают? Там ещё запарка с WxVidgets - надо крайнюю версию иметь. В общем, разбираться придётся. С эклипсом проще, но труднее. Проще установить, потому как на яве, труднее потом разобраться с настройками (их существенно больше). Но лучше всё-таки сразу идти по правильному пути и качать эклипс. Не для контроллеров, так для другого чего подойдет. |
|
|
23.8.2010, 11:41
Сообщение
#7
|
|
ЕРЖ-антисемит Группа: Пользователи Сообщений: 1900 Регистрация: 24.11.2009 Из: Великий Новгород Пользователь №: 23 |
Собсна, тема несколько ширее, ибо всё же прихожу к мысли об нужности (хотя бы для себя) кодопейсательства под РС, а конкретно под Linux. Под венду чего-то не хочется, ибо постепенно сползаю с неё.
|
|
|
26.1.2011, 23:36
Сообщение
#8
|
|
Активный участник Группа: Пользователи Сообщений: 133 Регистрация: 24.7.2010 Пользователь №: 185 |
Еще вот такой вопрос - каков необходимый минимум знаний по программированию для начинающего эмбедера? И из каких книг его почерпнуть?
Поясню. Суть, как мне она видится, в том, что в случае МК - здесь и программирование, и железо. И по идее созревание молодого ума должно проходить при балансе и того и другого - без сильного углубления на начальных этапах в теорию программирования, но и, по возможности, без сильного крена в железо (т.е. по возможности не торопиться лепить абы-какую программу только чтоб заработало побыстрее). Пока во времени я сильно не стеснен. Просто ни разу не делал сколько-нибудь сложного проекта, поэтому не представляю, какие знания в области программирования чаще всего требуются ымбедерам. Сейчас хочу вплотную заняться изучением USB. Основные алгоритмы - сортировка, поиск, динамические структуры данных, - освещаются практически в любой книге по СИ. Обычно не освещаются - алгоритмы на графах, переборы, управление памятью, вычисление элементарных функций и т.п. ... Где освещаются специфические вопросы для ымбединга - тоже не знаю, кстати (и есть ли такие книги, на русском???) Из тырнета по алгоритмам нарыл вот такие книги: 1) Кнут "Исскуство программирования" (само собой ) 2) Ахо, Хопкрофт, Ульман "Построение и анализ вычислительных алгоритмов" 3) Рейнгольд, Нивергельт, Део "Комбинаторные алгоритмы: теория и практика" и еще ряд подобных (сборники задач, а также книги с ужасными примерами на СИ - это даже мне видно). Вопрос в том, что с каждой из этих книг я могу зависнуть минимум на месяц-два, забыв про МК в принципе (с Кнутом - скорее вообще никогда не осилю). Само собой, что постепенно какие-то из них осилить надо. Вопрос - надо ли это изучать в полном объеме на первых порах? Можно ли выделить необходимый минимум? Или же можно смело садиться и пробовать кодить для МК, попутно осваивая и жлезо, и алгоритмы? |
|
|
27.1.2011, 6:34
Сообщение
#9
|
|
внештатный сотрудник Группа: Пользователи Сообщений: 1568 Регистрация: 21.11.2009 Из: МО, Медвежьи озера Пользователь №: 12 |
|
|
|
27.1.2011, 7:04
Сообщение
#10
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
У мну начиналось все чуть ли не с "Радио86-РК" , вернее, с ПК "Специалист", если кто помнит, он выгодно отличался прозрачным доступом к видеопамяти, посему я не советчик.
Intel8080->OS CP/M->ZilogZ80->MCS51->PIC16/Scenix/PIC18->AVR-> и вот я перед Вами. К армоводам себя не причисляю, т.к. без "словаря" писАть на ихнем асме не могу. ЗЫ понты проколотил, а мысль так и не донес. Студентов очень долго мучали лекциями по архитектурам I8080/8086/8051 и я теперь понял, почему. Просто, никто лучше не смог написать литературу. Помните фразу Цитата Все, что недоделали наши отцы - это мы. - дальше было хуже.Сташин, Урусов итд Злобин В.К., Григорьев В.Л. Программирование арифметических операций в микропроцессорах Вирт Н. Алгоритмы и структуры данных К современным книгам отношусь с недоверием - хуле их читать, с одной стороны, с другой - слышу ропот, что, мол программы в корявом стиле, концептуальные "подсадки" на конкретный программный продукт итд итп, сам не проверял, это ж усилие нада сделать, время выделить, а зачем, если я не препод? Ага, забыл отдельное мерси сказать Microchip community - полезные аппликухи почти все. Минимализм из раздела "Design for dollar$" тоже. Тексты программ обычно не читаю, более интересна инженерная интерпретация задач. |
|
|
27.1.2011, 8:34
Сообщение
#11
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
Если не считать "Специалистов" и "Спектрумов" (халтурки на продажу, сильно глубоко не вникал), то начинал как раз с 51 (AT89...). Коллега уволился и оставил несколько недоделанных проектов. Я доделал, понравилось. С тех пор на этих самых 51 и "сижу", но не на атмеле, а на P89LPC9xxx. Экстремально дёшевы и почти не уступают AVR по быстродействию. Только в последнее время им появился явный конкурент - STM8. Заказал вчера несколько штук STM8L151K6T6 и дискавери, надеюсь, через неделю начну развлекаться - генерить несколько сот кГц посредством DDS.
Те книжки, что есть - по сути переводы даташитов и аппноутов. И дело не в переводе, просто книжку листать как-то удобнее, чем PDF . |
|
|
27.1.2011, 8:45
Сообщение
#12
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Отлаживаетесь кейлом?
Блин, вот что задрачивает: мимо прошел весь чухасский дсп. GCC кто-то портировал даже на них, но не выкладывают, сцуки. А ГЦЦ - это сила. |
|
|
27.1.2011, 10:08
Сообщение
#13
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
В Кейле только компилю, отладка - в железе.
Для STM8 поставил "резонанс" с лицензией на 32КБ, для тех мелочей, которыми занимаюсь, хватит с избытком. |
|
|
27.1.2011, 14:51
Сообщение
#14
|
|
Активный участник Группа: Пользователи Сообщений: 1075 Регистрация: 22.11.2009 Пользователь №: 20 |
Основные алгоритмы - сортировка, поиск, динамические структуры данных, - освещаются практически в любой книге по СИ. Обычно не освещаются - алгоритмы на графах, переборы, управление памятью, вычисление элементарных функций и т.п. ... Где освещаются специфические вопросы для ымбединга - тоже не знаю, кстати (и есть ли такие книги, на русском???) Из тырнета по алгоритмам нарыл вот такие книги: 1) Кнут "Исскуство программирования" (само собой ) 2) Ахо, Хопкрофт, Ульман "Построение и анализ вычислительных алгоритмов" 3) Рейнгольд, Нивергельт, Део "Комбинаторные алгоритмы: теория и практика" вот на алгоритмы я вообще начхать хотел, нужны только для собеседования, перед ними собсно и повторяю, а после - не нужны потом это всё успешно забывается |
|
|
Гость_MrYuran_* |
27.1.2011, 15:23
Сообщение
#15
|
Гости |
Вопрос в том, что с каждой из этих книг я могу зависнуть минимум на месяц-два, забыв про МК в принципе (с Кнутом - скорее вообще никогда не осилю). Само собой, что постепенно какие-то из них осилить надо. Вопрос - надо ли это изучать в полном объеме на первых порах? Можно ли выделить необходимый минимум? Или же можно смело садиться и пробовать кодить для МК, попутно осваивая и жлезо, и алгоритмы? Перво-наперво надо брать паяльник, писать хелловорлд и мигать светодиодом. Когда получится, постепенно усложнять. Задача-минимум - максимально быстро пройтись по всем граблям, потом за книги. И тогда уже примерно понимаешь, о чём там пишут. Типа: - Точно! - Блин, я так и думал! - Ах вот оно что! - Эх, вот это да, я бы не додумался! ну итд. |
|
|
27.1.2011, 20:04
Сообщение
#16
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Еще вот такой вопрос - каков необходимый минимум знаний по программированию для начинающего эмбедера? И из каких книг его почерпнуть? Любые книги по конечным автоматам для мигания светодиодами и более серьезных алгоритмов. Так же любая информация о парсерах текстов вплоть до теории трансляторов - для связи Вашего МК с внешним миром. Про USB пока забудьте. Не забивайте голову ерундой. Это все потом. Ссылки на вполне приличные книги по PIC-ам я уже давал... Можете, конечно, начать с ARM-ов. Но там все за бабло. Можно, конечно, краденное. Но сами понимаете... А об GCC и Eclipse уже не один начинающий эмбеддер обломал зубы. Да и симулятора там как не было, так и нет... А без него, лично мне не очень удобно. |
|
|
27.1.2011, 20:34
Сообщение
#17
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
Перво-наперво надо брать паяльник, писать хелловорлд и мигать светодиодом. Всякий мной рождённый девайс, выводящий хоть что-то хоть куда-то в текстовом виде, сначала пишет "Hello, Lamer!" Это чтобы не расслабляться, ну и для проверки интерфейса тоже . Светодиодов там, кстати, 3 штуки, в кадр не влезли. М.б., заметно, что руки, в которые брал паяльник, слегка тряслись. |
|
|
27.1.2011, 20:58
Сообщение
#18
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
|
|
|
27.1.2011, 21:29
Сообщение
#19
|
|
Активный участник Группа: Пользователи Сообщений: 1075 Регистрация: 22.11.2009 Пользователь №: 20 |
|
|
|
27.1.2011, 21:43
Сообщение
#20
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Тю блин, шо там такого(г) сложного? Эклипсом правда не пользуюсь, он мне жвачку напоминает Все... Слишком много надо изучать всяких ненужностей. Вместо изучения самого железа МК и его окрестностей. Не поверите, я сам начинал с перфоленточного ассемблера и такого же редактора для "Электроники 60" (PDP11). Потом появилась первая операционная система. Все записывалось на 5-ти дюймовых гибких дисках, емкостью аж 256 кБайт. В редакторе были только большие латинские буквы. Был Фортран-4 и Ассемблер. Так же был компоновщик. Вот тогда, в детстве я повеселился от души, когда связывал между собой модули, написанные на разных языках, на этапе компоновки. Были огромнейшие файлы для компоновщика, описывающие оверлейную загрузку отдельных модулей, потому как памяти на все было всего 16 кБайт. А хотелось и АЦП почитать и графики разные построить. В реал-тайме. Так же были пакетные файлы, создающие некое подобие среды для отладки. Наелся я этого выше крыши... Назад в пампасы чего-то не хочется. Хочу, чтобы можно было открывать окошки и нажимать на иконки. И никаких лишних текстов, помимо программных модулей. |
|
|
Текстовая версия | Сейчас: 29.3.2024, 10:06 |