[uanog] об индусах и программировании, или о том почему всё глючит...

Alexander V Soroka alex at euro.net.ua
Fri Apr 13 13:16:12 EEST 2018


Привет !


Friday, April 13, 2018, 1:00:28 PM, Alexandr Baryshnyev abb at 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 at ukr.net you wrote:
>> VS> Сильно депендс от отрасли. У нас был эксперимент и так и так.
>> VS> Оказалось, что корректное програмирование
>> VS> в среднесрочной уже перспективе - экономически выгоднее. Провели
>> VS> эксперимент "давайте задавим железом",
>> VS>  а когда под конец операции "задавим железом" посмотрели на
>> VS> сколько было потрачено - тут же поменяли вектор
>> VS> на давайте писать по концепции: написали "как есть", профайлинг, "как надо".
>> VS> В людей инвестировать правильнее. В творческих - в квадрате правильнее.
>> VS> PS: с первого раза правильно написать код весьма сложно, т.к. у
>> VS> нас профайлера нет в голове, только общие
>> VS> базисы "правильно это написать так".
>> 
>> 
>> VS> 13 квітня 2018, 09:42:28, від "Volodymyr Litovka" <doka.ua at gmail.com>:
>> 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 at euro.net.ua



More information about the uanog mailing list