Re: [uanog] об индусах и программировании, или о том почему всё глючит...
Привет ! Friday, April 13, 2018, 1:00:28 PM, Alexandr Baryshnyev abb@abbon.net you wrote: AB> та ладно так уж переживать-то. Индус поставленую задачу небось выполнил? раком но выполнил. Только вот вопрос: ЗАЧЕМ ему тогда MSP430 ? камень-то не зря появился, значит кто-то умный читал про камень, и решил выиграть за счет камня свои дела в бизнесе? А индус "помог"... AB> Ну и по поводу ARM32 против MSP430 тоже хочется сказать вкратце. Да, AB> очень эстетичный малопотребляющий камешек MSP430, только он производится AB> единственной компанией в мире и ни с чем несовместим, ну кроме как с AB> PDP-11 (ага, это было круто 35лет назад, СМ-4, Электроника-125, AB> Электроника-60, ДВК, помним детство золотое). Не страшно все яйца в AB> одну-то корзинку складывать? Ведь камешек не новый, а ну как перестанут AB> выпускать? Или фирма-изготовитель например того, прекратит так сказать AB> существование, поглотится/обакротится? И как там со средствами AB> разработки/отладки? Во первых MSP430 это семейство , целая "среда обитания" :-) там много разных камней, и каждый имеет похожесть в философии. Я до того как лезть - все внимательно читал и взвешивал. ТехасИнструменты - фирма не первого года, с историей хорошей и своими наработками, Университетом рядом, в котором и для которого решения откатываются. В росийские счетчики электроэнергии загляните - там чипы MSP стоят :) ( и не только в росийские, в наших тоже) миллионными тиражами выпускается и продается, и не один год. Банкротить? :) с какого перепугу? это не Эпл, это не "мождный разработчик прикладух" - там индустрия - микросхемы, транзисторы, МК и прочее. Почитай на досуге - что такое Техас Инструментс. ...и кроме MSP430 есть MSP432 и ССХХХХХХХ и то что с TMS начинается - загляни в свой жесткий диск - там TMS контроллеры не редкость . И выбирал я не по ностальгии - а по тому что только у них есть. и не год есть а лет 10 минимум как есть. в отличие от STM, который вылез на рынок недавно , и решил всех пересадить на себя подкупив низкой ценой. Пример еще почему? почитай про FRAM память имени MSP430 . А потом найди хоть что-то подобное у других производителей. Вперед! :)) Средство разработки - очень развесистое, с ГУИ интерфейсом, Сями всех видов, с поддержкой фирменной - БЕСПЛАТНО. скачал и пользуйся - обновляться не забывай только. AB> А вот ARM32 как ядро заложен много кое где, причем диапазон возможностей AB> при копеечных ценах реально впечатляет. меня не впечатляет. STM в реалтайм системах, как и сам АРМ по философии, не может гарантировать время выполнения операций, в том числе по "сложить в стек" и по DMA, о чем все молчаливо умалчивают. Разработчиков "спасает" только то что производительность заранее ставят высокую, запредельную для задач, в надежде что "с запасом хватит". Именно для таких вот "индусов-программистов". печально это. И ваши мобилки тормозят и глючат именно из-за этого. AB> но ведь стоит копейки и изучать надо только одну платформу. ну да... Виндовс тоже хотел всех на себя пересадить - как-то не вышло :) AB> 13.04.2018 12:00, Alexander V Soroka пишет:
ну вообще-то ЛЮБОЕ начинание с программированием надо начинать с "профайлинга", т.е. "а что мы хотим получить в итоге и как это должно рабоать", а уже потом под "это" подбирается железо-микроконтроллер. А уже потом составляется блок-схемы и общая философия "как ЭТО тут будет работать". А уже потом - начинается кодинг :)
А если вот так как индус - то это видно что он "слезал" с чего-то совсем простого типа Атмела или PICа, где нет такой красивой архитектуры и поддержки в железе. Но ПОНЯТЬ новую философию не пытался - тупо решил вопрос так как уже решал на простом железе :-((
Я сознательно переползаю на MSP430 а не на "модные нынче" STM, именно из-за красивости архитектуры при хорошей цене и возможностях "на вырост". И не понимаю "модных писателей кода" которые лезут на STM микроконтроллеры, при этом выбирают 8-и битные модели а пишут на С++ с разными заковыками - когда после них видишь ассемблерный код - то рука-лицо и хочется такого писателя убить, чтобы не портил своим генофоном население Земли.
Обычно народ не парится: как начал на Атмега8 так потом просто более мощные чипы подсовывает - не понимая что смена философии в мозгах это и смена философии в железе.
Но все равно грустно...
Friday, April 13, 2018, 10:04:12 AM, Vladimir Sharun vladimir.sharun@ukr.net you wrote: VS> Сильно депендс от отрасли. У нас был эксперимент и так и так. VS> Оказалось, что корректное програмирование VS> в среднесрочной уже перспективе - экономически выгоднее. Провели VS> эксперимент "давайте задавим железом", VS> а когда под конец операции "задавим железом" посмотрели на VS> сколько было потрачено - тут же поменяли вектор VS> на давайте писать по концепции: написали "как есть", профайлинг, "как надо". VS> В людей инвестировать правильнее. В творческих - в квадрате правильнее. VS> PS: с первого раза правильно написать код весьма сложно, т.к. у VS> нас профайлера нет в голове, только общие VS> базисы "правильно это написать так".
VS> 13 квітня 2018, 09:42:28, від "Volodymyr Litovka"
: VS> Саша, по нынешним временам писать код быстро экономически более выгодно, VS> чем писать хорошо. Не всегда, но во многих случаях. VS> Ведь когда закончится чип 7х7мм, можно поставить второй такой, а не ещё VS> два стола :) А пока "красавцы" вылизывают свой код, "дятлы" уже продают VS> решение.
VS> On 4/13/18 9:29 AM, Alexander V Soroka wrote:
Привет !
Преамбула. Я занимаюсь программированием микроконтроллеров, вот уже лет 20 как. и давно присматривался к MSP430FRxxxx, от Техас Инструментс. По сути это PDP-11 в размере 7 на 7мм ! то что у меня в 1986 году занимало два стола - сейчас занимает один чип 7 на 7мм!!! Это волшебство :) Изучаю MSP430 - уже перерыл многое и понимать стал какая КРАСИВАЯ(!!!) архитектура построения! Техасцы просто гении :) Это песня просто для мультизадачных вещей !!!
Пока рыл примеры - нарвался на индуса, он задавал вопрос на саппорт: https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/602194
Суть кратко: индусу надо запустить АЦП так чтобы оно сделало три измерения с разных каналов, и прервалось по факту когда АЦП будет записывать третье(с третьего канала) значение в память.
АЦП там умное! ему можно сказать: "замеряй с канала номер Х до канала номер У и записывай само в память, МИНУЯ ПРОЦЕССОР! " Причем ! какие каналы после каких мерять - ЗАПИСЫВАЕМ(!) в регистры, т.е. нет тупого 1-2-3... а можно сделать любое: 2-1-5-8...
А что сделал Индус? он сделал так что АЦП меряет по кругу три канала, но он вписал что после каждого записи в память(!) готового значения АЦП будет вызываться прерывание! НАХУЯ ??? А для того - всего-то - чтобы переписать , прикинь ПЕРЕПИСАТЬ !!! значение из МЕМ-ячейки АЦП в "глобальную переменную"! бля мудак... вот потому и глючит всё вокруг ! бо такие пидарасы пишут проги! :((((
из его текста: ADCValue1 = ADC12MEM1 ;
ADCValue1 - это его "глобальная переменная". ADC12MEM1 - это ГЛОБАЛЬНОЕ(!) расположение ячейки 16 бит куда пишется с АЦП значение че намеряло АЦП на том канале который ему сказали в эту ячейку ложить. повторяю: ГОЛОБАЛЬНОЕ! т.е. доступное из проги на С в любом месте и в любое время!
Ну не мудак? Ведь зачем прерываться по готовности данных АЦП если его спецом сделали чтобы оно само по себе работало! БЕЗ проца и прерываний! тупо сам модуль по кругу(как настроишь) идет в канал, меряет, записывает в память, потом идет на новый канал и т.п.
а ячейка ADC12MEM1 - это и так ГЛОБАЛЬНОЕ место - оно отовсюду из твоей проги доступное! Это прибитое гвоздями место в микросхеме!
и еще мудак сделал в майн процедуре __delay_cycles(5000); // Delay between conversions верх маразма ! теперь мы еще процессором ждем АЦП !
Нахуя тогда инженеры ТехасИнструментс старались и строили такую архитектуру??? чтобы индус вот так разом помножил на ноль ПРОИЗВОДИТЕЛЬНОСТЬ чипа???
Мозгов его не хватило сделать философию проще: 1) пусть АЦП там само по кругу, и пишет само в память - МИНУЯ проц! никаких прерываний работы проца вообще!
2) когда нам потребуется результат из этого канала АЦП - мы просто делаем в любом месте нашей проги, НЕ В ПРЕРЫВАНИИ: ADCValue1 = ADC12MEM1 ;
и ВСЁ!!!!!!!!!!!!!!!!! и далее бегаем уже со своим ADCValue1 и везде с ним считаем, то что нам надо - не отрывая проц на постоянные(!) прерывания и укладывание в память 14 циклов всего в стек, чтобы потом поднимать 14 циклов из стека, и так с частотой считывания АЦП умножить на три канала!
Ну не мудаки-же такие программеры???
Бля......... я теперь понимаю почему всё глючит и лагает...
-- Best regards, Alexander V Soroka http://www.svr.ua/ AS106-RIPE mailto:alex@euro.net.ua _______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
hi, Fri, Apr 13, 2018 at 13:16:12, alex wrote about "Re: [uanog] об индусах и программировании, или о том почему всё глючит...":
миллионными тиражами выпускается и продается, и не один год. Банкротить? :) с какого перепугу? это не Эпл, это не "мождный разработчик прикладух" - там индустрия - микросхемы, транзисторы, МК и прочее. Почитай на досуге - что такое Техас Инструментс.
Но они точно так же могут закрыть своё направление, если увидят сильное падение продаж.
...и кроме MSP430 есть MSP432
"It is based on a 32-bit ARM Cortex-M4F CPU, and extends their 16-bit MSP430 line..." То же про CCxxxx...
Пример еще почему? почитай про FRAM память имени MSP430 . А потом найди хоть что-то подобное у других производителей. Вперед! :))
Хм, ну если FRAM нет в MSP432, то это что-то значит? Она слишком проблемная, или малая плотность?
Средство разработки - очень развесистое, с ГУИ интерфейсом, Сями всех видов, с поддержкой фирменной - БЕСПЛАТНО. скачал и пользуйся - обновляться не забывай только.
Вот это, да, в плюс. AB>> А вот ARM32 как ядро заложен много кое где, причем диапазон возможностей AB>> при копеечных ценах реально впечатляет.
меня не впечатляет. STM в реалтайм системах, как и сам АРМ по философии, не может гарантировать время выполнения операций, в том числе по "сложить в стек" и по DMA, о чем все молчаливо умалчивают.
ARM может. Сама ISA никак не требует кэша или чего-то подобного, и позволяет делать предельно точное обещание времени операции. А вот наличие кэша вносит огромный разброс в показатели; хотя ARM при этом всё равно имеет исполнения с хитростями типа "предвыборка на 2 команды вперёд", малые гарантированные времена работы кэша и т.д. Но с этим надо явно работать, рассчитывая в нужных случаях. Ну и опять же про MSP432. Зачем-то они на ARM сделали?
Разработчиков "спасает" только то что производительность заранее ставят высокую, запредельную для задач, в надежде что "с запасом хватит". Именно для таких вот "индусов-программистов". печально это. И ваши мобилки тормозят и глючат именно из-за этого.
С мобилками проблемы никак не в скорости работы кэша - самые большие задержки кэша всё равно в десятки тысяч раз меньше времени, которое замечает человек, а локальность обеспечивает эффективность "в среднем". Там вместо этого существенно, например, как работает GC. Одно из тех, почему у Apple обычно плавнее работа - отсутствие GC и предпочитание RC. Для Java (как на Андроиде, кроме native частей) более-менее плавный ход GC (без заметных потерь времени/памяти) это разработки только нескольких последних лет и ещё толком не успели внедриться в практику.
AB> но ведь стоит копейки и изучать надо только одну платформу. ну да... Виндовс тоже хотел всех на себя пересадить - как-то не вышло :)
Он неоправданно сложнее и вреднее. -netch-
Привет ! Friday, April 13, 2018, 3:09:41 PM, Valentin Nechayev netch@netch.kiev.ua you wrote:
миллионными тиражами выпускается и продается, и не один год. Банкротить? :) с какого перепугу? это не Эпл, это не "мождный разработчик прикладух" - там индустрия - микросхемы, транзисторы, МК и прочее. Почитай на досуге - что такое Техас Инструментс.
VN> Но они точно так же могут закрыть своё направление, если увидят VN> сильное падение продаж. А кто у нас вечен ? :) любой производитель может. Так что, ничего не разрабатывать?
Пример еще почему? почитай про FRAM память имени MSP430 . А потом найди хоть что-то подобное у других производителей. Вперед! :)) VN> Хм, ну если FRAM нет в MSP432, то это что-то значит? Она слишком VN> проблемная, или малая плотность?
это революционная память по возможностям. Почитай. Это как в Винде: выключил питание - а потом пришел включил и не надо загрузку Винды, программ с жесткого и программы снова - все в памяти есть уже - с того места где "выкл" нажал - все на месте, просто процессор вперед считать. При выключении FRAM помнит все, и скорость ее работы как у ОЗУ... Почему не ставят везде? а почему флешки с 1000 записей до сих пор производят если давно есть технология записи на фазовых переходах, которая в сотни раз быстрее? ответ прост: еще старые заводы и фотошаблоны не стерлись :) сотрутся от старости (от зарабатывания бабла) - будут новые заводы и новые решения. :-)
Средство разработки - очень развесистое, с ГУИ интерфейсом, Сями всех видов, с поддержкой фирменной - БЕСПЛАТНО. скачал и пользуйся - обновляться не забывай только.
VN> Вот это, да, в плюс. Вообще сейчас (несколько лет уже) все производители чипов-микрконтроллеров, имени себя дают бесплатно среду разработки. Есть отдельные фирмы - типа CVAVR и IAR, которые пытаются свои среды разработки за многа баксов продавать - но то такое :) рынок есть рынок.
STM в реалтайм системах, как и сам АРМ по философии, не может гарантировать время выполнения операций, в том числе по "сложить в стек" и по DMA, о чем все молчаливо умалчивают.
VN> ARM может. Сама ISA никак не требует кэша или чего-то подобного, и VN> позволяет делать предельно точное обещание времени операции. и даже если DMA использовать ? :) будет точное время отработки? и посмотри сколько всего он в стек должен уложить при любом чихе с прерыванием и CALL... VN> Ну и опять же про MSP432. Зачем-то они на ARM сделали? в угоду рынку. Другие делают вот и мы. Штобы было все у нас как и у них :) типа вы чипы покупайте у нас, а мы сделаем вам и АРМ - тока не переходите никуда. VN> С мобилками проблемы никак не в скорости работы кэша - самые большие VN> задержки кэша всё равно в десятки тысяч раз меньше времени, которое VN> замечает человек, а локальность обеспечивает эффективность "в среднем". VN> Там вместо этого существенно, например, как работает GC. VN> Одно из тех, почему у Apple обычно плавнее работа - отсутствие GC и VN> предпочитание RC. Для Java (как на Андроиде, кроме native частей) VN> более-менее плавный ход GC (без заметных потерь времени/памяти) это разработки VN> только нескольких последних лет и ещё толком не успели внедриться в практику. Я вообще не понимаю зачем пошли в сторону "графических карт". Просто кусок памяти отображаемый в телевизор - самое быстрое, простое и супер по производительности решение. Никаких шин и обработок по дороге от проца к памяти и изображению. -- Best regards, Alexander V Soroka http://www.svr.ua/ AS106-RIPE mailto:alex@euro.net.ua _______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
hi, Fri, Apr 13, 2018 at 15:33:35, alex wrote about "Re: [uanog] об индусах и программировании, или о том почему всё глючит...":
миллионными тиражами выпускается и продается, и не один год. Банкротить? :) с какого перепугу? это не Эпл, это не "мождный разработчик прикладух" - там индустрия - микросхемы, транзисторы, МК и прочее. Почитай на досуге - что такое Техас Инструментс.
VN> Но они точно так же могут закрыть своё направление, если увидят VN> сильное падение продаж.
А кто у нас вечен ? :) любой производитель может. Так что, ничего не разрабатывать?
Безусловно. Я к тому, что именно это не является преимуществом MSP430.
это революционная память по возможностям. Почитай. Это как в Винде: выключил питание - а потом пришел включил и не надо загрузку Винды, программ с жесткого и программы снова - все в памяти есть уже - с того места где "выкл" нажал - все на месте, просто процессор вперед считать. При выключении FRAM помнит все, и скорость ее работы как у ОЗУ...
Почитал. Про "скорость как ОЗУ" однозначно ерунда. "Existing 350 nm devices have read times on the order of 50–60 ns." "current FeRAMs may complete a write in less than 150 ns." При том, что в SRAM это сотни пикосекунд. В DRAM тоже, после того, как строка "открыта" и перелита в буферную SRAM, а на полный цикл закрытия-открытия строки в современных версиях 25-30 нс. Если к FRAM приладить контроллер, аналогичный таковому в DRAM, можно получить скорость, немного меньше исходной SDRAM (и около 1/5 от DDR4), но теряется преимущество в безусловной сохранности - при выключении питания надо успеть сохранить строку. По сравнению с DRAM и с флэшом - крайне низкая плотность даже по сравнению с NOR flash. Количество циклов до деградации существенно выше (триллионы, если не врут, по сравнению с ~1M у NOR flash), но при такой плотности преимущество будет, только если использовать её как RAM. При выделенном устройстве под конфигурацию/etc. - не лучше NOR flash. Под прошивки, понятно, не лучше, чем NAND flash.
Почему не ставят везде? а почему флешки с 1000 записей до сих пор производят если давно есть технология записи на фазовых переходах, которая в сотни раз быстрее? ответ прост: еще старые заводы и фотошаблоны не стерлись :)
FRAM уже 13 лет от реального запуска в промышленный выпуск. "Fujitsu and Seiko-Epson were in 2005 collaborating in the development of a 180 nm FeRAM process." За это время заводы обновились чуть менее чем все, а шаблоны давно стёрлись (они вообще живут несколько месяцев в лучшем случае). Так что технология прикольная, но не настолько. Кстати, пишут, что при этом она ещё страдает проблемами исходных версий ферромагнитной памяти - когда чтение было разрушающим. В конце жизни классической памяти на ферритовых сердечниках появились неразрушающие чтения, но там запоминающий элемент хитрой формы - два тоннеля под прямым углом друг к другу. Видимо, это ещё сложнее делать в микросхеме, раз не делают...
STM в реалтайм системах, как и сам АРМ по философии, не может гарантировать время выполнения операций, в том числе по "сложить в стек" и по DMA, о чем все молчаливо умалчивают.
VN> ARM может. Сама ISA никак не требует кэша или чего-то подобного, и VN> позволяет делать предельно точное обещание времени операции.
и даже если DMA использовать ? :) будет точное время отработки? и посмотри сколько всего он в стек должен уложить при любом чихе с прерыванием и CALL...
Ну так сколько именно уложить это вопрос чисто количественный. Вопрос качества это именно гарантия времени. В случае DMA зависит от метода арбитража общей шины. Что там сейчас в этой области в embedded - не знаю, но если есть правильный арбитраж в MSP430, не было бы проблемы перетащить его в ARM...
Я вообще не понимаю зачем пошли в сторону "графических карт". Просто кусок памяти отображаемый в телевизор - самое быстрое, простое и супер по производительности решение. Никаких шин и обработок по дороге от проца к памяти и изображению.
В том и дело, что ЦП заткнётся, если не вынести все эти шейдеры в тысячи маленьких медвежат^W шейдерных процессоров... Ну слишком дофига там возни... -netch-
Привет ! по Киеву, помещение 20-50м2 технологическое надо. Работа 2-3 человека, пайка, сборка. не в ебенях очень желательно, хорошо бы недалеко от метро. питание до 5кВт, доступ желательно с охраной, есть периодически щумящее оборудование (небольшой ЧПУ) на продолжительное время, без "подарков" от арендодателя. Для себя подыскиваю :) -- Best regards, Alexander V Soroka http://www.svr.ua/ AS106-RIPE mailto:alex@euro.net.ua _______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
Переезжайте во Львов :) . Помещение есть, около 50м2, почти даром, есть охрана (одна бабка/дедка с наганом и две собаки), рядом электроподстанция, шум до лампочки, рядом метро "Лембергська" :), без подарков, интернет есть. Та короче, простаивает зря. Да и Киев практически рядом - 550км всего. 20.04.2018 9:33, Alexander V Soroka пишет:
Привет !
по Киеву, помещение 20-50м2 технологическое надо. Работа 2-3 человека, пайка, сборка. не в ебенях очень желательно, хорошо бы недалеко от метро. питание до 5кВт, доступ желательно с охраной, есть периодически щумящее оборудование (небольшой ЧПУ) на продолжительное время, без "подарков" от арендодателя.
Для себя подыскиваю :)
-- Best regards, Alexandr B. Baryshnyev, e-mail: abb@abbon.net _______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
Привет ! Второй такой-же "грамотный" индус нашелся.... https://forum.43oh.com/topic/1528-about-dma-on-adc12/?page=2&tab=comments#comment-13765 тушите свет... бля - решил человек проблему со сьемом 15 каналов одновременно (рука-лицо). Смотрим в код - все 15 каналов описал... (рука-лицо = 2раза) а до этого спрашивал как ускорить - через DMA данные перегонять в память после АЦП... ему дали советов - но он "справился" по-своему. (рука-лицо). ...просто слов нет! ...это все из области "как на ноль помножить всё быстродействие УМЕЛЫМ написанием программы"... Friday, April 13, 2018, 1:16:12 PM, Alexander V Soroka alex@euro.net.ua you wrote: AVS> Friday, April 13, 2018, 1:00:28 PM, Alexandr Baryshnyev abb@abbon.net you wrote: AB>> та ладно так уж переживать-то. Индус поставленую задачу небось выполнил? AVS> раком но выполнил. AVS> Только вот вопрос: ЗАЧЕМ ему тогда MSP430 ? камень-то не зря появился, AVS> значит кто-то умный читал про камень, и решил выиграть за счет камня AVS> свои дела в бизнесе? А индус "помог"... AB>> Ну и по поводу ARM32 против MSP430 тоже хочется сказать вкратце. Да, AB>> очень эстетичный малопотребляющий камешек MSP430, только он производится AB>> единственной компанией в мире и ни с чем несовместим, ну кроме как с AB>> PDP-11 (ага, это было круто 35лет назад, СМ-4, Электроника-125, AB>> Электроника-60, ДВК, помним детство золотое). Не страшно все яйца в AB>> одну-то корзинку складывать? Ведь камешек не новый, а ну как перестанут AB>> выпускать? Или фирма-изготовитель например того, прекратит так сказать AB>> существование, поглотится/обакротится? И как там со средствами AB>> разработки/отладки? AVS> Во первых MSP430 это семейство , целая "среда обитания" :-) там много AVS> разных камней, и каждый имеет похожесть в философии. AVS> Я до того как лезть - все внимательно читал и взвешивал. AVS> ТехасИнструменты - фирма не первого года, с историей хорошей и своими AVS> наработками, Университетом рядом, в котором и для которого решения AVS> откатываются. AVS> В росийские счетчики электроэнергии загляните - там чипы MSP стоят :) AVS> ( и не только в росийские, в наших тоже) AVS> миллионными тиражами выпускается и продается, и не один год. AVS> Банкротить? :) с какого перепугу? это не Эпл, это не "мождный AVS> разработчик прикладух" - там индустрия - микросхемы, транзисторы, МК и AVS> прочее. Почитай на досуге - что такое Техас Инструментс. AVS> ...и кроме MSP430 есть MSP432 и ССХХХХХХХ и то что с TMS AVS> начинается - загляни в свой жесткий диск - там TMS контроллеры не AVS> редкость . AVS> И выбирал я не по ностальгии - а по тому что только у них есть. AVS> и не год есть а лет 10 минимум как есть. AVS> в отличие от STM, который вылез на рынок недавно , и решил всех AVS> пересадить на себя подкупив низкой ценой. AVS> Пример еще почему? почитай про FRAM память имени MSP430 . AVS> А потом найди хоть что-то подобное у других производителей. Вперед! AVS> :)) AVS> Средство разработки - очень развесистое, с ГУИ интерфейсом, Сями AVS> всех видов, с поддержкой фирменной - БЕСПЛАТНО. AVS> скачал и пользуйся - обновляться не забывай только. AB>> А вот ARM32 как ядро заложен много кое где, причем диапазон возможностей AB>> при копеечных ценах реально впечатляет. AVS> меня не впечатляет. AVS> STM в реалтайм системах, как и сам АРМ по философии, не может AVS> гарантировать время выполнения операций, в том числе по "сложить в AVS> стек" и по DMA, о чем все молчаливо умалчивают. AVS> Разработчиков "спасает" только то что производительность заранее AVS> ставят высокую, запредельную для задач, в надежде что "с запасом AVS> хватит". AVS> Именно для таких вот "индусов-программистов". AVS> печально это. AVS> И ваши мобилки тормозят и глючат именно из-за этого. AB>> но ведь стоит копейки и изучать надо только одну платформу. AVS> ну да... Виндовс тоже хотел всех на себя пересадить - как-то не вышло AVS> :) AB>> 13.04.2018 12:00, Alexander V Soroka пишет:
ну вообще-то ЛЮБОЕ начинание с программированием надо начинать с "профайлинга", т.е. "а что мы хотим получить в итоге и как это должно рабоать", а уже потом под "это" подбирается железо-микроконтроллер. А уже потом составляется блок-схемы и общая философия "как ЭТО тут будет работать". А уже потом - начинается кодинг :)
А если вот так как индус - то это видно что он "слезал" с чего-то совсем простого типа Атмела или PICа, где нет такой красивой архитектуры и поддержки в железе. Но ПОНЯТЬ новую философию не пытался - тупо решил вопрос так как уже решал на простом железе :-((
Я сознательно переползаю на MSP430 а не на "модные нынче" STM, именно из-за красивости архитектуры при хорошей цене и возможностях "на вырост". И не понимаю "модных писателей кода" которые лезут на STM микроконтроллеры, при этом выбирают 8-и битные модели а пишут на С++ с разными заковыками - когда после них видишь ассемблерный код - то рука-лицо и хочется такого писателя убить, чтобы не портил своим генофоном население Земли.
Обычно народ не парится: как начал на Атмега8 так потом просто более мощные чипы подсовывает - не понимая что смена философии в мозгах это и смена философии в железе.
Но все равно грустно...
Friday, April 13, 2018, 10:04:12 AM, Vladimir Sharun vladimir.sharun@ukr.net you wrote: VS> Сильно депендс от отрасли. У нас был эксперимент и так и так. VS> Оказалось, что корректное програмирование VS> в среднесрочной уже перспективе - экономически выгоднее. Провели VS> эксперимент "давайте задавим железом", VS> а когда под конец операции "задавим железом" посмотрели на VS> сколько было потрачено - тут же поменяли вектор VS> на давайте писать по концепции: написали "как есть", профайлинг, "как надо". VS> В людей инвестировать правильнее. В творческих - в квадрате правильнее. VS> PS: с первого раза правильно написать код весьма сложно, т.к. у VS> нас профайлера нет в голове, только общие VS> базисы "правильно это написать так".
VS> 13 квітня 2018, 09:42:28, від "Volodymyr Litovka"
: VS> Саша, по нынешним временам писать код быстро экономически более выгодно, VS> чем писать хорошо. Не всегда, но во многих случаях. VS> Ведь когда закончится чип 7х7мм, можно поставить второй такой, а не ещё VS> два стола :) А пока "красавцы" вылизывают свой код, "дятлы" уже продают VS> решение.
VS> On 4/13/18 9:29 AM, Alexander V Soroka wrote:
Привет !
Преамбула. Я занимаюсь программированием микроконтроллеров, вот уже лет 20 как. и давно присматривался к MSP430FRxxxx, от Техас Инструментс. По сути это PDP-11 в размере 7 на 7мм ! то что у меня в 1986 году занимало два стола - сейчас занимает один чип 7 на 7мм!!! Это волшебство :) Изучаю MSP430 - уже перерыл многое и понимать стал какая КРАСИВАЯ(!!!) архитектура построения! Техасцы просто гении :) Это песня просто для мультизадачных вещей !!!
Пока рыл примеры - нарвался на индуса, он задавал вопрос на саппорт: https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/602194
Суть кратко: индусу надо запустить АЦП так чтобы оно сделало три измерения с разных каналов, и прервалось по факту когда АЦП будет записывать третье(с третьего канала) значение в память.
АЦП там умное! ему можно сказать: "замеряй с канала номер Х до канала номер У и записывай само в память, МИНУЯ ПРОЦЕССОР! " Причем ! какие каналы после каких мерять - ЗАПИСЫВАЕМ(!) в регистры, т.е. нет тупого 1-2-3... а можно сделать любое: 2-1-5-8...
А что сделал Индус? он сделал так что АЦП меряет по кругу три канала, но он вписал что после каждого записи в память(!) готового значения АЦП будет вызываться прерывание! НАХУЯ ??? А для того - всего-то - чтобы переписать , прикинь ПЕРЕПИСАТЬ !!! значение из МЕМ-ячейки АЦП в "глобальную переменную"! бля мудак... вот потому и глючит всё вокруг ! бо такие пидарасы пишут проги! :((((
из его текста: ADCValue1 = ADC12MEM1 ;
ADCValue1 - это его "глобальная переменная". ADC12MEM1 - это ГЛОБАЛЬНОЕ(!) расположение ячейки 16 бит куда пишется с АЦП значение че намеряло АЦП на том канале который ему сказали в эту ячейку ложить. повторяю: ГОЛОБАЛЬНОЕ! т.е. доступное из проги на С в любом месте и в любое время!
Ну не мудак? Ведь зачем прерываться по готовности данных АЦП если его спецом сделали чтобы оно само по себе работало! БЕЗ проца и прерываний! тупо сам модуль по кругу(как настроишь) идет в канал, меряет, записывает в память, потом идет на новый канал и т.п.
а ячейка ADC12MEM1 - это и так ГЛОБАЛЬНОЕ место - оно отовсюду из твоей проги доступное! Это прибитое гвоздями место в микросхеме!
и еще мудак сделал в майн процедуре __delay_cycles(5000); // Delay between conversions верх маразма ! теперь мы еще процессором ждем АЦП !
Нахуя тогда инженеры ТехасИнструментс старались и строили такую архитектуру??? чтобы индус вот так разом помножил на ноль ПРОИЗВОДИТЕЛЬНОСТЬ чипа???
Мозгов его не хватило сделать философию проще: 1) пусть АЦП там само по кругу, и пишет само в память - МИНУЯ проц! никаких прерываний работы проца вообще!
2) когда нам потребуется результат из этого канала АЦП - мы просто делаем в любом месте нашей проги, НЕ В ПРЕРЫВАНИИ: ADCValue1 = ADC12MEM1 ;
и ВСЁ!!!!!!!!!!!!!!!!! и далее бегаем уже со своим ADCValue1 и везде с ним считаем, то что нам надо - не отрывая проц на постоянные(!) прерывания и укладывание в память 14 циклов всего в стек, чтобы потом поднимать 14 циклов из стека, и так с частотой считывания АЦП умножить на три канала!
Ну не мудаки-же такие программеры???
Бля......... я теперь понимаю почему всё глючит и лагает...
-- Best regards, Alexander V Soroka http://www.svr.ua/ AS106-RIPE mailto:alex@euro.net.ua _______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
Пора восстанавливать fido7.ru.embedded ! А руки-то помнят :) 16.04.2018 14:32, Alexander V Soroka пишет:
Привет !
Второй такой-же "грамотный" индус нашелся.... https://forum.43oh.com/topic/1528-about-dma-on-adc12/?page=2&tab=comments#comment-13765
тушите свет... бля - решил человек проблему со сьемом 15 каналов одновременно (рука-лицо). Смотрим в код - все 15 каналов описал... (рука-лицо = 2раза) а до этого спрашивал как ускорить - через DMA данные перегонять в память после АЦП... ему дали советов - но он "справился" по-своему. (рука-лицо). ...просто слов нет! ...это все из области "как на ноль помножить всё быстродействие УМЕЛЫМ написанием программы"...
-- Best regards, Alexandr B. Baryshnyev, e-mail: abb@abbon.net _______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
participants (3)
-
Alexander V Soroka
-
Alexandr Baryshnyev
-
Valentin Nechayev