Пример встроенного проекта для одного человека - PullRequest
12 голосов
/ 18 июля 2010

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

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

Если вы сможете обосновать свой пример с проектом, над которым вы работали сами, и указать, сколько человек было вовлечено и сколько времени потребовалось, чтобы закончить его, это также помогло бы мне оценить сложность проектов, которые я вижу в целом и правила те, которые, вероятно, слишком велики для моей способности. С моей позиции очень сложно оценить объем работы, в которой нуждается проект.

Ответы [ 2 ]

5 голосов
/ 18 июля 2010

Вам стоит взглянуть на arduino .Процитируем их сайт:

Arduino - это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении.Он предназначен для художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных объектов или сред.

Существует действительно удобная игровая площадка , в которой перечислены несколько личных проектов на Arduino, любой из которых может удовлетворить ваши потребности в разработке встроенных программ.Вы также можете бродить по Интернету (например, instructables ), чтобы найти много других интересных приложений arduino - мне особенно нравится одно , создающее необычную систему управления для эспрессо-машины , иКонечно, есть обязательное пердящее детекторное кресло , которое чирикает о своих выводах.

Будучи экспериментатором arduino, я могу засвидетельствовать простоту и мощь этого устройства - и вам очень приятнопридется играть с ним.Если вы хотите начать быстро, я могу порекомендовать приобрести стартовый комплект у очень любезных людей по адресу oomlout .

3 голосов
/ 18 июля 2010

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

Если это просто программное обеспечение, то я бы предложил приобрести плату для разработки ARM (возможно, у линейки Philips LPC - sparkfun есть несколько хороших), которую вы можете запрограммировать через загрузчик через USB и начать взламывать , Получите один с дисплеем и портом Ethernet, и вы можете создать какой-нибудь датчик, подключенный к сети (температура, уровень воды, счетчик объектов и т. Д.). Начните немного (включите светодиод с кнопки) и продолжайте свой путь.

Если вы также занимаетесь электроникой, я бы предложил что-то вроде плеера MP3 (или WAV) и, возможно, придерживался 8-битных микроконтроллеров AVR или PIC (AVR используется на Arduino), так как это немного легче иметь дело, чем ARM. Здесь можно начать с устройства с питанием от USB, которое передает потоковые файлы wav с последовательного порта ПК на пару наушников, а затем на плату с питанием от батареи и передает данные в ИС декодера MP3 с карты SD.

Некоторые вещи, которые вы можете изучить и продемонстрировать:

  • Понимает границы работы с ограниченными ресурсами, включая управление памятью (динамическое и / или статическое); управление ресурсами (блокировки, семафоры, мьютекс); несколько заданий (прерываний); и соответствующие структуры данных
  • Возможность взаимодействия с другими устройствами / интегральными схемами через различные межсоединения (аналоговый и цифровой ввод-вывод, последовательная шина (RS232, I2C, SPI))
  • Способность разумно структурировать программу и сегментировать различные модули без создания кода для спагетти
  • Возможность использования исходного кода и интеграции сторонних библиотек, где это необходимо (например, файловая система FAT или стек TCP / IP)

Разные советы:

  • читать и понимать таблицы данных (да все они)
  • кодируйте и тестируйте на рабочем столе, где это возможно, но понимайте, что есть различия, и ошибки по-прежнему будут появляться (это помогает использовать цепочку инструментов, которая является общей для рабочего стола - GCC - это хорошо, но инструменты вообще CLI)
  • много используйте assert - вы можете высветить номер строки несостоявшегося assert с помощью одного светодиода - это неоценимо

Больше всего веселья - это все еще вызывает у меня улыбку, когда вы впервые получаете работу нового компонента (дисплей, двигатель, датчик). Внедрение заставляет мир вращаться :) 1033 *

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