- Напомните, пожалуйста, какими документами регламентируется подсчет контрольной суммы программы в приборах коммерческого учета? - rezident(10.06.2013 22:19, MCU, полностью)
- Посоветуйте камень для изучения. Как-то по типу заказов (в основном какой-нить "эксклюзив") хватало семейства АВР (использую всё - от самых tiny до Xмег), но вот последнее время как-то стали иногда появляться более крупные задачи Adept(1839 знак., 08.06.2013 01:20 - 03:51, MCU, полностью)
- В силу распостраненности - ARM. Более предметно - Cortex-M3,-M4 (есть умножение/деление). Ассемблер не намного сложнее AVR. Кроме ST можно обратить внимание на TI, Atmel, Freescale, Energy Micro - argus98(10.06.2013 15:26)
- Вот и открылись "известные причины", по которым автору не нужны сформировавшиеся специалисты. Мама/папа/квартира оказались не виноватые. - mr-x(08.06.2013 21:07)
- 8051 для асма - самое оно. Даже AVR Atmel позиционирует, как заточенные под Си. - _basile(08.06.2013 18:45)
- BlackFin - чудесная система команд, погружаться в которую можно бесконечно, для извращенцев - самое оно. Ну и 400-700 мипс спасёт любой говнокодинг. - =AlexD=(08.06.2013 15:55)
- Если отбросить спорные моменты про производительность и объем ОЗУ, то я бы предложил RL78 от Renesas. - Vladimir Ljaschko(08.06.2013 15:39)
- Автор сумасшедший??? Микропотребление, реалтайм и др. страшные слова -- это ещё алгоритмы со сложностью мало совместимой с ассемблером. При нормальном программировани C vs ассемблер разницы особой нет. Человек в среднем (а не на fk0(2980 знак., 08.06.2013 13:10 - 13:43)
- dsPIC - все соответствует, кроме среды. Система команд чудесная, 30-70 MIPS, периферии выше крыши, долгосрочностью поставок Микрочип широко известен. А к среде (MPLAB 8) тоже можно приспособиться, хотя могла бы быть и поаккуратнее. Но Cortex MBedder(23 знак., 08.06.2013 12:40)
- TMS320F28335 от Тексаса (не знаю, устроит ли по экономичности, а так всем остальным пожеланиям соответствует). Но Си лучше все-таки изучить, ибо программить сей камень на асме - тот еще почечуй, прости господи... - serge_dem(08.06.2013 09:59)
- Надо было в пятницу утром спросить - Alex B.(08.06.2013 03:02)
- сплошная рекурсия противоречивые параграфы. Snaky(501 знак., 08.06.2013 02:08)
- Я тоже считаю, что разумней немного поставить всё с ног на голову. Вначале формируем какие-то "потребительские свойства", делаем электронную схему, но без МК, Т.З. всё равно не напишем, так что пишем проект для PC, например, и на нём оцениваем fk0(365 знак., 08.06.2013 13:15)
- +100500 - koyodza(08.06.2013 10:52)
- Про борьбу с оптимизаторами, знаю из наблюдений борьбы сотоварища с GCC в АВРстудии :) Про выбор МК - полный бред, извините. Правильный выбор диктуется не квалификацией разработчика, а потенциальными возможностями МК, Adept(1464 знак., 08.06.2013 02:28 - 02:31)
- Забавно было бы понаблюдать вашу "борьбу за такты" на ARM при написании программы на ASM. Точнее понаблюдать бы за вашим изумлением, когда та же программа, написанная на Си, заработала бы в разы быстрее :) Ибо оптимизировать вручную rezident(93 знак., 08.06.2013 15:02)
- С такими
тараканами замашками Вам нужны контроллеры профессионального уровняTM :-) - SciFi(08.06.2013 10:18, ссылка)
- Борьбы с оптимизатором ни разу не видел. А насчет прозрачности - попытки сделать красивый исходник на ASM ведут почти к самодельному Си, с тем же оверхедом, но со значительно большими трудозатратами. Есть класс задач, где лучше подходит ASM, но Лeoнид Ивaнoвич(61 знак., 08.06.2013 02:51)
- яростно плюсую - koyodza(08.06.2013 10:53)
- Борьба с оптимизатором, на мой взгляд от незнания/непонимания языка и от неправильного его применения. По поводу прозрачности - мне мои исходники нравятся :)) Adept(1534 знак., 08.06.2013 03:16 - 03:40)
- "я слишком тупой, чтобы писать на Си" - ВО! ПРимерно у меня то же самое. :-) - Лагунов(08.06.2013 10:30)
- Много лет писал на ассемблере, но ничего такого при переходе на Си не почувствовал. Писать легче, оверхед на удивление небольшой, ошибок компилятора не замечено ни при каком уровне оптимизации. Теперь с ужасом смотрю на собственные исходники на Лeoнид Ивaнoвич(78 знак., 08.06.2013 04:08)
- думаете пора опять попробовать ?? может быть, действительно попробовать?? Исторически мои взаимоотношения с языками программирования строились примерно так: Adept(261 знак., 08.06.2013 04:22 - 04:24)
- Не знаю, в чем ужас. Лично мне FORTRAN вспоминается с меньшим ужасом, чем ASM. Ну а пробовать или нет - Лeoнид Ивaнoвич(80 знак., 08.06.2013 04:31)
- Конкуренты? Конкуренты при таком подходе со смеху помирают :) - Alex B.(08.06.2013 04:41)
- ну ну :)) вот вам одна из задачек: Adept(930 знак., 08.06.2013 04:53 - 05:08)
- и сколько нынче за такую разработку платят ? - scorpion(08.06.2013 18:47)
- Сюда однозначно просится MSP430 с набортным радио, но $1 не получится ни на каком проце даже при миллионных тиражах и производсте на рабских плантациях Буркина Фасо - MBedder(08.06.2013 12:43)
- Что, и лог в 32 байтах умещается? - Юра(08.06.2013 09:57,
)
- точность +/-1 С за доллар + мк + фотометрия? ну кому Вы сказки рассказываете, заказчику? а в целом задача лишь подтрверждает, что асм применим в ряде узкоспециальных задач - AVF(08.06.2013 09:28)
- Кортекс тут не нужен, а что Вы имеете против Си для этой задачи? - Лeoнид Ивaнoвич(08.06.2013 05:33)
- банально не хватит ресурсов, ибо тут копеечный МК, с 0,5К флешем и 32 байтами ОЗУ (в частности - tiny5). Какие тут нахрен Си ?? - Adept(08.06.2013 05:41)
- Писал на Си даже для ATtiny12, которая вообще без ОЗУ :) - Лeoнид Ивaнoвич(08.06.2013 11:57)
- Это такой же экстремизм, как агрессивное неприятие Си :-) - SciFi(08.06.2013 11:59)
- да, согласен, крайность это всегда ненормально (вот поэтому я и думаю насчёт АРМА + Си (пока не нахожу явных предпочтений Си над АСМом для моих задач, хоть и понимаю, Adept(117 знак., 08.06.2013 14:23)
- Это не рекомендация, а так, к сведению :) - Лeoнид Ивaнoвич(08.06.2013 12:08)
- вероятно, для Асм и Си есть разные ниши применения,+ для каждого разработчика своё :) кому-то и для tiny2313 уже Си подавай, а мне, так на всю линейку АВР асма вполне хватало, си и даром не надо. Вот с АРМами - действительно вопрос. Adept(970 знак., 08.06.2013 13:37)
- Были такие люди -- телевизоры ремонтировали. Куда-то пропали. И с ассемблером то же самое будет. - fk0(08.06.2013 13:48)
- Долго переубеждать - неблагодарное занятие. Фраза "прозрачность АСМ-кода" вызывает лишь улыбку. - Лeoнид Ивaнoвич(08.06.2013 13:40)
- Не знаю, как у Вас (хоть Ваши проекты вызывают уважение), но мои исходники повольно понятные и мне не составляет труда "поднять" проект, скажем 5-летней давности. Видел многие примеры Си-кода, которые абсолютно непонятны Adept(2952 знак., 08.06.2013 14:11)
- А почему люди пишут в комментариях во множественном числе: Запускаем, считаем, проверим, присвоим, сохраним? - Юра(09.06.2013 00:40,
)
- А в чём преимущества-то? AD(126 знак., 08.06.2013 16:49)
- кода больше в строка, меньше в байтах, исполняется быстрее и без программных ошибок :) так будет правильнее, хотя, по "Законам Мерфи", последнее можно поставить под сомнение :)) - Adept(08.06.2013 17:02)
- В том-то и дело, что этот код больше и медленнее аналогичного на С. AD(37 знак., 08.06.2013 17:15)
- листинг в студию :) Вы будете отверждать, что на Си простую локальную задачу решите более эффективно?? В корне неверное утверждение, хотя бы потому, что результат работы компилятора - ассемблер (т.е. тот же машинный код) Adept(801 знак., 08.06.2013 17:37 - 18:37)
- Сколько не видел ассемблерщиков, ни один на ассемблере писать-то и не умел. AD(2369 знак., 08.06.2013 18:51)
- и почему я должен искать ошибки в чужом коде (нет работы с compare регистром таймера, неполноценна работа с АЦП, все... дальше не смотрел :( Adept(407 знак., 08.06.2013 19:09 - 19:14)
- Спор о том, что Вы хуже знаете ассемблер, чем его знает компилятор Си. А прогонять Вашу программу в отладчике, простите, это уже слишком. - Лeoнид Ивaнoвич(08.06.2013 19:29)
- Да нет, не мою, свою :) только уж если браться сравнивать, то нужно потрудиться написать полностью аналогичный алгоритм, так как Adept(1003 знак., 08.06.2013 20:32)
- Про "Си-автору неизвестна структура программы" хотелось бы подробнее, но боюсь спровоцировать волну гнева ;) - Vladimir Ljaschko(09.06.2013 05:35)
- Действительно, не стоит провоцировать. Человек никак не хочет понять, что мы это всё проходили: и полную неприязнь Си, и придумывание "железных" аргументов в защиту ASM, и споры с сишниками до мордобоя. Только такие войны в основном прошли лет 10 Лeoнид Ивaнoвич(7 знак., 09.06.2013 12:12)
- Да чего уж там :) для того, чтобы корректно сравнивать, не плохо было бы посмотреть дефайны с распределением ресурсов МК (по крайней мере тех, что используются в данном примере, или что бы не думать тупо использовать аналогичные регистры и ячейки Adept(692 знак., 09.06.2013 05:59)
- Правильно сказал AD, компилятор Си генерирует лучший код, чем большинство ассемблерщиков. Это достаточный повод перейти на Си. А если у Вас всё так хорошо, то и незачем затрагивать тему. Лeoнид Ивaнoвич(209 знак., 08.06.2013 20:58)
- Наверное, потому что я этот кусок и не писал? Откуда я знаю, что там скрыто за макросами? AD(131 знак., 08.06.2013 19:22)
- Плавающей точки в программах для микроконтроллеров не применял ни разу. Лeoнид Ивaнoвич(84 знак., 08.06.2013 17:59)
- Ужас. Большая часть Вашей портянки на Си будет выглядеть так: Лeoнид Ивaнoвич(151 знак., 08.06.2013 16:19)
- Это нечитаемо Ralex(1088 знак., 08.06.2013 14:37)
- Вы за деревьями не видите леса. Это лишь частности. Архитектура ПО в целом играет более важное значение, чем какие-то отдельные алгоритмы с комментариями. А в частности, у вас, например, неизвестно есть ли какие-либо соглашения о (не)использовании fk0(141 знак., 08.06.2013 14:17)
- MSP430G2230 (встроенный датчик температуры, SO-8, 5.0х6.2х1.7 мм максимум - по размеру вроде лезет, если нет - есть собратья в TSSOP14/QFN16) + светодиод как фотодатчик, он же приёмопередатчик данных - и программка на Си в сотню строк неспеша - Vit(08.06.2013 09:53 - 09:57)
- читаю и такое впечатление, что Вы почему-то уверенно противопоставляете ARM и STM32. это так или мне только кажется? - Vit(08.06.2013 02:41)
- Кто по программным модемам силен -> Подскажите пожалуйста какой нибудь протокол переносимый контроллером до 8МИПС для FSK или PSK модуляции модема cо скоростью до 9600 бод с хорошей защитой от импульсных помех. Желательно из вашего опыта или дайте Make_Pic(53 знак., 09.06.2013 16:40, MCU, полностью)
- LAPM, MNP, PPP (HDLC), etc... Ничего нового. 8 MIPS, кажется, мало. Иначе можно поверх навернуть FEC на базе кодов рида-соломона, например, или что-то в этом роде. С другой стороны, закон Парето (80/20) намекает нам, что оно скорей бессмысленно. fk0(230 знак., 09.06.2013 19:07)
- SILICON LABS TO ACQUIRE ENERGY MICRO - вот это номер! - Alex B.(07.06.2013 16:44, MCU, ссылка, полностью)
- Не помню уже, поднимал ли энту тему. Можно ли в ИАРе узнать свободный размер "кучи" ? - tesla(01.06.2013 12:22, MCU, полностью)
- есть ли софтинка, подобная iperf, но способная чтобы клиент запрашивал у сервера необходимый UDP-траффик, тот генерил и отправлял клиенту ? Пока что только клиент шлет траффик на сервер, либо полудуплекс. - MegaJohn(05.06.2013 00:49, MCU, полностью)
- Оказывается в WinHex есть templat`ы которые помогают массив байт смотреть как структуру и соотвесвенно редатировать. Вот пример на WAV MegaJohn(04.06.2013 23:02, MCU)
- Посоветуйте плз вариант USB MSPFET подешевле. Кто-нить пробовал от Олимекса вот этот? Отладка не нужна, только программирование кристаллов. Какой программой это делается? Vladimir Ljaschko(04.06.2013 18:16, MCU, полностью)
- Попробовал обойтись без микросхемы LFE для активации. С MSP340F1121A вполне работало (подсоединял LC контур к входам аналогового компаратора, измерял частоту в течении 2 мс). С MSP430G2 не прокатило - происходит самовозбуждение на частоте контура. - Гудвин(02.06.2013 22:19, MCU, полностью)
- Помогите, люди добрые VVB(321 знак., 31.05.2013 13:31, MCU, полностью)
- кому интересно, работающий ресемплер (интерполятор)[>] - MegaJohn(31.05.2013 23:49, MCU, ссылка, полностью)
- Братья и сестры! Выбираю железо для для он-лайн обработки видео. Скорее всего HD. И скорее всего несколько каналов. Переформатирование, запись и т.д. Был опыт работы с BF. Там вроде богато с готовыми библиотеками. По ссылке плата с которой вроде Евлампий Адольфович(227 знак., 31.05.2013 15:10, MCU, ссылка)
- А у решения с EEPROM есть одна существення проблема: выключение питания не вовремя надёжно гробит записываемые значения. Так что один фиг нужна какая-то обёртка (программная) над записью и более чем одной копии настроек во flash (eeprom), и fk0(1487 знак., 29.05.2013 13:35, MCU, полностью)reZident
- Эта проблема с внешней EEPROM не так актуально, там запись побайтная. А вот если питание пропало между стиранием страницы и записью в нее массива, погибнет всё. А две страницы по 1k на эмуляцию 56 байт EEPROM - это маразм. - Лeoнид Ивaнoвич(29.05.2013 14:21)
- гробит только последнюю запись. Предыдущие остаются, последняя находится по правильной к.с. - zeleny(29.05.2013 13:51)
- Требуется не программная надстройка, а аппаратная, в виде конденсатора. Снижается напряжение - сохранились (если до того успешно прочитались) Vladimir Ljaschko(516 знак., 29.05.2013 13:40)
- Хорошая мысль. Тем более, конденсатор уже есть, нужно лишь добавить сигнал детектирования пропадания сети и по нему начинать стирание страницы и запись массива. Она гарантированно пройдет. А всё остальное время работать в ОЗУ. - Лeoнид Ивaнoвич(29.05.2013 14:25)
- За слова о конденсаторе сжигать нужно. Потому, что запись может прерваться не только в силу отключения питания. Вредные факторы: 1) сбои в ПО, как ни странно (да, в момент записи), 2) электромагнитное излучение и статическое электричество, fk0(350 знак., 29.05.2013 14:00 - 14:08)
- Да ну. А мне вот нужно зафиксировать момент, когда пользователь батарейку вынул из прибора или об стену его треснул, так, что сопли полетели. Если электроника жива, она должна сей момент зафиксировать. Конденсатор, конденсатор, если только от Хитрый Китаец(41 знак., 29.05.2013 17:28)
- Описанные сбои могут привести к ложному вызову функции записи с подсчетом и обновлением контрольной суммы. Так что спасения нет. А с конденсатором решение вполне надежное, делал как-то в серийном курятнике, лет 10 заводом производились, может и Лeoнид Ивaнoвич(35 знак., 29.05.2013 15:12)
- с конденсатором все нормально, что бы накосячить нужно иметь ну очень кривые руки. Nikolay801_(200 знак., 29.05.2013 15:02)
- Звучит как "у меня всё работает". Я выше написал чётко, что питание не является единственным фактором. И кроме того, "маскимальное потребление" может быть весьма высоким. Для шины 3.3в в целом. И её весьма тяжело схемотехнически отвязать от fk0(193 знак., 29.05.2013 15:18)
- запасать не 3В, а входное, U-квадрат дает большой запас, Nikolay801_(249 знак., 29.05.2013 15:27 - 15:32)
- "у меня все работает" вообщето нормальный аргумент. - Nikolay801_(29.05.2013 15:28)
- поставить не в курятник, а в цех, и словить "бороду" при просадке, которая пролетит через все люмини и "обычные" стабилизаторы на 3В питание/ресет во время той самой записи... - Vit(29.05.2013 15:37)
- читай про спутник еще раз. Nikolay801_(99 знак., 29.05.2013 15:43)
- fk0 прав - само наличие EEPROM не спасает, а конденсаторы только вселяют ложную уверенность - Vit(29.05.2013 16:15)
- мой бывший начальник говорил: "Вы не говорите мне как нельзя сделать, скажите как можно сделать" Nikolay801_(33 знак., 29.05.2013 16:57)
- Почему ложную? Всё проверяется практикой. А практика показывает, что решение с конденсатором дает приемлемую частоту сбоев. - Лeoнид Ивaнoвич(29.05.2013 16:24)
- у меня вполне "приемлимая частота сбоев" в топливо-заправочных колонках за последние 15 лет. НО! Любому из клиентов на это совершенно насрать. Заправка встала у НЕГО и сейчас! - Лагунов(30.05.2013 06:18)
- Тоже самое. Если взять величину входного конденсатора с запасом и перед сохранением программно отключить мощные нагрузки чтобы не разряжали его, то решение очень надежно. Dir(373 знак., 29.05.2013 17:03)
- У меня обратная практика. На конденсатор не закладываюсь. А вот восстановление везде проложено. Да, бывает, что это не нужно, незаконченная транзакция некритична и т.д, т.е. "приемлемо", "нормально", "у меня всё работает". - Vit(29.05.2013 16:43)
- Совершенно непонятно. Практика с конденсатром должна быть положительной. Может быть, был косяк в другом месте? - Лeoнид Ивaнoвич(29.05.2013 16:54)
- В первом приближении конденсатора хватает. Супервизор обычно внешний - можно отследить - находятся условия, когда ловит бороду. Речь может идти о минимизации вероятности сброса во время записи, но она, к сожалению, всё-равно ненулевая. А если Vit(505 знак., 29.05.2013 17:17)
- Конечно ненулевая. Ну и пусть, во всем нужно знать меру. И какое протирание до дыр? Если значения пользователем не менялись, то и сохраняться ничего не будет, пусть питание как угодно дергается. - Лeoнид Ивaнoвич(29.05.2013 18:06)
- С энкодером можно нарваться. Значение может +-1 прыгать несколько раз в секунду. Если стоит где-то на грани. Причём проявиться это может когда мехника энкодера разболтается слегка. Или от внешней засветки, если оптический, ровно 50 раз в секунду... - fk0(29.05.2013 19:18)
- Гм, обычно, если параметр изменяют с помощью енкодера, (да и с помощью кнопок INC/DEC) то ждут какое-то время, и только потом, если нужно, записывают новое значение. Каждое изменение никто не пишет, зачем? И у какого это оптического енкодера может alex68(105 знак., 29.05.2013 20:01)
- Если такое происходит, то разработчика вместе с его энкодером надо (Вы лучше знаете, что). - Лeoнид Ивaнoвич(29.05.2013 19:44)
- согласен, протираться будет, если сохранять безусловно. у меня обычно есть что писать чаще раза в секунду, а недозаписанное после сброса пытается перезаписаться. - Vit(29.05.2013 18:32)
- те Вы думаете если сам прибор не работает (а при частых перезапусках он работать не будет), то то что он не будет сбрасывать настройки это устроит юзера? Nikolay801_(10 знак., 29.05.2013 17:51)
- Подтверждаю. Работают десятки тысяч устройств, например те же кровати, в которых запоминается положение медицинской кровати во время выключения. - Vladimir Ljaschko(29.05.2013 16:27)
- Решение с конденсатором летает, и давно. Все нормально там успевает и помехи не страшны. - alex68(29.05.2013 16:27)
- +1. При эффективном программировании поток глюков и ошибок не нужно стремить к нулю, а нужно лишь держать ниже некого порогового значения. - Лeoнид Ивaнoвич(29.05.2013 15:30)
- Кстати говоря, было бы полезной фичей, если бы в контроллерах сделали отдельное питание для cortexM0 сопроцессора и SRAM. - =AlexD=(29.05.2013 14:12)
- Ниже уже предложили FRAM использовать. - rezident(29.05.2013 13:45)
- Подскажите по SD card VVB(816 знак., 29.05.2013 08:19 - 14:15, MCU, полностью)
- А чего это Evgeny_CD молчит? ;-) Вчера компания представила процессоры семейства Atom E600C, которые сочетают в одной упаковке ядро Atom E600 (Tunnel Creek) и программируемую матрицу Altera FPGA. =AlexD=(98 знак., 23.11.2010 08:39, MCU, ссылка, полностью)