Если это тот NAS, о котором идёт речь в ваших статьях, то это уже универсальный комбайн. Видеовыход, аудиовыход, GPIO, внутренние порты USB, питание дисков выведено на провода, а не подключается по средствам доп платы или sata разъёмов на основной плате, контроллер sata не распаян на плате, а устанавливается отдельно. Не забываем про радиаторы для микросхем, которые потребуются, чтобы в режиме 24/7 NAS не перегревался. Для обдува не должен использоваться маленький вентилятор воющий на полных оборотах, который попадался в некоторых статьях на фотографиях. Вот и получается одноплатник/девборда, которая будет конкурировать с десятками подобных устройств. Тут даже не критикую решение использовать SODIMM модуль, для прототипа допустимо, для серии нужно видеть цифры, чтобы понять в оправданности такого решения. sdy Отвечу сразу про архитектуру. Да вы говорите всё верно, сделать базовый вариант, а дальше его расширять, но по фото из вашей статьи получается, что вы делаете наоборот, вначале расширенный вариант, а дальше будете его обрезать? Если же это и есть базовый вариант, то высок риск в итоге получить противоречие между "Универсальностью" + "Модернизацией" и "Доступностью".
Выдержка из статьи ''Разработка NAS — цели и этапы''
Несущая плата сейчас активно разводится, при этом все основные разъемы для подключения кабелей и модулей уже расставлены:
Никакой. Один девайс, одна функция. Если делается NAS, то он должен максимально качественно выполнять свою основную функцию. Судя по предыдущим статьям, у вас уже получается не NAS, а мини-ПК с возможностью подключения SATA дисков. Как следствие пойдёт удорожание и будет сложнее конкурировать с узкоспециализированными устройствами.
Какое-то время назад искал недорогой одноплат на ARM с sata портами, чтобы подключить туда пачку 2.5" sata дисков и получить колхозный NAS. Специализированных плат не особо то нашёл (за разумные средства само собой), возможно даже нет специализированных ARM SoC под это дело. Лично мне как пользователю интересен не дорогой, компактный ARM-based NAS на 4-6 SATA портов под sata диски 2.5", 1GbE, 120/140 мм не шумный вентилятор, от силы пара USB портов про запас и охлаждение CPU/RAM/PWM через контакт с корпусом.
Когда на одной и той же плате прошивка от производителя сенсор видит, а открытая прошивка не видит, то
сенсор исправен и работает. А значит остаётся только понять, что нужно поправить в прошивке) Предварительно проверив плату на схематехническую совместимость.
Как по мне, запустить сенсор на плате, на которой ни у кого не работает это действительно интересно. Или даже если не запустить, то объяснить в чём проблема. Тем более, что принтер уже работает, а плата возможно всё ещё лежит без дела и готова для экспериментов)
Если верить картинкам из статьи, то 4.2.2 303ий мк, а на 4.2.7 103ий мк. И прошивки между ними по идеи не совместимы. А ещё могут быть отличия по схемотехнике, хотя когда есть рабочая плата, то проверить разводку и обвязку двух датчиков не большой сложности задача. А вот собрать marlin под gd-шку с рабочей конфигурацией всех необходимых датчиков для не подготовленного человека может быть не столь простой задачей. Хотя пара хороших примеров и даже это вполне достижимая цель.
Могу ошибаться, но всегда казалось, что гигидевайсы это практически полные клоны стм-ов. Для их прошивки через openocd рекомендуют использовать сценарии от стм-ок, что как бы намекает.
К этому не очень скромному гигадевайсу нет SDK
Беглый поиск по сайту производителя выдаёт библиотеки, примеры и шаблон для keil/iar. Ссылка.
Предположу, что замена платы была излишней, возможно всё бы решилось компиляцией прошивки под данный мк.
Предположу, что есть договорённости с вендорами, которым поставляют ОЕМ лицензии. В духе, мы вам дадим скиду не 30%, а 25%, но при этом вы сможете лучше продавать новое/дорогое железо.
Очень хорошо. Приятно читать законченные и проработанные статьи автора. Раздел демотивации получился скомканным, это однако не помешает интересующимся руководителям задать уточняющие вопросы напрямую автору.
По сути вопроса. Крайне бы не рекомендовал переход из области обеспечения в область исследования/разработки. Если всё же есть желание попробовать, то лучше идти помощником руководителя и вливаться в работу под присмотром опытного наставника. Важно понять насколько отличается деятельность людей в исходной и осваиваемой области. При этом придётся изучать новую область как исполнителю, вникать в непосредственную работу, много читать теории и даже пытаться осваивать практику. Придётся перестараивать многие устоявшиеся шаблоны рабочей деятельности.
Смена области деятельности это всегда огромный труд по работе над собой. Придётся очень много догонять и имеющийся опыт вряд ли будет помогать, а зачастую будет сильно мешать. Необходимо отдавать себе отчёт, что это будет шаг назад и только потом два шага вперёд. Если подходить к данной затеи с мыслями «попробую, не получится — вернусь обратно», то может и не стоит впустую тратить время.
Заказывал с али GD32F330F8P6TR, заменить мк в контроллерах led ленты. Плату было делать лень, заказал там же переходник TSOP20 в DIP20 и навесным докинул обвязку, получилось не очень красиво, зато минимум затрат по времени. За применение лазерного утюга почёт и уважение, мне не хватило духу поменять 10 переходников за 50р на самодельную плату.
Если правильно помню qt creator можно из исходников собрать. Даже если всё там закроют, на форке можно пару десятков лет просидеть, особенно в не очень быстро меняющейся индустрии встраиваемого ПО. Могут быть юридические нюансы, но тут не силён. Хотя как можно запретить выкладывать на сайте шаблонный проект и ссылку на IDE, я плохо представляю)
С окнами давно не имею дела, 10ка была настолько ужасной, что перейти на линукс было проще. Однако у программистов не помню подобных проблем с отладкой под виндой. Под мк всё равно используется связка гдб+опеносд.
Обычно любят то, с чем умеют работать или то с чем умеют работать специалисты, которых смогли нанять. Обращаю внимание, во что вкладывает производитель, в квалификацию сотрудников или в покупку готовых решений. А то был случай, когда пришлось драйвер допиливать, чтобы он стал работать. В том случае была тотальная экономия и на сотрудниках, и на готовых решениях.
Пробежал глазами по Zhele. На вид довольно интересно. Спрошу наверное самый стандартный вопрос, какая разница в ресурсах/производительности относительно реализации на Си?
Попробую предположить, почему подобное мало используют. Железячники очень консервативный народ. Ресурсов на вхождение и освоение нужно в разы больше, чем в голом софте. Переучиваться на плюсы, когда работает на Си, не все хотят (некоторых индивидов приходилось выгонять с ассемблера на си). Ещё любят считать, что разработчик должен сделать схему, плату, написать прошивку и отладить железо, а учиться в свободное от работы время и желательно за свой счёт. Сверху заливаем это компаундом прекрасными зарплатами, относительно более востребованных разработчиков, и в этой ситуации удивляться уже нечему.
Разные процессора + разные ядра, я вот про подобное же статейку писал. Там даже можно было компилировать через командную строку с указанием под какое железо собрать проект (это как раз разработчик qbs в коменте писал). Qt creator хорошая софтина, не пойму почему под него разработчики микросхем не делают шаблоны.
Простите за нескромный вопрос, а зачем CMake в работе с CortexM?
Согласен наличие выбора сред разработок радует. Каждый может выбрать по вкусу и возможностям.
Я пытался продвигать qbs. Статейку даже тут писал, интереса особо не вызывала, железячники народ консервативный. Зато разработчик qbs объяснил мне, что же я сделал в своём проекте)
Рассматривали QT-creator + qbs для работы с мк?
Выложить наработки в открытый доступ возможности нет, правильно понимаю?
Поделюсь опытом. С эклипсом не заладилось, уж очень хорошо падал, медленно запускался, ломал весь рабочий процесс. По возможности пытаюсь использовать qt+qbs. Разработчики qbs вроде даже читают/пишут на хабре.
Если делаю шаблонный проект пытаюсь выкладывать. Может кому будет полезен, может разработчики железок заметят и тоже будут выкладывать шаблоны под qbs. Эх мечты.
Раз пошли ассоциации на животную тему, то и свои мысли на вопросы автора выскажу аналогично.
1. Птенец не поймёт почему его вытолкнули из гнезда, пока сам не будет выталкивать своих птенцов.
2. Хорошо откормленный и обученный птенец полететь сможет, а значит и еду найдёт.
3. Птичьей стаи нет дела до того, как отдельная особь птенцов выводит, если всё хорошо. А как что-нибудь изменится, там будут разбираться.
Ну вот, чтобы понять, что должен делать тимлид, нужно понять, что это вообще за строчка в штатном расписании. Teamlead от англ. team leader — руководитель группы. Тут сразу видно объект применения — «группа», читай непосредственные исполнители и то, что с ними делают. Из чего легко сделать вывод, что занимается тимлид в первую очередь людьми, не кодом, не продуктом/проектом, не мытьём полов, людьми.
Идём дальше, как он этим должен заниматься? То есть какова цель его действий. Наверное в том, чтобы его «подданные» максимально эффективно исполняли свои обязанности. Вот приходит под вечер пятницы ПМ после совещания, глаза светятся, лицо горит, жопа тоже горит, идеи из всех щелей лезут, говорит давай собирай народ, сейчас будем улучшать всё на 146%. И что нужно тимлиду делать? Бросить все дела и собирать всех от стажёра до сеньора или отправить ПМ-а отсыпаться до понедельника (а то и до следующего полного сбора)? Получается тимлид излоирует команду от лишних внешних воздействий. Развивает проф. навыки в соответствии с желанием и возможностями специалиста, не давать Васе задачи по бд, когда ему интересна алгоритмика, Коли не давать коммуникативных задач, если он просил меньше общения. И это ещё не затрагивая организацию внешних и внутренних коммуникаций. Работа по организации людей, даже без учёта конкретной специализации, не такая простая, но когда она хорошо сделана, разница очевидна.
Вот теперь вернёмся к вопросу, что тимлид может в реальности делать. Сложим ваши описание тимлида и получаем, что тимлид должен затыкать все дыры в работе коллектива. Некому писать код, пишет код. Некому делать ревью — делает ревью. Некому разработать архитектуру — разрабатывает. И по останочному принципу занимается прямым обязанностями
Ну и заодно выступает щитом для разработки от вопросов А когда будет готово?
От сюда делается вывод. Это не тимлид. Это типичный герой автора статей, одной из которых мы сейчас накручиваем рейтинг. Работает за руководителя, за программиста, за архитектора, подрабатывает за пм-а. И всё делает хуже, чем мог бы, времени то не хватает. А знаете почему ему нужно писать код? Это его отдушина в этом аду и соломка на тот момент, когда он выгорит, чтобы не остаться без средств к существованию и пойти работать хотя бы простым программистом.
Тимлид сидящий на продуктовой встрече? Там сидит ПМ и иже с ним, если конечно его строчку не оптимизировали.
Тимлид пишет код? Это делают программисты, но тут тоже бывает оптимизация. Может тимлиду ещё полы начать мыть, чтобы навык не утрачивать.
Код дизайн у тимлида? А что и за архитектора работу делать?
Это всё не обязанности тимлида, которые на него могут упасть лишь в случае, когда на прямых исполнителей этих обязанностей было сэкономлено. Тимлид может уметь всё это делать, но если это его обязанности, тимлид ли он?
З.Ы. Универсальный сотрудник, этот тот который делает всю работу одинаково плохо.
В первую очередь тимлиду, это его паства. В его компетенции следить, кто, кого и чему учит. Если мидла будет «учить» сеньор (под надзором того же тимлида), то ± будет понятно, чему мидл будет «учить» джуна.
В данной схеме важно, чтобы у всех участников не было более 80-90% загруженности, иначе на «передачу опыт» будет назначен низкий приоритет и эффективность будет откровенно хромать.
Вот о5 25! Зачем портить специалистов? Если они занимались программированием, то пусть им и занимаются. Если они выросли из сеньёров, повысить до архитекторов и дать им в подчинение сеньёров, пусть с ними работают. Зачем давать им джунов (если ещё джунов, а не стажёров), разница в квалификации не позволит эффективно взаимодействовать. Джунов поручить мидам и тимлидам, они вполне справятся.
Есть ощущение, что так делают из-за банальной экономии на раздельных позициях пм/тл/архитектов, сваливая всё работу на программистов. В результате и старое сломали, и новое не построили. Разделение труда ведь не просто так придумали, может в этом есть смысл.
Ну опять рефлексия в ключе «посмотрите в какую жопу мы опять залезли». Если уважаемый автор занимается проектной работой, то от него ждёшь статью в стиле:
«Случилось такая ситуация, теперь это у нас Риск №025, его мы парируем такими-то пунктами в договоре, раннее обнаружение по следующим признакам, наценка при данных признаков N.M%, инструкции для сотрудников при работе вот такие. „
Если снимать с дрона, нужно рассматривать проводные варианты. И не забыть реализовать доп камеру, чтобы следить за мячом и уворачиваться от него.
Всегда менял стандартный диспетчер задач на Process Explorer. От того же разработчика, но с бОльшим функционалом.
Если это тот NAS, о котором идёт речь в ваших статьях, то это уже универсальный комбайн. Видеовыход, аудиовыход, GPIO, внутренние порты USB, питание дисков выведено на провода, а не подключается по средствам доп платы или sata разъёмов на основной плате, контроллер sata не распаян на плате, а устанавливается отдельно. Не забываем про радиаторы для микросхем, которые потребуются, чтобы в режиме 24/7 NAS не перегревался. Для обдува не должен использоваться маленький вентилятор воющий на полных оборотах, который попадался в некоторых статьях на фотографиях. Вот и получается одноплатник/девборда, которая будет конкурировать с десятками подобных устройств. Тут даже не критикую решение использовать SODIMM модуль, для прототипа допустимо, для серии нужно видеть цифры, чтобы понять в оправданности такого решения.
sdy Отвечу сразу про архитектуру. Да вы говорите всё верно, сделать базовый вариант, а дальше его расширять, но по фото из вашей статьи получается, что вы делаете наоборот, вначале расширенный вариант, а дальше будете его обрезать? Если же это и есть базовый вариант, то высок риск в итоге получить противоречие между "Универсальностью" + "Модернизацией" и "Доступностью".
Несущая плата сейчас активно разводится, при этом все основные разъемы для подключения кабелей и модулей уже расставлены:
![image](https://habrastorage.org/r/w1560/getpro/habr/upload_files/723/c33/9a5/723c339a52d504d372a4918b7644f4e0.png)
Никакой. Один девайс, одна функция. Если делается NAS, то он должен максимально качественно выполнять свою основную функцию. Судя по предыдущим статьям, у вас уже получается не NAS, а мини-ПК с возможностью подключения SATA дисков. Как следствие пойдёт удорожание и будет сложнее конкурировать с узкоспециализированными устройствами.
Какое-то время назад искал недорогой одноплат на ARM с sata портами, чтобы подключить туда пачку 2.5" sata дисков и получить колхозный NAS. Специализированных плат не особо то нашёл (за разумные средства само собой), возможно даже нет специализированных ARM SoC под это дело. Лично мне как пользователю интересен не дорогой, компактный ARM-based NAS на 4-6 SATA портов под sata диски 2.5", 1GbE, 120/140 мм не шумный вентилятор, от силы пара USB портов про запас и охлаждение CPU/RAM/PWM через контакт с корпусом.
сенсор исправен и работает. А значит остаётся только понять, что нужно поправить в прошивке) Предварительно проверив плату на схематехническую совместимость.
Как по мне, запустить сенсор на плате, на которой ни у кого не работает это действительно интересно. Или даже если не запустить, то объяснить в чём проблема. Тем более, что принтер уже работает, а плата возможно всё ещё лежит без дела и готова для экспериментов)
Беглый поиск по сайту производителя выдаёт библиотеки, примеры и шаблон для keil/iar. Ссылка.
Предположу, что замена платы была излишней, возможно всё бы решилось компиляцией прошивки под данный мк.
По сути вопроса. Крайне бы не рекомендовал переход из области обеспечения в область исследования/разработки. Если всё же есть желание попробовать, то лучше идти помощником руководителя и вливаться в работу под присмотром опытного наставника. Важно понять насколько отличается деятельность людей в исходной и осваиваемой области. При этом придётся изучать новую область как исполнителю, вникать в непосредственную работу, много читать теории и даже пытаться осваивать практику. Придётся перестараивать многие устоявшиеся шаблоны рабочей деятельности.
Смена области деятельности это всегда огромный труд по работе над собой. Придётся очень много догонять и имеющийся опыт вряд ли будет помогать, а зачастую будет сильно мешать. Необходимо отдавать себе отчёт, что это будет шаг назад и только потом два шага вперёд. Если подходить к данной затеи с мыслями «попробую, не получится — вернусь обратно», то может и не стоит впустую тратить время.
С окнами давно не имею дела, 10ка была настолько ужасной, что перейти на линукс было проще. Однако у программистов не помню подобных проблем с отладкой под виндой. Под мк всё равно используется связка гдб+опеносд.
Обычно любят то, с чем умеют работать или то с чем умеют работать специалисты, которых смогли нанять. Обращаю внимание, во что вкладывает производитель, в квалификацию сотрудников или в покупку готовых решений. А то был случай, когда пришлось драйвер допиливать, чтобы он стал работать. В том случае была тотальная экономия и на сотрудниках, и на готовых решениях.
Пробежал глазами по Zhele. На вид довольно интересно. Спрошу наверное самый стандартный вопрос, какая разница в ресурсах/производительности относительно реализации на Си?
Попробую предположить, почему подобное мало используют. Железячники очень консервативный народ. Ресурсов на вхождение и освоение нужно в разы больше, чем в голом софте. Переучиваться на плюсы, когда работает на Си, не все хотят (некоторых индивидов приходилось выгонять с ассемблера на си). Ещё любят считать, что разработчик должен сделать схему, плату, написать прошивку и отладить железо, а учиться в свободное от работы время и желательно за свой счёт. Сверху заливаем это
компаундомпрекрасными зарплатами, относительно более востребованных разработчиков, и в этой ситуации удивляться уже нечему.Согласен наличие выбора сред разработок радует. Каждый может выбрать по вкусу и возможностям.
Я пытался продвигать qbs. Статейку даже тут писал, интереса особо не вызывала, железячники народ консервативный. Зато разработчик qbs объяснил мне, что же я сделал в своём проекте)
Выложить наработки в открытый доступ возможности нет, правильно понимаю?
Поделюсь опытом. С эклипсом не заладилось, уж очень хорошо падал, медленно запускался, ломал весь рабочий процесс. По возможности пытаюсь использовать qt+qbs. Разработчики qbs вроде даже читают/пишут на хабре.
Если делаю шаблонный проект пытаюсь выкладывать. Может кому будет полезен, может разработчики железок заметят и тоже будут выкладывать шаблоны под qbs. Эх мечты.
1. Птенец не поймёт почему его вытолкнули из гнезда, пока сам не будет выталкивать своих птенцов.
2. Хорошо откормленный и обученный птенец полететь сможет, а значит и еду найдёт.
3. Птичьей стаи нет дела до того, как отдельная особь птенцов выводит, если всё хорошо. А как что-нибудь изменится, там будут разбираться.
Идём дальше, как он этим должен заниматься? То есть какова цель его действий. Наверное в том, чтобы его «подданные» максимально эффективно исполняли свои обязанности. Вот приходит под вечер пятницы ПМ после совещания, глаза светятся, лицо горит, жопа тоже горит, идеи из всех щелей лезут, говорит давай собирай народ, сейчас будем улучшать всё на 146%. И что нужно тимлиду делать? Бросить все дела и собирать всех от стажёра до сеньора или отправить ПМ-а отсыпаться до понедельника (а то и до следующего полного сбора)? Получается тимлид излоирует команду от лишних внешних воздействий. Развивает проф. навыки в соответствии с желанием и возможностями специалиста, не давать Васе задачи по бд, когда ему интересна алгоритмика, Коли не давать коммуникативных задач, если он просил меньше общения. И это ещё не затрагивая организацию внешних и внутренних коммуникаций. Работа по организации людей, даже без учёта конкретной специализации, не такая простая, но когда она хорошо сделана, разница очевидна.
Вот теперь вернёмся к вопросу, что тимлид может в реальности делать. Сложим ваши описание тимлида и получаем, что тимлид должен затыкать все дыры в работе коллектива. Некому писать код, пишет код. Некому делать ревью — делает ревью. Некому разработать архитектуру — разрабатывает. И по останочному принципу занимается прямым обязанностями
От сюда делается вывод. Это не тимлид. Это типичный герой автора статей, одной из которых мы сейчас накручиваем рейтинг. Работает за руководителя, за программиста, за архитектора, подрабатывает за пм-а. И всё делает хуже, чем мог бы, времени то не хватает. А знаете почему ему нужно писать код? Это его отдушина в этом аду и соломка на тот момент, когда он выгорит, чтобы не остаться без средств к существованию и пойти работать хотя бы простым программистом.
Тимлид пишет код? Это делают программисты, но тут тоже бывает оптимизация. Может тимлиду ещё полы начать мыть, чтобы навык не утрачивать.
Код дизайн у тимлида? А что и за архитектора работу делать?
Это всё не обязанности тимлида, которые на него могут упасть лишь в случае, когда на прямых исполнителей этих обязанностей было сэкономлено. Тимлид может уметь всё это делать, но если это его обязанности, тимлид ли он?
З.Ы. Универсальный сотрудник, этот тот который делает всю работу одинаково плохо.
В данной схеме важно, чтобы у всех участников не было более 80-90% загруженности, иначе на «передачу опыт» будет назначен низкий приоритет и эффективность будет откровенно хромать.
Есть ощущение, что так делают из-за банальной экономии на раздельных позициях пм/тл/архитектов, сваливая всё работу на программистов. В результате и старое сломали, и новое не построили. Разделение труда ведь не просто так придумали, может в этом есть смысл.
«Случилось такая ситуация, теперь это у нас Риск №025, его мы парируем такими-то пунктами в договоре, раннее обнаружение по следующим признакам, наценка при данных признаков N.M%, инструкции для сотрудников при работе вот такие. „