Для пользователя, делающего разработку устройства абсолютно без разницы как работает компилятор. Будь то под ЯВУ или под ассемблером. Основная задача правильно применять имеющиеся средства. Максимум требуется уделить более глубокое внимание в достаточно редких случаях в основном касающихся "больших проектов". Но... тогда и спросить-то не у кого (за редким исключением из трех - пяти СТАРЫХ КОТОВ). Можно сколь угодно спорить об оптимальности и полезности. Пока дело не коснется конкретного проекта с конкретным железом - это только споры, иногда дающие "заметки в блокнотик". Реально результат теории можно проверить только при наличии конкретного проекта да его макета у каждого из заинтересованных тестировщиков. А вот в таких случаях обычно народу не так много собирается при обсуждении. За возможные ошибки при "теоретическом поцарапсе" я уже упоминал - тот же "поцарапс с клочьями шорсти" по поводу .dseg, что недавно был у меня с oleg110592 в принципе там моя ошибка при работе с "потолочным тестом"(набор случайно собранных файлов, каждый из которых является фрагментом "библиотеки", но в то же время все вместе не есть конкретный проект, а просто "тестовая смесь") в порядке размещения ключевого *.inc файла. Ситуация в обычном проекте вряд-ли могла встретиться, но при монтаже "теста с потолка", да еще при условии, что ранее в своих проектах разнесенное по модулям определение .dseg я не применял и привели в сумме к неверным выводам. Спасибо настойчивости oleg110592- заодно и "заметку в блокнотик" по поводу причин ошибки положить удалось. Так что спорим, но без фанатизьму. Относительно "права на применение" - все из имеющегося арсенала полезно. Посему споры правильнее перевести из "КТО КРУЧЕ" в "КАК ПРАВИЛЬНЕЕ В КОНКРЕТНОМ СЛУЧАЕ". Тогда польза будет значительно больше. Ардуиноподобные ЕСТЬ ФАКТ. Посему более правильным будет не отрицать данное явление, а указать более рациональное его применение. Как в плане схемотехнических решений, так и в плане написания кода в рамках заданных имеющимся в IDE набором средств. Кому удастся копнуть глубже - только плюс (но то отдельная тема уже не о прикладном применении, а об обсуждении самой IDE). Посему спор о том "как устроена начинка" правильнее направить в русло "как правильно применять" то, что имеется. Особенности ограничений функций, особенности работы с разными платформами. Много желающих "по стереотипу" сразу лезть в прямое управление при помощи ассемблерных и/или Сишных вставок там, где еще не исчерпаны возможности имеющихся средств референса. Да и возможности "комбинированных" проектов с применением нескольких МК в единой конструкции не особо рассматриваются в противовес конструкциям "все в одном кристалле"... С ардуиноподобными скорее именно вариант "многоголового" устройства удобен. И по причине схемотехники и по причине преимущества обработки стандартных протоколов обмена между "главной головой" и "периферией с мозгами". Так что... ожидаю все-таки конструктива. Желающим подчеркнуть АРМ в рамках "ардуиноподобных" я бы предложил не противопоставление "чистого кристалла" под "чистым компилятором", а описание особенностей работы с "синей пилюлькой" в рамках ардуино IDE здесь увидеть. Ибо там таки некоторые различия и в формате данных и в функциях имеются - вот и опишите то, что удастся специалистам по АРМ увидеть. За те реальные дополнения/толкования народ спасибо скажет.
Весьма интересная платка "Датчик пульсоксиметр сердечного ритма (пульса) MAX30102" http://img.radiokot.ru/files/20529/284ygp5a16.jpg но производитель как всегда сделал демоверсию... Для нормального использования сам датчик надо бы на одной стороне платки, а деталюшки на другой. Иначе применение весьма неудобно. Второй вопрос - "кусается" 280 рубликов... В остальном ... весьма вкусненько...
ВНИМАНИЮ ПОЛЬЗОВАТЕЛЕЙ АРДУИНО IDE ВЕРСИИ 1.8.9 С КОМПЬЮТЕРАМИ НА ОСНОВЕ ВИНДОВС ХР х32!!! Категорически НЕ РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ менеджер плат/платформ (возможно и менеджер библиотек) при подключенном к интернет компьютере! После запуска менеджера плат выбрасывается множественные сообщения об ошибках jawa после чего при перезапуске IDE перестает запускаться. Как восстановить - пока выясняю... Вероятно связанно с переходом базы на 1.8.12 и 64-х разрядную ОС. А про сохранение поддержки предшественников позабыли (как всегда)... Да хорошо бы, ежли бы без вреда - по факту полный снос делать надо и при условии переустановки без помощи менеджера плат - что равноценно уничтожению расширений...
Последний раз редактировалось BOB51 Ср июн 10, 2020 10:41:30, всего редактировалось 2 раз(а).
УФФ... Вобщем довольно интересная ситуация... По умыслу или случайно - то не мне разбираться, да и нет смысла. Суть вопроса - есть комп с виньХР sp3 х32.... ессно древняя, но набита всеми возможными для нее джавами, нет фрамеворками и прочим фаршем. Работает безотказно (пока комп не захандрит). До недавнего времени там же помимо прочих сидела и ардуиноIDE 1.8.9... Без особых претензий, но также набитая дополнениями вытянутыми из инета. Собственно то строчки - ссылки для автообновления. С прошлого года авторы-создатели пересадили IDE на 7-8-10ку х64 (ардуино IDE версий 1.8.10-1.8.12)... Однако обновления платформ до вчерашнего ОБЛОМСА в автоматическом режиме нормально устанавливались. Вчера вечерком решил очередной раз запустить менеджер платформ (он у меня в автоматическом режиме давно запрещен). ТЫЦЬ и... полно "красных вармингов" - дескать проблема с обменом или с джавой... жаль не записал тот листинг... (Второй раз уже рисковать не стал - накладно по времени те картинки вылавливать). Ладно... давай-ка перезапущу IDE... А .... ФИГВАМ... IDE морду-заставку на несколько секунд показывает и... исчезает в неведомых дебрях памяти... Ладно ... делаю переустановку (памятуя что мои дополнения прекрасно оживут из скрытого каталога)... и... СНОВА ФИГВАМ.... Следовательно менеджер платформ таки чего-то дописал в скрытой области... А это уже СОВСЕМ ПЛОХО.... Ибо вычистить не зная где зараза засела нереально (я не хрякер однако), а сносить arduino15 при условии, что автозагрузкой нельзя будет воспользоваться (видимо разрабы уже перепрыгнули на 7-8-10 х64 окончательно) равноценно садомазохизьму с ручным шаманизмом... Это совершенно ... НЕПРИЕМЛЕМО Однако куды ж деваться... Хорошо как всегда резервный ветеран - пенекIII - полный аналог того, что на основной машине установлено... Для начала на "потерпевшем" компе снес все, что касалось содержимого скрытого каталога. Далее удалил саму ардуиноIDE (средствами виндовс)... Каталог C:\Documents and Settings\USERS_NAME\Мои документы\Arduino пока не трогаем... Далее с помощью 7-Zip File Manager делаю три архива с каталогов компа "рабочего резерва" Это из C:\Documents and Settings\USERS_NAME\Мои документы\Arduino C:\Program Files\Arduino и из скрытого C:\Documents and Settings\USERS_NAME\Local Settings\Application Data\Arduino15 почему именно 7-Zip (архивы с расширением *.zip), а не rar - в каталогах попадаются "длинные последовательности", которые rar игнорирует, а 7-Zip спокойненько обрабатывает. В результате имеем три архива общим весом 1,85 гигабайта примнимаем размер резерва на диске как 2 гигабайта и храним сей "образ IDE" на паре отдельных флешек на всяк случай... Кстати... при удалении скрытого каталога несколько файлов просто так не удастся выдрать - ну и пущай себе там лежат, распаковка все равно пройдет "с заменой одноименных файлов". Далее на том компе, где снесли IDE... Запускаем штатную инсталляцию 1.8.9 После инсталляции (только при отключенном доступе в интырнет!!) запускаемIDE и сразу же блокируем автообновление менеджера платформ. Далее можно заняться и распаковкой-подстановкой... Однако... Свободное место на системном диске ДОЛЖНО БЫТЬ НЕ МЕНЕЕ 9 гигабайт!!! Ибо распакованная копия около 4 и столько же собственно каталоги... Весьма жестко для старых компов с небольшими жесткими дисками (обычно 40 гиг/80гиг и он же системный). У меня удалось "выкроить" 9 с хвостиком - для моей версии к счастью хватило. Архивные копии распаковываем туда же, где уже созданы соответствующие каталоги при инсталляции IDE. На запрос архиватора выбираем "с заменой файлов". По окончании процедуры перезапуск компа и продолжение нормальной работы. Однако от сегодня при условии, что работаем на ПК под WIN_XP sp3 x32, про режим автообновления как для менеджера платформ, так вероятно и для менеджера библиотек ЛУЧШЕ ЗАБЫТЬ... Ну и в любом случае делаем резервную копию содержимого каталогов - никогда не помешает, тем более, что достаточно сносно проходит процедура полного восстановления (со всеми ранее установленными дополнениями). Воть... Кому чего... спрашивайте. Может где не так понятно нашкарябал... ПЫ.СЫ. как ведет себя 1.8.12 пока даже не пытался проверять - лучше однако поберечься - ёжли таки какой ГЛЮК, все равно за месяц-другой где-нибудь да обсудят...
Однако от сегодня при условии, что работаем на ПК под WIN_XP sp3 x32, про режим автообновления как для менеджера платформ, так вероятно и для менеджера библиотек ЛУЧШЕ ЗАБЫТЬ...
говорилось же ранее, что надо забыть об этом глючном IDE (Arduino), полезнее (имхо) потратить время на изучение более простого - утилиты make и создания простейших мэйкфайлов и не надо вообще никакой джавы для ПК. Make вообще должен знать каждый эмбеддер (имхо) - удобная штука для сборки любых проектов.
Цитата:
Arduino без IDE - введение в UNIX Make Недавно я попробовал сделать. Make - это древняя и мощная утилита UNIX, которую мы можем использовать для автоматизации процесса сборки программного обеспечения. Но зачем нам это нужно, когда Arduino IDE делает это для нас? Для меня это сводится к следующему:
Я хотел иметь полный контроль над процессом сборки и всеми включенными файлами, такими как ядра Arduino; По мере того, как проект lifetester приближается к зрелости, я хочу контролировать все включенные файлы и их содержимое. Мне не понравилось, как все вкладки в эскизе Arduino сшиты вместе ( см. Процесс сборки Arduino ). Это означает, что любые глобальные переменные, которые вы объявляете как статические в модуле, затем переносятся в тот же файл и больше не являются закрытыми. Наконец, мне нравится использовать Sublime Text. Я люблю подсветку текста и сочетания клавиш. Это действительно ускоряет редактирование для меня. С момента его обнаружения мне было трудно принять что-либо еще, включая Arduino IDE.
Это скорее напоминалка о древности ХРЮШИ... Просто ХР уже даже не входит в воспоминания "цивилизованной программистской об..." А с другой стороны - работает себе и прекрасно, функционал то честно отрабатывает. Единственно - принять соответствующие меры противодействия в виде резервной копии. Да лишний раз не тыкать в "обновления".
"...введение в UNIX Make..." Мне еще только UNIX "до коллекции" нехватало....и так три компилятора по сути - частенько "перемешиваются".
make есть одна и та же под XP WIN7 WIN8 WIN10 - это махонькая утилитка командной строки супротив целой ИДЕ, в которой можно сделать тоже что и в пресловутой ИДЕ и даже более. Например в линуксе с помощью make компилирую проект чисто виндового IAR (в ИДЕ это сделать посложнее будет):
Да ну их... там больше настройками заниматься надо, чем непосредственно программой... Описание ситуации с возможной проблемой я больше для таких же пользователей адуринки выложил. Как обнаруженный ФАК. И меры по его устранению. Кстати... какая еще IDE позволяет вот так - без инсталляции восстанавливаться из простого архива?. Да еще и с учетом подключенных в процессе эксплуатации дополнительных модулей. Пока отсыпаться поползу... Уже не те года - одной ночки хватило абы выдохся...
Да ну их... там больше настройками заниматься надо
ну посмотрим основная построительная строка мэйкфайла:
Код:
${CC} ${CFLAGS} -c $^ -I ${VARIANTS} -I ${VPATH}
где CC=avr-gcc CFLAGS=-Os -DF_CPU=16000000UL ${MMCU} MMCU=-mmcu=atmega328p то что рядом с "-I" это пути где хранятся инклуды и исходники все разбирается и пишется один раз в жизни, потом влегкую меняем пути и имя программы в строке PROGRAM=MyBlinkTest - вуаля, новый проект быстрого приготовления и не надо: * борьбы с версиями джавы - полно "красных вармингов" - дескать проблема с обменом или с джавой... * освобождать - Свободное место на системном диске ДОЛЖНО БЫТЬ НЕ МЕНЕЕ 9 гигабайт!!! * систему забивать всяким говном как попало - менеджер платформ таки чего-то дописал в скрытой области... * напрягаться гигантизмом - размер файла make.exe 277kB - а В результате имеем три архива общим весом 1,85 гигабайта * постоянно бояться - как ведет себя 1.8.12 пока даже не пытался проверять - лучше однако поберечься и т.д.
Цитата:
кстати... какая еще IDE позволяет вот так - без инсталляции
уж не знаю, распространяется ли моя информация вообще на Eclipse или это чисто мне так повезло, но последние версии Eclipse CDT имеют встроенную поддержку Arduino. я совершенно не в курсе, на каком уровне эта поддержка реализована (оно мне не надо), но пунктик такой в менеджере проектов есть.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Это очень простой Makefile *Очень крепкий *Высоко настраиваемый *Поддерживает все официальные платы Arduino на базе AVR *Поддерживает официальные платы Arduino на базе ARM, использующие семейство микросхем Atmel SAM, и включает *цели отладки на устройстве. *Поддерживает chipKIT *Поддерживает Teensy 3.x (через Teensyduino) *Поддерживает Robotis OpenCR 1.0 *Работает на всех трех основных ОС (Mac, Linux, Windows) *Автоматически определяет скорость передачи данных и используемые библиотеки *Поддержка *.ino и *.pde эскизы, а также сырье *.cи *.cpp *Поддержка программного обеспечения Arduino версий 0.x, 1.0.x, 1.5.x и 1.6.x, кроме 1.6.2. Мы рекомендуем 1.6.3 или *более позднюю версию Arduino IDE. *Автоматическое отслеживание зависимостей. Указанные библиотеки автоматически включаются в процесс сборки. *Изменения в *.h файлах приводят к перекомпиляции источников, которые их включают
p/s/Настоящий эмбедерский дзэн - терминальный редактор Vim + плагин ардуино + мэйкфайл: https://collectiveidea.com/blog/archive ... ing-in-vim з.ы.з.ы если шо Vim под виндовс есть, а в линуксе Vim изначально из коробки обычно
Vim пробовал - он прекрасен (имхо), но пока пользуюсь Sublime. Кому страшен - могут попробовать Gvim, там мышкой можно тыкать как в обычном редакторе и еще комбинации кнопок подписаны. з.ы. выйти из Vim просто - нажать "Esc", потом ":q", перед этим записать ":w"
В принципе... обзор неплохой, но все же не основа обсуждения : avrasm2, c51asm, arduinoIDE 1.8.9, AVRstudio 4.19, mplab 8.92 и максимальное использование заложенных в них возможностей. По самой теме - максимально полное использование возможностей имеющихся средств - НИЧЕГО НОВОГО не добавлено.
просто указанные инструменты начинают тянуть назад, требуя на свою поддержку больше усилий, чем усилий на основную задачу. все чаще и чаще вы сообщаете, что после очередного "обновления" у вас развалился заботливо построенный карточный домик... древние компьютеры, древние программы - зачем продолжать реанимацию? разве они способны на соответственную отдачу, они того стоят? я, например, сохраняю уверенность, что MS Word 6.0 ничем не хуже по возможностям, чем современный, потому что абсолютно все "современные" фишки редактирования текста я применял уже тогда. однако, восстанавливать Windows 3.11 для того, чтобы пользоваться им сегодня - на это я пойти не готов: усилия не стоят профита. не так много лет жизни осталось, чтобы тратить её на воскрешение разложившихся трупов...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
это лишь лирическое отступление думаю подавляющее большинство ардуинщиков пересело на более мощные ПК и проблемы древнежелезячников их абсолютно не волнуют. Вот для древних и приходит на помощь утилита make. Тем более, что с помощью make гораздо удобнее работа с проектами для:
Цитата:
avrasm2, c51asm, arduinoIDE 1.8.9, AVRstudio 4.19, mplab 8.92 и максимальное использование заложенных в них возможностей.
з.ы. лично собирал проекты для mplab 8.92 с помощью make, исходник редактировал в редакторе PN, сам mplab можно не устанавливать. Нынешний MplabX вообще сам создает makefile
Так и у mplab 8.92 свои встроенные инструменты имеются - зачем там лишнее? И опять же - я КОТ ЛЕНИВЫЙ - выписывать строчки запуска компилятора желания не имею (тем более для кучи файлов) - посему и веду разбор в направлении единого главного файла при минимальных тратах на подключение вспомогательных модулей. Вот тут как раз "забытое старое" и адуринка весьма к месту. ARV Насчет "старого"... Не всегда для практики нужно приобретать супернавороченное оборудование (можно и из дома в магазин на суперждипе за 100 метров ездить (или на вертолете слетать), если средства позволяют). Мы же ПЕНСИКИ СТАРЫЕ, средствами ограниченные... (Ёжли только не заробатывающие программированием и разработками непосредственно на фирмах разного калибру ) А требования ... это не на поддержку минимума, а на ознакомление с ресурсами, мимо которых в старое время проскочили не обращая внимания (именно по причине появления наворотов в "новом софте"). Вопросы же так и остались не рассмотренными - одинаково что в новом, что в старом - всплывут только при определенных условиях. Почему бы и не заняться "раскопками" пока текущих проектов нету?
Так и у mplab 8.92 свои встроенные инструменты имеются - зачем там лишнее?
дык mplab 8.92 и есть в этом случае лишнее, он же подглючивает в новых версиях виндовс раз можно его не ставить, этож хорошо - меньше замусоривается система, тем более с архива его не восстановиш... Специально именно для ленивых в окошке мплаба бегут строчки, их можно скопипастить, но думаю для правильного эмбеддера будет полезнее и лучшее почитать о параметрах компилятора в докуметации - их там совсем не много, полезнее имхо потратить на это время, а не на борьбу с ИДЕ всякими. з.ы. мы старики то помним, когда мплаба еще не было, а был только чистый пик ассемблер
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения