In vino veritas

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: In vino veritas

Сообщение a5021 »

[uquote="Мурик",url="/forum/viewtopic.php?p=3430920#p3430920"]Тогда не будет совместимости о которой вы пишите.[/uquote]
Точно. Ардуина не ограничивает пользователя, каким путем ему двигаться -- в сторону совместимости или использования уникальных особенностей конкретной платформы. Кому что нужно, тот то и выбирает. При этом все знают, что взявши в руки любую ардуино-совместимую железку, можно рассчитывать на ногодрыг, ввод-вывод в консоль, несколько последовательных интерфейсов, аналоговые измерения и измерения временных промежутков. Все это прямо из коробки, одинаковым образом для любого железа.
Ведь для ATmega328 нет CMSIS верно?
Верно. Для атмег под ардуиной лежит GNU AVR toolchain -- полный набор средств разработки, включая заголовочные файлы с разблюдовкой всех регистров всех атмег.
Возможности библиотек ардуины весьма ограничены и они даже не позволяют использовать весь потенциал AVR, не говоря о более мощных МК.
О каких библиотеках разговор?
Работа с регистрами МК, привязывает код к конкретной платформе.
А как должно быть?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

a5021 писал(а):О каких библиотеках разговор?
О стандартных, ардуиньих.
a5021 писал(а):А как должно быть?
Я пишу о том что переносимость кода между платформами ограничена ардуиньей библиотекой. Если ее возможностей не достаточно, приходится работать с регистрами МК что не позволяет писать переносимый код.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: In vino veritas

Сообщение a5021 »

Хорошо. Какая среда позволяет писать переносимый код?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

Я не об этом. Использование универсальных библиотек под все платформы не позволит использовать все возможности конкретной платформы.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Интерес представляет именно сведение в одну IDE нескольких семейств при разрешении работы как в пределах референса и совместимости исходников, так и в рамках прикладного глубококопания для соответствующих отдельных кристаллов на уровне встроенных в IDE компиляторов.
А взаимодействие между разными компиляторами там похоже java обеспечивает.
При доработке среды хотя-бы симулятором преимущество неоспоримо.
Насчет "массивности" кода - при подключении функционала референса автоматически подтягивается и код "излишне-необходимой" инициализации используемых функций - но такое же и в случае использования Си будет, да и в сложных библиотеках ассемблера.
Варинт целевого сокращения функционала алгоритмов используется исключительно в прикладных программах.
И практически всегда требует абсолютного знания как железа, так и самого компилятора. А такой подход далеко не сразу и не всем простопользователям доступен.
В то же время работоспособное изделие сотворить можно и на неоптимизированном варианте.
:roll:
А работа с компилятором по единым правилам (да еще и на открытой бесплатной IDE) весьма привлекательна.
Сколько нервушек расходуют те "незначительные отличия" в синтаксисе компиляторов различных производителей...
:cry:
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: In vino veritas

Сообщение a5021 »

Мурик писал(а):Я не об этом. Использование универсальных библиотек под все платформы не позволит использовать все возможности конкретной платформы.
А вот как-то определиться и выбрать, то ли писать совместимый код, то ли использовать все возможности железа, совсем никак? Не понимаю, в чем суть замечаний. Ардуина -- говно, т.к. не может явить чудо и превратить несовместимое железо в совместимое?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

На данном этапе сама IDE (1.8.5) конечно еще далека от идеала,
но сама концепция выбрана достаточно успешная.
Если будет развитие (симуляция, дебаггер-отладка в симуляторе) - вариант назависимой от платформы "Операционной Системы" для группы МК с надлежащими минимальными параметрами вполне перспективная штука.
Но не факт, что ктой-нить попытается подобное повторить - именно для нескольких разнотипных семейств МК, а не для единственного типа.. Вот тогда можно будет и выбирать...
:roll:
Ну и насчет спецсайтов по адуринке...
К сожалению там или резкий примитив или "заоблачная крутизна" - естественные "болячки роста".
Самой же IDE и особенностям САМОСТОЯТЕЛЬНОЙ работы с оной внимания весьма мало.
Упор не на СОТВОРИ САМ библиотеку, а на СКОПИПАСТИ - что в принципе ПРОТИВОШЕРСТНО.
Да и описание правил создания библиотек ... как-бы потолерантнее сказать...
"ни в песца"...
:kill: :kill: :kill:
а это же есть АЗЫ минимальных правил работы!
:evil:
Последний раз редактировалось BOB51 Пт авг 03, 2018 08:59:52, всего редактировалось 1 раз.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

BOB51 писал(а):Интерес представляет именно сведение в одну IDE нескольких семейств при разрешении работы как в пределах референса и совместимости исходников, так и в рамках прикладного глубококопания для соответствующих отдельных кристаллов на уровне встроенных в IDE компиляторов.
кто стремится шагать слишком широко, рискует порвать штаны. никакой совместимости никогда не было, нет и не будет, и даже java при декларируемой мультиплатформенности слишком многообразна на разных платформах. и гнаться за этим - зачем?

почему никто никогда не задает себе вопрос о целеполагании своих хотелок?! ну все ведь вышли из возраста ребенка, который никогда не задается этим вопросом - хочу и всё!

бесконечная гонка за неосуществимой мечтой не дает никакого результата, кроме усталости.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Мне попроще свалить математику на компилятор.
Да и более сложные задачи хотелок выдвигают необходимость соответствующие направления подучить...
8)
Кстати - с точки зрения оптимальности как светильника моя последняя конструкция далеко не оптимальна - проще ПИКушку с тремя белыми светиками соорудить (там и жрать при работе будет на порядок меньше).
Однако ж делал "садомазохизму" и для тренинга мозга в том числе. Но без излишних затрат - на "запасах сундука" (исключение тот полевик IRLML6401).
:beer:
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

базовая математика и так свалена на компилятор, и практически одинакова в любых ипостасях (ну, кроме экзотики).
а бесконечный перебор платформ, имхо, напрасная трата времени. самая лучшая платформа для проекта та, на которой сделал проект.
можно всю жизнь мечтать о том, как подберешь подходящую платформу и сделаешь что-то грандиозное... но так и не сделать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Ага! я ж не Си кушаю, а ассемблер.
Там с математикой... ОЙ...
:facepalm:
А насчет базовой платформы... для начала и серийные ардуино-про мини как база проекта при отладчике ардуино нано - не так уж и большое отклонение - а вот экономия на денюжке весьма заметная!
Ту мегу 168ю/328ю в свои проекты ставить "в чистом виде"(да еще в СМД исполнении) сапсем влом, а DIPпластинку с "незнамо чем" весьма удобственно.
:hunger:
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

если вы мечтаете о какой-то универсальности, то первым шагом просто обязано быть изучение Си, т.к. ассемблер никогда даже не пытался стать кросплатформенным.
а потом, имхо, вам следует осознать тщетность попыток охватить все и сразу, выбрать что-то одно и более-менее углубиться в него.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

ДЫК...
Глубококопалкин уже был (выбранные группы да еще под ассемблером с учетом взаимосведения правил исходников)..
Там только STM8 недогрызенным остался.
Теперь Си, но с учетом прошлых проблем.
Посему и адуринка, а не прикладная версия конкретного МК в отношении среды/компилятора.
Ибо прикладушку я и под ассемблером на имеющемся арсенале соорудить могу, а вот "переходник" между прикладной сферой и МК это или адуринка или КОТУИНКА (тот проект на mcs51).
:beer:
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: In vino veritas

Сообщение a5021 »

[uquote="ARV",url="/forum/viewtopic.php?p=3431087#p3431087"]а бесконечный перебор платформ, имхо, напрасная трата времени. самая лучшая платформа для проекта та, на которой сделал проект.[/uquote]
Бесконечный перебор, как всякое преувеличение, малоинформативная иллюстрация. Перебирать бесконечно ничего не нужно, но некоторый кругозор в этом смысле иметь хорошо бы.

У разных производителей чипы на одной платформе (ARM) могут отличаться даже не реализацией, а концептуально. Вот по пикам, аврам, стм-ам мы привыкли, что периферийные блоки сигнализируют о состоянии и управляются битами. Выставили бит -- таймер пошел считать. Досчитал, взвел бит.

Теперь представим, что может получиться, если каждый бит сделать отдельным байтом. На первый взгляд, разница не велика -- записали байт, таймер пошел считать. Досчитал, изменил байт статуса с нуля на единицу.

Офигенная разница появляется, если для этих байтов организовать механизм ассоциаций. Любые командные байты или байты статуса можно ассоциировать друг с другом, причем, произвольным образом и в произвольных количествах. Событие произошедшее в одном периферийном блоке может быть командой для изменения состояния (старт, стоп, счет, режим и т.п.) других блоков. Пример: внешняя схема изменила состояние входа МК. Байт статуса этого входа был ассоциирован со стартом передачи по UART, запуском АЦП и переводом трех выходов в высокое состояние и двух в низкое. АЦП получив результат выставляет байт статуса, который ассоциирован со стартом передачи этого результата по SPI. SPI, закончив передачу, переводит выходы, чье состояние менялось в самом начале, в исходное и гасит остальные блоки, переводя сам МК в режим сна до очередной смены состояния входа внешней схемой.

Вышеприведенный пример может и не очень осмысленный, но главное тут показать, что каждый может пинать каждого (а то и не одного), если мы говорим о блоках периферии. Данный механизм ассоциаций позволяет плести самые замысловатые кружева, запуская блоки параллельно и последовательно, вместе и порознь. Все это не оглядываясь на то, чем в данный момент занимается ядро.

Все вышеописанное -- не мои горячечные фантазии, а описание функционала микроконтроллеров, которые выпускаются одним из производителей такой продукции.
Последний раз редактировалось a5021 Пт авг 03, 2018 10:22:22, всего редактировалось 1 раз.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

BOB51 писал(а):А взаимодействие между разными компиляторами там похоже java обеспечивает.
Не java, а конфигурационные файлы.
BOB51 писал(а):Насчет "массивности" кода - при подключении функционала референса автоматически подтягивается и код "излишне-необходимой" инициализации используемых функций - но такое же и в случае использования Си будет
Вывод не верный. Программа на Си для AVR - 32 байта. http://radiokot.ru/forum/viewtopic.php? ... 4#p3422064
Аналогичная для STM32 - 48 байт. http://radiokot.ru/forum/viewtopic.php? ... 5#p3422025

В ардуино ИДЕ у прошивок размер 980 байт для ATmega328 и 11 КБ (5 без загрузчика) для STM32.
BOB51 писал(а):И практически всегда требует абсолютного знания как железа, так и самого компилятора. А такой подход далеко не сразу и не всем простопользователям доступен.
В нормальной IDE не нужно много знать о компиляторе. Обычно все ограничивается установкой галочек в свойствах проекта.
a5021 писал(а):А вот как-то определиться и выбрать, то ли писать совместимый код, то ли использовать все возможности железа, совсем никак?
Знаете о FreeRTOS, FatFS и других подобных библиотеках? Они написаны так что легко переносятся на разные платформы.
BOB51 писал(а):Если будет развитие (симуляция, дебаггер-отладка в симуляторе)
Вероятно этого не будет. ArduinoIDE очень примитивная по сравнению с другими средами и у разработчиков нет необходимости в ней что-то менять. Зачем, если ардуино-платы и так неплохо продаются?
BOB51 писал(а):Самой же IDE и особенностям САМОСТОЯТЕЛЬНОЙ работы с оной внимания весьма мало.Упор не на СОТВОРИ САМ библиотеку, а на СКОПИПАСТИ - что в принципе ПРОТИВОШЕРСТНО.
Потому что ардуина направленна на тех кто хочет поиграть в программиста, т. е. реально не разбирающихся в программировании и умеющих только копировать куски кода как написано в статье или показано на видео. По этой причине не ждите совершенствования ArduinoIDE. Чтобы скопировать кусок кода или скомпилировать его, возможностей IDE достаточно.
BOB51 писал(а):я ж не Си кушаю, а ассемблер.
В ArduinoIDE пишите на C++ или на ассемблере?
BOB51 писал(а):при отладчике ардуино нано!
О каком отладчике идет речь? ATmega328 конечно поддерживает debugWire, но найти аппаратный отладчик под этот интерфейс не просто (скорее дорого), и ArduinoIDE не поддерживает отладку.
BOB51 писал(а):Ту мегу 168ю/328ю в свои проекты ставить "в чистом виде"(да еще в СМД исполнении) сапсем влом, а DIPпластинку с "незнамо чем" весьма удобственно.
Многие покупают ардуино-плату и пишут для нее в AvrStudio на Си или ассемблере.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: In vino veritas

Сообщение VladislavS »

Я один умею программировать на всём что имеет АЛУ, но не на ардуине?
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: In vino veritas

Сообщение a5021 »

А я еще и на ардуине.

Добавлено after 31 minute 38 seconds:
[uquote="Мурик",url="/forum/viewtopic.php?p=3431144#p3431144"]Знаете о FreeRTOS, FatFS и других подобных библиотеках? Они написаны так что легко переносятся на разные платформы.[/uquote]
Блинк тоже легко переносится. Давайте все же отличать уровень железа и прикладной уровень.
Многие покупают ардуино-плату и пишут для нее в AvrStudio на Си или ассемблере.
А некоторые, типа меня, покупают ардуино-несовместимую плату, делают ее совместимой и пишут в Arduino IDE. Нет, можно было конечно заморочиться раскуриванием MDK производителя и через недельку выйти на написание нужного мне функционала по канону, только нахрен это не сдалось, если в ардуине я то же самое сделал за вечер. Я уже давно приметил, что многие ардуино хейтеры просто не умеют ардуину готовить. От того и рождаются всякие странные заблуждения.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

a5021 писал(а):Все вышеописанное -- не мои горячечные фантазии, а описание функционала микроконтроллеров, которые выпускаются одним из производителей такой продукции.
да в курсе мы. эта ситсема знакома с avrXmega, сейчас её продвигает мелкочип - система событий.
все это здорово, но вот это я и называю бесконечная погоня за лучшим. лучшее все равно не догонишь, потому как лучшее сегодня станет хорошим завтра и плохим послезавтра.

поэтому я и говорю - скучно и бессмысленно. если НАДО, то чаще всего хватает того, что уже было знакомо. практически всегда этим и можно обойтись. события - это следующий шаг развития системы прерываний. ну и что? не самоцель же сделать все выполняющимся незаметно...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: In vino veritas

Сообщение a5021 »

[uquote="ARV",url="/forum/viewtopic.php?p=3431207#p3431207"]все это здорово, но вот это я и называю бесконечная погоня за лучшим. лучшее все равно не догонишь, потому как лучшее сегодня станет хорошим завтра и плохим послезавтра.[/uquote]
Диодно-резисторная логика -- наше все. Транзисторно-транзисторная -- уже бессмысленная гонка. Да и P-N переход изобретать не было никакой нужды.

"лучшее все равно не догонишь" -- хорошее обоснование, чтобы лежать в проссаных штанах под забором и более ничем не интересоваться.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

a5021, вы утомительно однообразны
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Закрыто

Вернуться в «Разные вопросы по МК»