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

dxp

Свой
  • Публикаций

    3 471
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

1 Подписчик

Информация о dxp

  • Звание
    Adept

Информация

  • Город
    Novosibirsk

Посетители профиля

7 789 просмотров профиля
  1. task - это возможность вынести общие куски кода в отдельную сущность. Это уменьшает громоздкость, улучшает читабельность, сопровождаемость. Наконец, это просто удобно. Конечно, надо это делать всегда к месту, и в моей практике таких мест было не очень много. Например, в одном проекте была пара довольно развесистых автоматов, у которых были похожие фрагменты кода. Успешно вынеслось в task'и.
  2. FMC122P - PCI Express v3.0 x16

    Разве диапазон адресов, выделенный устройству, не находится в адресном пространстве хоста?
  3. Вы фантазируете или откуда эти 3%? Да, честных 12 разрядов нигде нет и быть не может. И в широкой полосе да с частотой семплирования в десятки ГГц тяжело получить даже близко к 12, у WavePro (LeCroy) заявлено всего 9.5 ENOB, но и у 8-разрядных там тоже далеко не 8, там <6. Т.ч. разница очень приличная. Посчитайте количество честных квантов в обоих случаях. Детальность снятия сигнала весьма разная получается.
  4. Это если всё, что вы им смотрите - ногодрыг на вашем стм32 (или в лучшем случае на пинах ПЛИС).
  5. Использовать скопы с 12-разрядным АЦП. Там тоже есть этот шум, но он в разы меньше. И да, это уже не китай.
  6. Мои 5 копеек. Насколько помню, квеста всегда была расширенной версией моделсима, по сути квеста = моделсим + верификационные шняжки.
  7. У TMS320F28xx два канала АЦП нужны для оцифровки квадратурного сигнала от синус-косинусных датчиков. АЦП один, но схем УВХ две и срабатывают они одновременно, делая выборку двух сигналов синхронно.
  8. + за скрипты. У нас запуск симуляции производится вообще одной кнопкой из внешнего (хорошего программерского) редактора, в котором и пишется весь код. Да, кнопка запускает скрипт. Скрипт делает всю работу: проверяет зависимости (например, пересобирает корки, если что-то там обновилось в настройках и компилирует их модели в отдельную библиотеку), компилирует исходники, запускает елаборацию. Скрипт написан один раз и тоже если что и меняется, так по мелочи корректировки, а работает во всех проектах. В скриптах мне не нравится только одно: Tcl. :) Более человеческий язык был бы уместнее. Но тут ничего не поделать, уже промстандарт.
  9. Ещё был случай в истории, когда в строевой подготовке использовали "термины": "сено" и "солома". Для простоты. Многим очень нравилась простота и краткость этих двух слов.
  10. userlib

    Такая асимметрия возникает из-за характера применения функций чтения и записи. При чтении ожидающий процесс ничего не знает о количестве данных в буфере, если специально не запрашивать. Поэтому как только что-то там есть, это что-то отдаётся "читателю". У "писателя" ситуация несколько иная - как правило при записи пишется некий законченный блок данных (пакет) и нет никакого смысла дробить его из-за появления в буфере сколько-нибудь места. Если делать симметрично, то некоторых случаях будет возникать либо торможение на стороне приёмника (если отдавать только запрошенное количество данных), либо будет возникать дополнительная обязательная нагрузка на пользовательский код - вместо того, чтобы один раз вызвать запрос за запись в канал (а класс буфера там спроектирован именно как основа для сервисного класса ОС channel), пользователю придётся отслеживать порции записи и в цикле дописывать. Вот такие соображения. Тут можно спорить, что лучше, но вот такие рассуждения были 15 лет назад, исходя их тех реалий (в первую очередь возможностей элементной базы и обозримого класса задач). См. выше. Использование сервиса channel в обработчиках прерываний в общем случае небезопасно, т.к. в случае нехватки ресурса будет произведена попытка встать на ожидание (ресурса) и отдать управление ядру, чего в прерывании делать нельзя. Поэтому позже (кстати, совсем не так давно) были добавлены функции *_isr, которые не приводят к фатальным последствиям, т.к. проверяют наличие ресурса и только после этого обращаются к нему. По нюнасам реализации прокомментировать не могу, автор этого добавления не я. Можно ли тут что-то отрулить, не берусь с ходу судить: с одной изменения могут сломать что-то у пользователя, с другой - те, что были внесены совсем недавно (read/write_isr) вряд ли "обросли историей" и если логика использования не меняется, то реализацию можно и подшаманить безопасно. Да, трогать старые channel::read/write, полагаю, нельзя - обязательно сломается пользовательский код. И если хочется своего, то таки да, такая возможность есть штатно - написать свою реализацию в виде расширения. По названию могу предложить - pipe. Смысл и уровень абстракции такой же как и у channel в данном контексте, а имя совершенно другое и даже короче. :)
  11. Что-то вы совсем не о том. Члены-данные класса (class data member) и статические члены-данные класса - это две ба-альшие разницы.
  12. Да, именно в русскоязычном сегменте. И если даже, как вы говорите, обычные функции уже называют методами, то мне тогда совсем не понятно, почему именно методами, а не, скажем, слонами - по близости смысла (а точнее, дальности) они где-то рядом. :biggrin: Полагаю, это потому, что они построже обращаются с терминологией. Хе. Ну, тогда и для членов-данных нужно тем более придумать левый синоним - ведь с данными-то всё ещё хуже (если там хоть функция-ч..., то данные чаще всего называют просто ч...). :laughing:
  13. Я вижу, вам тоже оно нравится (более коротко и/или привыкли). "Метод" (как и ООП) появился куда раньше плюсов. Обратите внимание, он говорит про Java и взял в кавычки, подчёркивая, что в плюсах далеко не все функции-члены являются методами. Я ничего не утверждаю. Ну, разве что то, что термина "метод" в С++ нет вообще. Есть функция, функция-член, статическая функция-член, виртуальная функция-член. На последнюю можно отмапить термин "метод", переходя на ОО терминологию. Но тащить её дальше и обобщать - это как-то слишком. Вот если вы пройдёте по вхождениям словам "method", то убедитесь, что Страуструп очень аккуратно использует терминологию, употребляя этот термин именно как синоним виртуальной функции-члена, например (стр. 20):
  14. Так тут просто фильтр от "иголок", там их энергия очень небольшая, хватает и такого фильтра, потребление и пульсации по этим цепям, возможно, такие, что хватает и 0.1 мкФ. Разработчикам виднее, куда что ставить. Например, от этой же цепи (VCC_3V3S) они питают кучу всего, в том числе и через бусину L1402, после которой стоит целая батарея конденсаторов, как вам и нравится :), - очевидно, у этих питаний иные требования, вот они тут и расстарались. Почему не боятся резонансов - полагаю, что по той же причине: им виднее, возможно они знают характер пульсаций и проверили это на практике.
  15. А чем оно не типовое по-вашему? Именно питают аналоговую цепь трансивера от цифрового питания - бусиной чистят от "иголок", без неё конденсаторы их не задавят. То, что не боятся резонанса на НЧ, так это, полагаю, они знают характер потребления этой цепи - например, оно ровное (у трансивера так и должно быть) и частота пульсаций на нём и близко не попадает на резонансный пик. А "иголки" убрали. В этом и профит. Как раз по прямому (типовому) назначению бусина и используется.