-
- 32-битность позволяет полноценно программировать на C/C++. 16-битность -- ограниченно. 8-битность -- практически никак, очень ограниченно. - fk0(27.02.2020 00:26)
- Да, C++ было бы неплохо, но острой необходимости в нём нет. У нас 90% задач сводится к управлению портам, отправки/приёму данных через UART, ну и сетевые протоколы (UDP, TCP, HTTP, SNMP, DHCP и пр.). Под всё это есть собственные отлаженные FDA(256 знак., 27.02.2020 12:14)
- только зачем то C++, когда надо опросить порт, дрыгнуть ножкой и в ком порт чего-то кинуть. При этом на 8-ми битнике это сводится к чтению нескольких страниц и получению результата, а в 32-х битнике тонны документации, рассматриванию библиотек, User_(232 знак., 27.02.2020 10:54)
- Я C++ в большом программировании то не люблю, там пишу на C/Go/ADA изучаю раст. А в микроконтроллер его тащить такое... луче уж ADA SPARK. Под кресты нет толком формальной верификации - OlegPowerC(27.02.2020 02:32)
- Под ADA - для русского заказчика или таки для Пентагона? - Крок(27.02.2020 10:29)
- Язык Ада распространяется по баллистическим траекториям. - fk0(27.02.2020 23:18)
- Говорят, у нас Oberon имеет такую же тенденцию. - Evgeny_CD(28.02.2020 00:00)
- ADA уже умеет многое, но ее по прежнему игнорируют. Под STM32 много проектов. Так же есть поддержка RISC-V - OlegPowerC(27.02.2020 11:33)
- Уточняю вопрос: это личный выбор языка в силу удобства (пристрастия) или требование заказчика? - Крок(27.02.2020 12:02)
- Личный конечно. И с ним пока тяжело - но все впереди, у Ады как раз в Embeded есть потенциал - OlegPowerC(27.02.2020 12:04)
- Уточняю вопрос: это личный выбор языка в силу удобства (пристрастия) или требование заказчика? - Крок(27.02.2020 12:02)
- Язык Ада распространяется по баллистическим траекториям. - fk0(27.02.2020 23:18)
- A под Go, Ada, C есть что ли, верификация эта? "Мамой клянус"? C++ позволяет хотя бы не вошкаться руками с адресами, битами и байтами и наделать меньше ошибок, в основном логических. А в голом C всё отлаживать нужно, каждую мелочь (которая либо fk0(105 знак., 27.02.2020 10:11)
- Frama-C , gnatprove . Конечно есть. В C++ тоже есть уже контракты но это пока ещё совсем начало длинного пути, а пока Rust уже в Embeded.... - OlegPowerC(27.02.2020 11:30)
- т.е. меня даже поправят, если у меня указатель в массиве вылезет за его размер? - Лагунов(27.02.2020 10:29)
- На SPARK можно сделать pre post условия и прога не скомпилится если такое будет возможно. Ну на C тоже если использовать Frama-C например. - OlegPowerC(27.02.2020 11:35)
- Бензоколонка человеческим голосом сообщит. То есть в голом Си она тупо зависнет, а тут что-то пробормочет, а потом зависнет :-) - SciFi(27.02.2020 10:35)
- Это к слову об использовании WDT, тут не раз холивар поднимался разными людьми... POV_(215 знак., 27.02.2020 23:35, )
- Во-первых не обязательно прошивка кривая. Вследствии воздействия на МК внешних факторов, например, произошёл сбой в работе CPU и зацикливание его на некотором участке кода. Прибор не выполняет своих функций. Хорошо, если это настольный прибор fk0(1055 знак., 28.02.2020 00:34)
- и да, и такое было. Льет и выключается только рубильником (но очень редко). И девочки там все обученные. Рубильником щелкают мгновенно! :-) - Лагунов(28.02.2020 09:23)
- Это "за всё хорошее против всего плохого". Я просто не сталкивался с таким? и потому не понимаю о чем речь, не приходилось решать проблемы которых не знаю. - POV_(28.02.2020 00:37, )
- Во-первых не обязательно прошивка кривая. Вследствии воздействия на МК внешних факторов, например, произошёл сбой в работе CPU и зацикливание его на некотором участке кода. Прибор не выполняет своих функций. Хорошо, если это настольный прибор fk0(1055 знак., 28.02.2020 00:34)
- ну говорушечный модуль у меня есть. Если вставлю в HardFault_Handler фразу, то да. :-) - Лагунов(27.02.2020 16:30)
- Это к слову об использовании WDT, тут не раз холивар поднимался разными людьми... POV_(215 знак., 27.02.2020 23:35, )
- Под ADA - для русского заказчика или таки для Пентагона? - Крок(27.02.2020 10:29)
- А может полноценность определяется эффективностью решения задач за которые бабло платится? Ты еще билгейтса поучи как проги писать. - POV_(27.02.2020 00:40, )
- Эффективность решения в чём измерять? Вот бюджет в человекочасах потраченный на разработку и отладку измеряется просто и ассемблеры и 8-битные контроллеры там не выигрывают. - fk0(27.02.2020 01:46)
- АСМ - не торт, но 8 бит-то тут при чем? Если нет необходимости паралельно (прерывания-гиперлуп) менять многобайтные переменные, то нет проблем... POV_(645 знак., 27.02.2020 22:23, )
- Если измерять в человекочасах, то с заметным отрывом победит тот язык (среда), в котором есть больше готовых библиотек, подходящих для решения поставленной задачи. AlexBi(571 знак., 27.02.2020 11:26)
- Близко к истине, но есть ньюансы способные развернуть всё на 180 градусов. Так обычно можно сделать прототип, демку, но когда доходит до продуктового уровня, то начинаются ньюансы. И в память впихнуть нужно, и тактов не хватает, и какие-то баги в fk0(144 знак., 28.02.2020 00:11)
- А потом (как всегда внезапно) потребуется реализовать непредусмотренное в готовой библиотеке поведение или вылезет редко проявляющаяся бага - и разбирательство в чужих потрохах займет 5X от съэкономленного времени. - LightElf(27.02.2020 12:35)
- Чем более популярна библиотека, тем больше шансов, что бага уже выловлена. Хотя, какой-то риск имеется. Но, с другой стороны, собственная библиотека\код тоже может преподнести сюрпризы. Кругом есть риски. И современные процессоры могут удивить AlexBi(35 знак., 27.02.2020 16:26)
- Готовые популярные библиотеки имеют тенденцию становиться "библиотеками всего и сразу". При этом там запасливо раскладываются многослойные мегауниверсальные абстракции, жутко ведущие себя при любом нетривиальном применении и при этом LightElf(72 знак., 28.02.2020 11:34)
- "Библиотеки всего и сразу" вполне предсказуемо ведут себя в абсолютном большинстве обычных применений, иначе они не стали бы популярными. Обычно именно обычное применение и требуется. - AlexBi(28.02.2020 16:15)
- Железок и софтов для "обычного применения" - как говна за баней, смысл этим заниматься? Бапки несут именно за необычные применения. - LightElf(28.02.2020 16:36)
- Люто плюсую. Истину глаголите, коллега. - my504(28.02.2020 20:33)
- Железок и софтов для "обычного применения" - как говна за баней, смысл этим заниматься? Бапки несут именно за необычные применения. - LightElf(28.02.2020 16:36)
- "Библиотеки всего и сразу" вполне предсказуемо ведут себя в абсолютном большинстве обычных применений, иначе они не стали бы популярными. Обычно именно обычное применение и требуется. - AlexBi(28.02.2020 16:15)
- Готовые популярные библиотеки имеют тенденцию становиться "библиотеками всего и сразу". При этом там запасливо раскладываются многослойные мегауниверсальные абстракции, жутко ведущие себя при любом нетривиальном применении и при этом LightElf(72 знак., 28.02.2020 11:34)
- Чем более популярна библиотека, тем больше шансов, что бага уже выловлена. Хотя, какой-то риск имеется. Но, с другой стороны, собственная библиотека\код тоже может преподнести сюрпризы. Кругом есть риски. И современные процессоры могут удивить AlexBi(35 знак., 27.02.2020 16:26)
- Эффективность решения в чём измерять? Вот бюджет в человекочасах потраченный на разработку и отладку измеряется просто и ассемблеры и 8-битные контроллеры там не выигрывают. - fk0(27.02.2020 01:46)
- Сопроцессор для Вас :) -> - Evgeny_CD(25.02.2020 19:51, ссылка)
- K22 XLP есть с DMA. Но выбор необычный. Или IP Во внешнем устройстве - GSM модем, WizNet,...? Evgeny_CD(98 знак., 25.02.2020 19:43)
- В одном давнем проекте стоит WizNet - осталось хорошее впечатление. - OlegPowerC(27.02.2020 11:39)
- K22 имеют диапазон питания от 2.5 до 5.5В. Мы их часто и в 3.3В схемах используем и в 5В. Есть встроенный достаточно точный генератор. Для устройств, работающих в коммерческом диапазоне температур, кварц не ставим. С UART до скоростей 23400 FDA(105 знак., 25.02.2020 23:55)
- Q43 вообще крутизна по этой части! - Evgeny_CD(26.02.2020 00:01)
- Да ничего особенного. Это урезанный вариант K42. Да, покруче серии K22, т.к. там за те же деньги и флеша и озу в два раза больше, но с доставаемостью проблемы. - FDA(26.02.2020 00:14)
- 6 DMA вместо 2х, 8 CLC вместо 4х - крутое нынче обрезание :) И по тактовой посмотри - там полная частота всегда! При любом питании. - Evgeny_CD(26.02.2020 00:18)
- Да, уже пробежался по даташиту. Ну в диапазоне от 2.7 до 5.5В и у K22 частота полная. Но камешек, да, интересный. Закажу завтра на пробу. Жаль только, что с поставкой проблемы. По факту нашёл пока только в Компэле. Более-менее вменяемую партию FDA(30 знак., 26.02.2020 00:27)
- 2.7 до 5.5В - это заметно хуже 1.8-5.5. При 1.8 можно жить от двух щелочных, не иметь геморроя с пассивацией. - Evgeny_CD(26.02.2020 00:35)
- Да, уже пробежался по даташиту. Ну в диапазоне от 2.7 до 5.5В и у K22 частота полная. Но камешек, да, интересный. Закажу завтра на пробу. Жаль только, что с поставкой проблемы. По факту нашёл пока только в Компэле. Более-менее вменяемую партию FDA(30 знак., 26.02.2020 00:27)
- Хотя, не прав я. По периферии они аналогичны. Тогда не особо понимаю отличия... - FDA(26.02.2020 00:17)
- 6 DMA вместо 2х, 8 CLC вместо 4х - крутое нынче обрезание :) И по тактовой посмотри - там полная частота всегда! При любом питании. - Evgeny_CD(26.02.2020 00:18)
- Да ничего особенного. Это урезанный вариант K42. Да, покруче серии K22, т.к. там за те же деньги и флеша и озу в два раза больше, но с доставаемостью проблемы. - FDA(26.02.2020 00:14)
- Q43 вообще крутизна по этой части! - Evgeny_CD(26.02.2020 00:01)
- Это я попутал. K42 все же. - Evgeny_CD(25.02.2020 22:20)
- Ethernet внешний контроллер по SPI? - Evgeny_CD(25.02.2020 19:38)
- Да, ENC28J60. - FDA(25.02.2020 23:51)
- Но по цене Ваш вариант имеет мало смысла. PIC18 K42, Q43 это немного больше 1$, ENC28J60 это $2.3 Nuvoton M487SIDAE -> $3.63 в опте, + PHY менее $1 можно взять. При этом M487SIDAE это все же совсем другой класс MCU :) - Evgeny_CD(26.02.2020 00:32, ссылка)
- Связка K42 + ENC обходится нам сейчас в 290-300 руб. в партиях от 1000 шт. Переходить с ENC точно не будем, т.к. много отлаженного кода. Это не менее года работы. Заменить PIC на другой проще. Перейти на другой процессор в серии сложно, т.к. FDA(622 знак., 26.02.2020 00:39)
- Большое спасибо за обмен опытом. ENC28J60 - он до сих пор (и теперь уже навеки) довольно глючный. Evgeny_CD(554 знак., 26.02.2020 00:56)
- У тебя все с наскоку ;) Да кривые, да жручие. Но пока доступны. И менять годами испытанную (морозы и пр. прелести) реализацию ну никак не тянет ради амбициозных позывов. Ну и 10 Мбит тоже благо для некоторых применений... - Гудвин(26.02.2020 07:34)
- Я предложил рассмотреть альтернативу, а не сразу менять. Я не спорю Про 10м, 100м можно перевести в режим 10 only. Evgeny_CD(63 знак., 26.02.2020 08:36)
- 1. Все глюки ENC уже сто лет как известны и элементарно обходятся (1-2 строчки кода). FDA(718 знак., 26.02.2020 01:05)
- В этом и ценность. Мы не совращать друг друга собрались. Мы стремимся понять суть того или иного выбора. Но все же комплекс полунатурного моделирования возьмите на вооружение - уверяю Вас, у Вас там ошибок в коде живет изрядно :) - Evgeny_CD(26.02.2020 01:14)
- У тебя все с наскоку ;) Да кривые, да жручие. Но пока доступны. И менять годами испытанную (морозы и пр. прелести) реализацию ну никак не тянет ради амбициозных позывов. Ну и 10 Мбит тоже благо для некоторых применений... - Гудвин(26.02.2020 07:34)
- Большое спасибо за обмен опытом. ENC28J60 - он до сих пор (и теперь уже навеки) довольно глючный. Evgeny_CD(554 знак., 26.02.2020 00:56)
- Связка K42 + ENC обходится нам сейчас в 290-300 руб. в партиях от 1000 шт. Переходить с ENC точно не будем, т.к. много отлаженного кода. Это не менее года работы. Заменить PIC на другой проще. Перейти на другой процессор в серии сложно, т.к. FDA(622 знак., 26.02.2020 00:39)
- Но по цене Ваш вариант имеет мало смысла. PIC18 K42, Q43 это немного больше 1$, ENC28J60 это $2.3 Nuvoton M487SIDAE -> $3.63 в опте, + PHY менее $1 можно взять. При этом M487SIDAE это все же совсем другой класс MCU :) - Evgeny_CD(26.02.2020 00:32, ссылка)
- Да, ENC28J60. - FDA(25.02.2020 23:51)
- 32-битность позволяет полноценно программировать на C/C++. 16-битность -- ограниченно. 8-битность -- практически никак, очень ограниченно. - fk0(27.02.2020 00:26)