На мой взгляд разработка устройства должна производится одним человеком. От схемы и до сдачи. Пусть это не система в целом, пусть это ее модуль, но для лучшего качества продукта разработчик должен сам отлично представлять себе, что и как будет работать, должен сам распределять задачу между аналоговой частью, если таковая есть, процессоров, ПЛИСов, и т.п. Если с чем-то не в силах справиться, то либо разобраться в этом вопросе, либо попросить другого разработчика помочь. Не раз видел, как программист разбирается с ПЛИСоделом, один говорит другому "да тебе это раз плюнуть", и в ответ слышит то-же. И полдня споров, типа что лучше - фифо или двухпортовку. Когда делает один человек, пусть даже с периодическим привлечением сторонних сил, такого не бывает никогда, и получается наиболее сбалансированная система. Не спорю, всего не узнаешь, например в RF/Microwave я не лезу, там для меня темный лес. Однако припрет - придется и туда вникать.
Сам так работал всегда, беря ТЗ и сдавая модуль/девайс. И по другой системе работать не желаю. Если знаешь схемотехнику (аналог), то и цифра не проблема, и далее ПЛИС. В общем - самосовершенствование должно иметь место. Вчера не знал, как работает импульсный DC/DC, сегодня-завтра почитал книжки, вник в математику и физику процессов, послезавтра разработал схему, через неделю, после пары взрывов, заработало. Зато в следующем проекте уже уверенно подходишь к аналогичной задаче. И так всегда. Через года два-три уже мастер на все руки в схемотехнике. Не надо бояться поставленных задач. Надо сразу смотреть с оптимизмом - "я справлюсь!" Если умеешь программировать - то все равно какой процессор... Новых ядер не бояться, их надо с интересом разбирать на части и применять. С каждым новым процом приходит опыт, знания, и, самое главное, появляется возможность выбирать в следующей разработке из бОльшего списка. Да и пятое ядро дается на порядок быстрее второго. И еще считаю, что программист ОБЯЗАН знать все тонкости функционирования ядра и периферии того МП, с которым имеет дело, и обязательно уметь программить на ассемблере. Т.е. первое - это всегда ассемблер, не знаешь его - не допускаешься к работе с данным ядром. С/C++ это желаемая опция, если надо для проекта.
|