Присоединяюсь к тем, кто говорит, что без реальной задачи будет трудно что-то сделать, потому что применить знания:
Цитата
Знания общие (чтение):
- принципы ооп
- шаблоны проэктирования (например что-то от "банды четырех")
- системщина на линуксе
- сборка линукса (LFS чтиво)
- ОСи, теория (переоткрыть для себя книги Таненбаума)
- сетевые протоколы
- подноготная usb
- цифровая обработка сигналов
Специализированные знания (туториалы):
- удаленка на гите
- stm32fxxx, работа с перифирией
- работа с библиотеками от st: StdPeriph, HAL - решить с чем самому удобней.
- прикрутить любую из свободно доступных rtos
- перелопатить примеры с usb, ethernet...
- примеры работы с dma
- примеры настроек системного клока
- поштудировать реализации юзер интерфейсов
- читать, читать чужой код
в полном объеме в единичном проекте просто нереально. А держать все это в голове все время тоже нет смысла.
Мало того для того, чтобы решить какую-либо задачу не обязательно знать все обо-всем. Часто достаточно просто скачать пример и переделать его под себя.
В итоге вы окажетесь на уровне "плохого программиста", указанном zltigo:
Цитата
К программированию надо относиться СЕРЬЕЗНО и ПРОФЕССИОНАЛЬНО. Этого очень часто у железячников не происходит. Результат печален и выражается в том, самые плохие программисты получаются именно из железячников sad.gif sad.gif sad.gif. Это личный многолетний опыт наблюдения.
но уже не за 10 тысяч часов, а всего за 1000.
Но самое главное в другом - имея знания по железу, и нахватавшись знаний по программированию, вы имеете хорошие шансы перепрыгнуть этот уровень вообще и попасть на следующую ступень личного и карьерного развития - уровень системных интеграторов.
Хороших железячников много.
Хороших программистов тоже много
А вот тех, что может дать правильные задачи и тем и другим, гораздо меньше. Так как для этого нужно знать и одно и другое и часто принимать решения типа - реализовать ли это в железе или софте - что будет быстрее работать и легче в разработке и поддержке?
А как насчет ПЛИС vs DSP? Будете принимать решения и здесь, и не только на основе технологии или того, что умеете программировать.
Сталкивать отделы лбами и модерировать в нужном русле...
Короче это гораздо интереснее просто программирования.