Перейти к содержанию
    

Сергей Борщ

Модератор
  • Постов

    10 921
  • Зарегистрирован

  • Посещение

  • Победитель дней

    31

Сообщения, опубликованные Сергей Борщ


  1. 47 минут назад, Homiak1988 сказал:

    Наконец приобрел анализатор. 8 каналов. Канал CLK для внешних синхросигналов,а CND,наверное общий...

    "Если на клетке со львом написано 'тигр' - не верь глазам своим" :biggrin: Там и CLK на 9 ноге нет - просто еще одна нога земли. Китайцы, такие китайцы.

    Да, это то, что нужно.

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

  2. 57 минут назад, Arlleex сказал:

    3. Я провел некоторые тесты интенсивных обменов короткими пакетами в LwIP и пришел к выводу, что МК нужен пошустрее, но имею то, что запаяно - F407.

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

  3. Для конкретно этой задачи есть #pragma once. Вроде бы обещают, что она даже отличает один и тот же файл, доступный из разных мест по символическим ссылкам с разными именами от другого файла с таким же именем.

  4. 1 час назад, jcxz сказал:

    Компилятор это не может выкинуть по той простой причине, что ему не известен код функций f2(), f3(). Странно что для вас это не очевидно.  :unknw:

    Компилятор в режиме LTO видит все исходники. Если код каких-то функций ему недоступен - проект не собрался. Если эти функции библиотечные - то и ваше ручное запихивание всего остального в один файл тоже не даст никакого выигрыша. Странно, что для вас это не очевидно. :unknw:

  5. 1 час назад, jcxz сказал:

    Мелко мыслите.

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

    1 час назад, jcxz сказал:

    К сожалению - IAR for ARM не имеет подобных квалификаторов.

    Очень жаль (на самом деле - мне пофиг, gcc их имеет). Квалификатор restrict внесен еще в стандарт c99.

  6. 50 минут назад, Дмитрий_ сказал:

    Не подскажете, есть ли примеры с debugger-simulator,

    Симулятор ИАРа не поддерживает никакую периферию. То есть ни одна программа, обращающаяся к периферии, не будет симулироваться правильно.

  7. 23 часа назад, Arlleex сказал:

    кто-нибудь так сам делает, или это я только велосипеды изобретаю?))

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

    20 часов назад, Arlleex сказал:

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

    LTO (link-time optimization) делает это из коробки для всего проекта.

  8. 1 минуту назад, jcxz сказал:

    постепенно все новые материнские платы добавят в конце-концов поддержку PD. имхо.

    Согласен, постепенно добавят. Но сегодня требовать от заказчика/покупателя наличия PD чтобы высосать из него 100 мА несколько, гм, гомосексуально.

  9. 5 минут назад, jcxz сказал:

    Ещё можно Power Delivery реализовать.

    И потом объяснять заказчику, что устройство не работает с его настольным компом, потому что у него USB не той системы 🤣

  10. Найти в интернете схему (есть , я находил), по схеме разобраться, как оно должно работать и найти расхождения с вашим экземпляром. Эти часы собраны на микросхемах серии К176, они боятся статики. Весьма вероятно, что в процессе ремонта вы их слегка подбили. По первой секции - или тактовый вход у счетчика подбит, или выход переноса предыдущего счетчика, или вход сброса. Там, где не горят  сегменты - они управляются транзисторами, вероятнее всего обрыв провода от транзистора к индикатору. Там, где сверятся тускло - или дефект индикатора, или холодная пайка накала.

  11. 11 часов назад, std сказал:

    В истории языка не было каких-либо "отмен".

    new(std::size_t, std::size_t)

    Цитата

    The placement form void* operator new(std::size_t, std::size_t) is not allowed because the matching signature of the deallocation function, void operator delete(void*, std::size_t), is a usual (not placement) deallocation function.  (since C++14)

     

  12. 23 часа назад, izerg сказал:

    Для ЖКИ желательно не давать постоянных напряжений на электроды. 

    Не совсем так. Желательно не подавать постоянного напряжения между подложкой и сегментом. А поскольку на сегментах у автора темы постоянно что-то меняется, то между выводом любого сегмента и подложкой, на которую подана половина питания, всегда будет переменное напряжение.

×
×
  • Создать...