Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Програмирование микроконтроллеров.  (Прочитано 5252 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Georgy_ns

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
  • Как то так...
    • Просмотр профиля
Собираюсь программировать микроконтроллеры на С++, подскажие пожалуйста среду в которой можно написать код, исправить ошибки и проверить работоспособность написанного. На форточку пересаживаться не хочю, а в линуксе около 4х дней, извиняюсь если что то неправильно сформулировал)

Оффлайн b.konstantin

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля

Оффлайн Georgy_ns

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
  • Как то так...
    • Просмотр профиля
Re: Програмирование микроконтроллеров.
« Ответ #2 : 19 Марта 2013, 18:46:39 »
Программирование для AVR в Ubuntu
Piklab - IDE for PIC microcontrollers
Извиняюсь за свою глупость но - напишите как ето все установить через терминал... я не совсем еще знаю как устанавливать ето самостоятельно...

Пользователь решил продолжить мысль 19 Марта 2013, 18:49:35:
Вот что то на просторах интернета нашел - avr.ru/tools/linux/dev
« Последнее редактирование: 19 Марта 2013, 18:49:35 от Georgy_ns »

Оффлайн b.konstantin

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Програмирование микроконтроллеров.
« Ответ #3 : 19 Марта 2013, 19:51:55 »
Вот что то на просторах интернета нашел - avr.ru/tools/linux/dev
Хорошая статья, думаю  с AVR проблема решена. На счет Microchip, piklab должен быть в репозитроии ubuntu (т.е. можно установить через центр приложений). Если его там нет, придется собирать с исходников...

Оффлайн Georgy_ns

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
  • Как то так...
    • Просмотр профиля
Re: Програмирование микроконтроллеров.
« Ответ #4 : 20 Марта 2013, 16:16:40 »
В итоге остановился на Code::Blocks IDE.

Оффлайн zhevak

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
    • http://zhevak.wordpress.com/
Re: Програмирование микроконтроллеров.
« Ответ #5 : 23 Марта 2013, 23:25:30 »
IDE -- это, несомненно, хорошо. Но Вся проблема в том, что IDE как таковой в Линуксе не очень-то и нужен. Попробую объяснить -- почему.

Дело в том, что будучи воспитанным в среде Windows, пользователи (программисты) приучили себя к мысли, что среда делает что-то волшебно-непостижимое с текстом, который они набирают в ней, и в результате на выходе получается файл, который можно заливать в микроконтроллер. Как это происходит -- пользователей мало волнует.

Точно так же не волнует блондинку что-там стучит под капотом. Она знает только дырку, куда лить бензин (аналог -- текстовое поле встроенного редактора в IDE), две-три педальки и руль (аналог -- кнопки меню для компиляции и заливки кода в МК). Задача блондинки -- доставить себя из пункта А в пункт Б. Все остальное -- проблемы автомехаников, они им платит по счетам.

Вот так, или примерно так обстоят дела в Windowsе. Но в Линуксе люди неограниченны всякими лицензиями -- Туда не лезь! Это не трогай! Не декомпилируй! Не изучай! ... и так далее. В Линуксе этих секретов нет по принципиальным соображениям, поэтому тайны из того, как устроен и как работает IDE и его компоненты никто не делает. Никто не сатвит ограничений по объему кода или времени использования. Поэтому, инструменты (правильнее говорить -- тулчейн) открыты и доступны для любого применения. Это несколько особая философия, философия Линукса. Она существенно отличается от философии Windowsа.

Так вот, поскольку в Линуксе никто не собирается пользователей приколачивать к себе навечно (садить на свою иглу), и никто не делает тайн, то получается, что все инструменты для работы доступны без каких-либо ограничений. А зная, как они работают... как работает каждый из них, то получается можно легко из них собрать себе набор (тулчейн) по своему вкусу. Вы ничем не ограничены!

Так например, поигравшись с несколькими IDE (Code::Blocks, Geany, Anjuta) я пришел к выводу, что в качестве текстового редактора, мне удобнее использовать gedit, в качестве программатора-заливальщика -- avrdude, в качестве компилятора -- avr-gcc... В наборе (тулчейне) я так же использую такие утилиты как avr-objcopy, avr-size, avr-objdump и другие.

Все эти утилиты -- консольные. Они принимают в качестве входного параметра текстовые файлы и выходом у них так же является текст. А раз так, то получается, что все это хозяйство можно "упаковать" в один управляющий файл и с помощью этого файла "рулить" работой. Если вы думаете, что этот файл называется Makefile, то вы попали в яблочко! На просторах Интернета полно всяких примеров Makefile-ов. Не стесняйтесь взять за основу чей-то чужой файл. В конце концов в этом-то и состоит сила Линукса -- взять из общества, добавить, и вернуть в общество улучшенный вариант.

Более подробно процесс создания программ для AVR и для MSP430 я описал в множестве публикаций в своем блоге

http://zhevak.wordpress.com

Там я разжевал вообще по косточкам как в Линуксе начать работать с микроконтроллерами.

Цель этого поста в том, чтобы посеять сомнение -- а так ли сильно нужен какой-то готовый IDE для работы в Линуксе. По моему мнению -- IDE не панацея. Я тоже, когда начинал вгрызаться в тему, тоже искал IDE. И сильно удивлялся, что все они какие-то несколько не те, которые я привык видеть в Windowsе. А потом, через какое-то время, я обнаружил, что самый лучший IDE -- это тот, который я сам для себя сконструирую из набора инструментов.

И еще. Если уж так сильно хочется нажимать на кнопочки мышкой, а не писать консольные команды типа "make program" или "make clean", то я Вам рекомендую отложить на недельку-две свои текущие дела и поднять вопрос по программированияю на Python или программированию в shell.

Там на самом деле ничего сложного нет! Создайте свою графическую программу с множеством кнопок. На каждую кнопку навесьте исполнение того или иного действия -- выполнения консольной программы. По сути -- это будет аналог Code::Blocks. Преимущество в том, что Вы полностью понимаете (а значит -- полностью контролируете!) весь процесс. И если что-то пойдет не так, то Вы всегда сможете починить свой инструмент.

Меня всегда пугал IAR -- что-то он там делает, а что -- я не понимаю. Несколько раз IAR по ошибке программировал мой программатор, вместо отлаживаемого микроконтроллера. А я сидел и тупо ничего не мог сделать.

Волшебства в Линуксе нет! Просто свыкнитесь с мыслью, что волшебники -- это как раз мы -- пользователи Линукса!

Оффлайн vselax

  • Активист
  • *
  • Сообщений: 309
    • Просмотр профиля
Re: Програмирование микроконтроллеров.
« Ответ #6 : 29 Марта 2013, 21:39:24 »
В общем, нужно поставить avr-gcc, avrdude, найти или написать адекватный Makefile и разобраться с прошивкой фузов для avrdude. Для старта на AVR хватит, а отладчиком я не пользовался. Для avrdude подойдет LPT программатор типа STK-200, но если хотите купить новый - посмотрите список поддерживаемых. С STM32 и AT91SAM7 сложней, главным образом из-за их сложности. У MSP плохо с программаторами. PIC`и тоже не очень программировались, но я не сильно старался. Рекомендую AVR ATMEGA-16 и AT91SAM7S128, они мне показались проще: Первый полностью поддержан "из коробки", второй неплохо документирован и имеет легко находимые примеры.

 

Страница сгенерирована за 0.073 секунд. Запросов: 25.