- Кто-то пользуется gcc и make без самодельных костылей? Не получается использовать файл зависимостей, формируемый gcc AlexBi(2514 знак., 27.12.2019 13:01 - 13:03, dao, полностью)
- В выражении "tm.hex : m1.o m2.o" та же ошибка: если объектные файлы лежат в obj, то нужно писать "tm.hex: obj/m1.o obj/m2.o"... Ты хочешь от make странного: если m1.o изначально вообще везде отсутствует, то как make догадается, что нужен именно fk0(777 знак., 28.12.2019 01:02)
- Все зависимости должны быть с путями. При использовании vpath в вариантах с шаблонами вместо '%' поставляется путь вместе с каталогом (из vpath), поэтому вариант вроде "%.o: %.c" не сработает (в правой часто он видит "src/file., а в левой будет fk0(388 знак., 28.12.2019 00:53)
- include *.d нужно делать _только_ если цель сборки не содержит clean, через "if($(filter clean%,$(TARGETS)),)", иначе будет неудобно. - fk0(28.12.2019 00:44)
- После слова "папки" я понимаю, что человек с компьютером на "вы" и дальше можно не читать. - fk0(28.12.2019 00:34)
- Все пучком, rtfm. "Костыли" только для подготовки проект-специфических модификаций прошивки. - RED_DRAGON(27.12.2019 22:52, ссылка)
- Не знаю, поможет ли. У меня все пути относительно корневой директории проекта. Для сборки делаю её текущей директорией и вызываю make. Вообще никаких проблем с путями. - SciFi(27.12.2019 13:07)
- хм! Очень интересно, хочу Xcode )) - Aleksey_75(25.12.2019 21:50, dao, полностью)Гyдвин
- В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. - sav6622(27.12.2019 00:23, dao, ссылка, полностью)
- Захотелось мне поиграть с функцией Sleep( uint32_t milliseconds), вставить duration<> с разрядностью тиков оси, чтобы можно было и так и этак: Sleep( milliseconds{ timeout } ); Sleep( 437ms ); Sleep( 1s ); Sleep( seconds{ 2 } ); Оказалось, что _Constantin24(486 знак., 25.12.2019 08:18, dao, полностью)
- Миллисекунды - это "вечность" по сравнению с тиками контроллера. Тут некоторые уже в эту кучу и микросекунды накидали. А ведь разница в 1000 раз. Кстати, если вам действительно нужны миллисекунды с "копейками", то используйте микросекунды. - Costic(25.12.2019 18:31)
- Я не стал связываться с хроно, и сделал так (тоже упражнение, ни для чего не нужно) йцукен(391 знак., 25.12.2019 11:42)
- часто sleep не совсем то же, что delay. тики и delay ещё как-то можно сопоставить, и даже если оверхед на вход/выход из функции типа отсутствует (inline), то всякие прерывания могут джитера подогнать. а когда sleep уже как бы системный, то само Vit(55 знак., 25.12.2019 11:22)
- Что значит "тики не равные 1:1 с миллисекундами"? Зачем float??? Достаточно хранить timespec состоящий из секунд и наносекунд и использовать только умножение (деления может не быть на некоторых CPU). - fk0(25.12.2019 11:11)
- Кажется я знаю, почему космический корабль от Боинга не долетел до МКС. Там движок не вовремя включили. Наверняка мотором управляла программа на Яве. - Крок(25.12.2019 11:10)
- Вот поэтому плюсы злейшее зло. Неокрепшие умы заставляет заниматься тщетным рукоблудием. Нормальный
крепкий хозяйственник сишник просто сделает две функции sleep_ms() и sleep_ticks(). - SciFi(25.12.2019 08:26)
- Напомните плиз, чем можно порисовать быстро и бесплатно порисовать вот такие картинки. Еще лучше если бы они генерились из текстового описания данного изображения. - sav6622(25.12.2019 17:42, dao, картинка, полностью)
- [CLion от JetBrains] Отличная IDE для нашего embedded мира! -> --> Evgeny_CD(103 знак., 24.12.2019 23:45, dao, ссылка, ссылка, полностью)
- PVS-Studio до нашей ниши добрались - Dingo(24.12.2019 17:24, dao, ссылка, полностью)Evgeny_CD
- Ну это так, поиграться. Кому надо по процессам типа авионики или автомобилки, юзают известные в отрасли продукты, Polyspace, LDRA, AbsInt (> 15K EUR за лицензию, как тебе такое PVS?). А кто просто болеет за качество кода, юзают дешманский PC-Lint Alex B.(298 знак., 25.12.2019 11:39)
- Манагер из их конторки год назад вроде зарегистрировался тут и пытался рекламировать их софт. Вроде сам по себе статический анализатор неплох, но подход конторы-разработчика не нравится. Какая-то базовая версия на их сайте стоит около 150 тыс. FDA(486 знак., 24.12.2019 20:54)
- Вот он. - Точка опоры(25.12.2019 13:03, ссылка)
- Посмотрим на это под другим углом зрения. Evgeny_CD(511 знак., 24.12.2019 21:09)
- Понимаешь в чём дело. Как раз то, что в крупных продуктах они находят ошибки и показывает, что зачастую ничего криминального тут нет. Есть ошибка, ну и есть, сильно себя не она проявляет. Но ведь помимо таких тупых ошибок есть ещё и FDA(279 знак., 24.12.2019 21:43)
- Тесты и статический анализатор - это разное. Чем больше способов тестирования, тем выше вероятность дожать баги. Серебряной пули нет. Но если где-то живет утечка памяти, которую непросто найти тестами, ибо проявляется редко, а анализатор могет ее Evgeny_CD(36 знак., 24.12.2019 22:18)
- Всё это здорово, но PVS-студия по-моему не совсем профессиональный инструмент и денег своих не стоит. Почему? Потому, что проф. инструмент из _любой_ билд-системы запускается, смотрит как вызывают gcc и делает всё по образу и подобию (а-ля fk0(698 знак., 25.12.2019 01:06)
- Всё это здорово, конечно, но всегда надо оценивать именно возможности конкретного инструмента. Если более крутой осциллограф имеет полосу 300 МГ, а мне хватает 25 МГц, то он мне не нужен. Это будет бесполезная трата денег. Так же и здесь. Если FDA(261 знак., 25.12.2019 00:05)
- Есть среды, где фоном gcc юзается как статический анализатор. И неплохо вполне себя проявляет. И бесплатно. - POV_(24.12.2019 22:27,
)
- Пример? - Evgeny_CD(24.12.2019 22:48)
- [Clang-Tidy] Статический анализатор, заточенный под C++, на основе экосистемы Clang -> По ссылке из статьи --> Evgeny_CD(39 знак., 25.12.2019 00:01, dao, ссылка, ссылка, полностью)
- Для разработки и отладки под STM32 теперь можно и JуtBrains CLion использовать - sav6622(27.12.2017 01:23, dao, ссылка, полностью)
- [AI для MCU, конкретно STM32] -> --> Evgeny_CD(855 знак., 24.12.2019 21:58 - 22:13, dao, ссылка, ссылка, полностью)
- Новый заказчик: "Contractor will provide a Build system with all necessary tools delivered in docker system (preferable)". Это о чем вообще? Можно ли обойтись GCC ARM с минимальным присутствием линуха? Как начать? - VLLV(23.12.2019 05:40, dao, полностью)
- Пардон, что не в тему. Но фото бутылки слева намекает. Ежели кто захочет Крок(13 знак., 24.12.2019 16:02, ссылка)
- Кстати использование докера неплохая идея. А еще хорошая идея использовать систему сборки cmake для производственной сборки. Использую докер с yocto - полет нормальный. На вопрос stm32 + docker framer(274 знак., 24.12.2019 10:59)
- О том, чтоб можно было воспроизвести билдсистему простым копированием, а не вызовом специально обученного человека. И что там нет всяких фокусов, когда оно на одном компьютере работает, а на другом нет. Хотя фокусы устроить всегда можно. - fk0(23.12.2019 12:14)
- Тут смысл в том, что подрядчик предоставляет весь инструментарий и контент полностью и несёт всю ответственность за соблюдение авторских прав. Nikolay_Po(217 знак., 23.12.2019 09:37 - 09:43)
- Ну ребята, ну объясните мне кто- нибудь, как начать с GCC ! Дайте волшебную ссылку, но чтобы я все понял! - VLLV(23.12.2019 14:08)
- gnu.org что ли? Откуда прямо внутри докер контейнера с помощью wget скачивается исходники gcc, там же билдятся с твоей C-библиотекой. Прямо не выходя из консоли. Какие ещё ссылки нужны? На gnu.org есть инструкция по сборке gcc. Если ты не можешь fk0(72 знак., 24.12.2019 00:43, ссылка)
- Как вариант взять вот это (если целевой проц - ARM). Все в комплекте, под винду, снаружи нужен только JLink. Оно давно умерло, в смысле обновлений. Но работает вполне. Афтырь ушел работать в Segger, лабает Embedded Studio. Видать некомильфо тянуть LightElf(46 знак., 23.12.2019 16:53 - 16:56, ссылка)
- --> - SciFi(23.12.2019 14:09, ссылка)
- Eclipse? 100500 мегабайт ради чего? Для сборки нужен тулчейн и больше ничего. Там и графика не нужна, командной строки выше крыши. В старину такие системы занимали порядка 10 МБ. - SciFi(23.12.2019 09:44)
- Можно сделать банальную виртуальную машину с установленными тулзами. "Копируем туда папочку проекта и жмакаем make". - SciFi(23.12.2019 07:29)
- "Как я 12 лет создавал свой ЯП и компилятор к нему" самое увлекательное чтиво на хабре за последние 10 лет - bodis(22.12.2019 17:42, dao, ссылка, полностью)Evgeny_CD
- может обсуждалось уже: кто в чем рисует UML диаграммы? - _Constantin24(23.12.2019 07:19, dao, полностью)
- Тоже хочу бутылку :). Наметилась дискуссия (см. 1-ю ссылку) "о роли и месте С++". Прошу знатоков и прежде всего fk0 прокомментировать материал (см. 2-ю ссылку). Моё ИМХО, что это как-то уже слишком заабстрагировалось, "или нет?" (с). - Chum_A(17.12.2019 08:56, dao, ссылка, ссылка, полностью)
- вот для микроконтроллера деструкторы не нужны - резет все спишет. а сейчас в линукс вздумал дописать кусок кода (там С если что) - полный атас, прописывать корректный выход из каждой ветки - и try catch тоже(18.12.2019 14:44,
)
- Как показывает практика, процессоронезависимость - это последнее, что нужно в долгоживущем проекте на МК. Нужна хорошая организация кода. А программист, который лабает приложение, о пинах, как правило, не знает ничего. И соблазн у него другой - Хитрый Китаец(181 знак., 18.12.2019 10:05)
- Такой код на С++ - это (простите) гавно. Возможно, он компилируется в корректный код, но человеку его сложно читать, писать и понимать. Он содержит избыточные кол-во ключевых слов языка, за которыми теряется суть. Это одноразовый код, напишут и Costic(239 знак., 17.12.2019 23:35)
- Спасибо всем ответившим! - Chum_A(17.12.2019 13:44)
- Выводы контроллера всегда управляются в контексте управления каким-либо более крупным аппаратным ресурсом. I2C-шиной, например. Вот в классе, функции, модуле управляющем шиной и не зазорно будет напрямую записать в GPIO регистр и подёргать за fk0(2049 знак., 17.12.2019 12:06)
- прочитал до середины, до самописных GetPin и PutPin, дальше читать не стал. Скажу так, после перехода на пик32 мне гармония(куб для ст) реально облегчила процесс конфигурирования. Она нагенерила мне макросы(и они уже процессорно независимые), abivan(265 знак., 17.12.2019 10:21)
- Оно? evgeniy1294(4415 знак., 17.12.2019 10:00)
- Вот! Сам вопрос - отличный пример того, что плюсы лишь заводят за корягу. Вместо того чтобы делом заниматься, придумывают всякие абстракции. - SciFi(17.12.2019 09:28)
- Все проблемы, которые я вижу сегодня в надежности встроенных систем, вообще не связаны с языком программирования. Например: VLLV(479 знак., 17.12.2019 09:24)
- С языком очень даже связано. Компилирующие языки со статической типизацией (C++, C#, Java, C, Pascal) пропускают гораздо меньше ошибок, чем ассемблеры (без типизации) или скриптовые языки (Python, Javascript). В последних пока не запустишь -- не fk0(1364 знак., 17.12.2019 12:24)
- Хочется в очередной раз повторить, что может не только "пропасть питание", но и произойти перезапуск абсолютно в любой момент, по массе причин. Поэтому если у кого-то что-то теряется, то проблема не в библиотечной функции, а где-то в другом месте, fk0(245 знак., 17.12.2019 12:11)
- Умеющим HART. Где взять коды единиц измерения (units code)? И классификацию типов устройств(manufacturer's device type code), и заодно "manufacturer identification code" - IBAH(17.12.2019 00:29, dao, полностью)