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

Поиск

Показаны результаты для тегов 'c++'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Системы CAD/CAM/CAE/PLM
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Нейронные сети и машинное обучение (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
    • Методы и средства верификации ПЛИС/ASIC
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCU)
    • Cредства разработки для МК
    • ARM
    • RISC-V
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
    • Пайка и монтаж
    • Корпуса
    • Вопросы надежности и испытаний
  • Аналоговая и цифровая техника, прикладная электроника
    • Вопросы аналоговой техники
    • Цифровые схемы, высокоскоростные ЦС
    • RF & Microwave Design
    • Метрология, датчики, измерительная техника
    • АВТО электроника
    • Умный дом
    • 3D печать
    • Робототехника
    • Ремонт и отладка
  • Силовая электроника - Power Electronics
    • Силовая Преобразовательная Техника
    • Обратная Связь, Стабилизация, Регулирование, Компенсация
    • Первичные и Вторичные Химические Источники Питания
    • Высоковольтные Устройства - High-Voltage
    • Электрические машины, Электропривод и Управление
    • Индукционный Нагрев - Induction Heating
    • Системы Охлаждения, Тепловой Расчет – Cooling Systems
    • Моделирование и Анализ Силовых Устройств – Power Supply Simulation
    • Компоненты Силовой Электроники - Parts for Power Supply Design
  • Интерфейсы
    • Форумы по интерфейсам
  • Поставщики компонентов для электроники
    • Поставщики всего остального
    • Компоненты
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
    • Обсуждение Майнеров, их поставки и производства
  • Дополнительные разделы - Additional sections
    • Встречи и поздравления
    • Ищу работу
    • Предлагаю работу
    • Куплю
    • Продам
    • Объявления пользователей
    • Общение заказчиков и потребителей электронных разработок

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


Код проверки


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники

  1. Здравствуйте, коллеги Ситуация: В package определена экспортируемая в C++ функция. На стороне C++ данная функция вызывается в случайный момент времени тредом, который к DPI не имеет отношения. Во время вызова функции из C++ симулятор Xcelium выдаёт следующие ошибки: "DPI Scope function call allowed only from context function" и "The C identifier "foo" representing an export task/function cannot be executed from a non-context area". Перед вызовом функции foo в стороннем треде я пробовал принудительно задавать контекст: svSetScope(svGetNameFromScope("foo_pkg")), но безуспешно. Я даже пробовал заранее сохранять переменную с контекстом (GLOBAL_SCOPE=svGetScope()) и перед вызовом устанавливать контекст: svSetScope(GLOBAL_SCOPE). Тоже безрезультатно. При вызове svSetScope(GLOBAL_SCOPE) DPI не видит контекста вообще и устанавливает его в NULL. На форуме Cadence нашёл заметку в которой автор решает описываемую проблему, используя функции __sync_lock_test_and_set и __sync_lock_release. Как и над какими переменными он их использует - не понятно. -- Сталкивался ли кто с подобной проблемой и как решил?
  2. у меня возник вопрос об отладке .Научился я прошивать Stm32 в Cubeide среде.Провозился с обновлением .Настроил для прошивки.А какие критерии настройки отладки и как я могу визуально это увидеть?
  3. Добрый день. Участвую в студенческой разработке и нам необходимо прикрутить 4 камеры и обработать с них видео поток данных. Пока все тестируем на Ubuntu и имеем следующий стенд: 1. Небольшие четыре видеокамеры 640x480, 320x240 2. USB-hub 3.0 на 4 порта Сейчас написали, что-то похожее на ЭТО: С одной камерой все отлично работает, но если сделать их 2 то уже пойдёт ошибка: No space left on device При этом, если подключить 4 камеры в порты самого системного блока компьютера, то картинка отображается очень даже хорошо. Для этого, для каждой камеры выполняется: ioctl(this->fd, VIDIOC_STREAMON, &type) Проблема сохраняется, если подключать камеры через usb-hub. Однако, мы решили проблему и делаем следующее: // camera->dBuf(); camera->streamOff(); camera_next->streamOn(); camera_next->qBuf(); // Мы запрашиваем буфер, отключаем стрим и запускаем стрим на следующей камере и сразу же кладем буфер в очередь. Такой костыль позволяет считывать с 4 камер подключенных к хабу, но фпс падает до 2-3 кадров в секунду, хотя до этого было на уровне 15 кадров. Используем v4l и SDL для отображения кадров. Собираемся потом портировать на девборд тинкер. Вопрос, как правильно работать с множеством подключенных камер? v4l2-ctl -d /dev/video2 --list-formats-ext ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'YUYV' (YUYV 4:2:2) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 320x240 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.200s (5.000 fps)
  4. Ищем ведущего C++ разработчика в аккредитованную российскую компанию, которая разрабатывает системы защиты от внутренних и внешних угроз информационной безопасности. Формат работы: удалёнка/гибрид/офис - отталкиваемся от пожеланий кандидата Занятость: фулл-тайм Стек: C++ 20, STL, Boost, dpdk, Clickhouse, ALTLinux, TCP/IP Условия: гибкий график, оформление по ТК, ДМС, спорт, техника для работы Зарплата: 300 - 400 т.р. на руки (для тимлида с опытом руководства), готовы обсуждать Основная задача - разработка высокопроизводительной системы, которая в режиме реального времени может: анализировать потоки информации на скорости десятки Гбит/сек; записывать сотни Тбайт данных; искать нужную информацию за секунду. Если заинтересовались, пишите на [email protected]
  5. Ищем embedded С/C++ разработчика (тимлида) в аккредитованную российскую компанию - производителя телекоммуникационного оборудования спектрального уплотнения (DWDM) Формат работы: гибрид 5/2 с 10.00 до 18.30; офисы в Москве или в Нижнем Новгороде Занятость: фулл-тайм Условия: оформление по ТК, ДМС после испытательного срока Зарплата: от 300 000 на руки, готовы обсуждать с успешным кандидатом Основные задачи: разработка ПО на C/C++ для встраиваемых систем под Linux взаимодействие с FPGA/ASIC интеграция SDK сторонних производителей с нашими устройствами совместная работа со схемотехниками по разработке и тестированию новых устройств Мы отлично сработаемся, если у вас есть: высшее техническое образование опыт разработки встроенного ПО на C/C++ опыт создания многопоточных приложений и отлаживания их в среде Linux знание TCP/IP опыт работы с протоколами USB, Ethernet и PCIe опыт самостоятельного развертывания Linux для встраиваемых систем ‌Если заинтересовались, пишите на [email protected]
  6. Решил я сделать автомат уровня воды для эл. насоса .Написал программу.А она работает со збоем.В качестве управление уровнями на GPIO выбрал контакты реле ~24 v .Если ёмкость пуста реле отключённые.А при отключении работают тики в прерывании по таймеру и через минуту загрузки процессора включается двигатель.Так организован нижний уровень .А верхний уровень так.Когда насос работает срабатывает первое реле срабатывает и через время срабатывает GPIO устанавливается в лог 1.Вода дошла до верхнего уровня и GPIO устанавливается в лог 0.И двигатель стал. Проблема в том что нет стабильной работы уровней.Контролер работает стабильно.А подпрограмма в прерывании по таймеру.
  7. Есть у меня дисплей LED 7 сигментный.Как мне вывести вещественное число ?Помогите советом.
  8. Ищу работу/подработку/стажировку, связанную с программированием микроконтроллеров AVR, STM32. Работа в программах AtmelStudio, Proteus, KeiluVision, CubeMX. Знание основ языка программирования С++. Желание развиваться в данном направлении. [email protected]
  9. у меня возникла непонятка с настройкой GPIO с настройкой аппаратного энкодера на stm32f103.На stm32 f407 всё понятно.GPIO настраиваю на альтернативную функцию .Потом регистры настраиваю альтернативной функции .Да и программная подтяжка лог 1.А сдесь?Кто может подказать?
  10. Как можно вывести результат на LCD без sprintf?
  11. Как установить нулевой потенциал на выводе АЦП при отсутствии тока?В stm32
  12. stm32 программный енкодер.

    Хочу я создать программу для енкодера Хотя в stm32 есть аппаратный.Но меня интересует программный енкодер.Кто может подсказать как проще? Или как практичнее?
  13. Режим захвата таймера stm32

    Я единственное не освоил это режим захвата как ни на avr и на stm32.Всё понятно только не понятно куда коней запрягать-метафора. Мне не понятно каким образом этот захват счёта я могу отобразить на LCD или на другом дисплее.Кто может мне нерусскому обьяснить?
  14. stm32 Cинусоида.

    По какой формуле лучше создавать массив?
  15. Есть такая проблема вывести на экран отрицательную температуру. Играюсь с avr протеусе.От нуля до 100 показывает на дисплее а от нуля до -55 какие то символы.Как можно настроить что бы показывало минусовую температуру.Вариантов сколько?
  16. Приветствую! Есть плата LicheePi Zero на базе чипа Allwinner V3s (ARM Cortex-A7) и собственно-сделанный BareMetal SDK, поддерживающий работу с: 1) файловой системой 2) видео-системой 3) звуковой системой 4) ввод данных (кнопки) в однозадачном режиме (цикл в main() + обработчик прерывания) Насколько реально будет туда портировать (перенести, сбилдить, скомпилять) J2ME виртуальную машину - для запуска MIDlet'ов ("Java"-игр) стареньких кнопочных телефонов с маленькими экранами (от 128x128 до 320x240) ? На всякий случай уточню: нужна не вся Java, а только J2ME, более конкретнее - CLDC и MIDP не ниже 2.0.. Поиск в интернете ни к чему ясному не подтолкнул: 1) все ссылки на java.net померли, вместо них Оракла - там чёрт ногу сломит где искать что надо 2) phoneME - кто его реально собирал? у кого есть опыт сборке сего чуда? Как у него дела с совместимостью игр? 3) какие ещё есть проекты? Как я это вижу? : 1) попытаться собрать J2ME эмулятор под Linux в Linux (платформа ПК x86) 2) выкинуть всё ненужное (секьюрити, работа с сокетами, сетью и прочим хламом) 3) завести вывод звука, графики и ввод данных - на бэкэнд(драйвера) своего SDK для V3s У кого-нибудь есть опыт сборки? Чё-то смотрю, что там больше Java надо, чем C. Его одним GCC реально собрать? В чём подвох? В сорцах куча Джавы... Без JRE соберётся? Велик соблазн запускать такие игрули:
  17. В последнее время я разрабатываю микроконтроллерную систему на базе ATMega2560, поскольку в ней больше периферийных модулей, и в то же время я хочу разрабатывать другие платы в будущем, я могу немного изменить последний код, чтобы применить его к новой плате. После проверки большого количества информации, я обнаружил, что APM использует такую идею: слой аппаратной абстракции; есть также система Android также использует концепцию слоя аппаратной абстракции, такой дизайн может значительно улучшить совместимость. Однако, изучив исходный код APM, я обнаружил, что не могу найти никакой информации о доступе к оборудованию, возможно ли, что C++ не может получить доступ к оборудованию напрямую?
  18. Здравствуйте. Я хочу заниматься микроконтроллерами. Есть базовое понимание с++. Везде читал что под мк программируют на си. Я хотел бы узнать подходит и с++ для программирования мк. Удобно ли? Учить си не хочется так как на с++ буду разрабатывать другие программы(не под мк). Микроконтроллерами хочу заниматься для себя, а не серьезно. Было бы хорошо если бы порекомендовали книги или другие источники для изучения программирования мк(Желательно на с++). Буду благодарен.
  19. ООО Эвокарго Кого ищем: разработчика С++/Python, который будет заниматься написанием ROS - драйверов для различных внешних устройств. Если вы опытный программист-разработчик и мечтаете заниматься исследовательской деятельностью в области беспилотных автомобилей, то вам – к нам. Обязанности: проектирование и написание ROS драйверов для различных сенсоров (сонары, лидары, камеры, радары) проектирование и написание ROS драйверов и парсеров для обработки пакетов получаемых по RS-232/422/485, CAN контроль целостности и корректности получаемых данных первичная фильтрация получаемых данных и выдача их необходимым образом в указанные топики. Требования: Знание и опыт работы с Robot Operating System (ROS) Знание Linux C++: ООП, основные паттерны проектирования Python: ООП, библиотеки numpy Будет плюсом: Опыт работы с железом (сенсоры, низкоуровневые драйвера, работа со стеком различных интерфейсов) Условия: Гибкий график и возможность частичной удаленной занятости; Профессиональный и молодой коллектив; Интересные задачи нацеленные на развитие высокотехнологичных самодвижущихся транспортных средств; Высокий уровень белой заработной платы; Оформление в соответствии с ТК РФ; ДМС. Контакты: [email protected] - почта @anna_peter_hr - Telegram (Анна)
  20. stm32f4 енкодер

    как сделать так что бы энкодер настроенный в таймере работал нормально?
  21. Разработчик C++ (Neural Networks)/ Москва Команда экспертов в области компьютерного зрения и машинного обучения находится в поиске Разработчика C++ (Neural Networks). Компания специализируется на создании продуктов и решений в области распознавания лиц и объектов, дополненной и виртуальной реальности. Задачи: • Разработка вычислительного бэк-енда для инференса нейронных сетей для мобильных устройств. • Реализация новых и оптимизация существующих операторов нейронных сетей. • Тесное взаимодействие с командой исследователей. • Поиск оптимальных методов реализации алгоритмов машинного зрения. Навыки: • Отличное знание C++ (14+). • Разработка, профилирование, отладка в linux. • Знание neon инструкций. • Знание архитектурных особенностей мобильных soc. Готовы предложить: • Высокий уровень дохода по результатам собеседования + прозрачная система бонусов и грейдов; • Полное соблюдение ТК РФ, белая заработная плата, больничные, отпуска и пр.; • Сложные, но интересные задачи и крутую команду, которая поможет с их решением. Детали: [email protected] https://t.me/K_Dvoretc
  22. Разработчик C++(High load)/ Москва Команда экспертов в области компьютерного зрения и машинного обучения находится в поиске Разработчика C++(High load). Компания специализируется на создании продуктов и решений в области распознавания лиц и объектов, дополненной и виртуальной реальности. Задачи: Разработка подсистемы real-time анализа потокового видео с использованием алгоритмов машинного зрения. Разработка алгоритмов детектирования, сегментирования и классификации объектов с применением аппаратных ускорителей (gpu, npu). Реализация взаимодействия со смежными подсистемами. Навыки: Отличное знание с++ (14+). Разработка, профилирование, отладка в linux. Разработка специализированных cuda kernel-ов. Тюнинг производительности с помощью nvprof/nsight. Понимание архитектуры multi-gpu систем. Готовы предложить: Высокий уровень дохода по результатам собеседования + прозрачная система бонусов и грейдов; Полное соблюдение ТК РФ, белая заработная плата, больничные, отпуска и пр.; Возможность работать как в офисе, так и удалённо; Сложные, но интересные задачи и крутую команду, которая поможет с их решением. Детали: [email protected] https://t.me/K_Dvoretc
  23. stm32f LCD I2C menu

    Вопрос вам специалистам.stm32f LCD I2C не переключается меню .Некоторые говорят с адресом проблема.Проверил всё сходится.В чём соль.Как решить данную проблему.И рессетировал шину специальным битом.Ноль.
  24. Добрый день. Продолжаю осваивать чип Allwinner V3s. Столкнулся с таким фактом. Нужно сделать переброс "память-память" самым наискорейшим способом, который возможен. Начал ковырять DMA и обнаружил несколько малоприятных вещей: 1) DMA не поддерживает переменные шаги приращения. Только программирование через дескрипторы. 2) Тактовая частота работы DMA всего 200 МГц !!! В сорцах линукса зачем-то для тактовой DMA используют AHB, которая получается делением на 2 частоты ядра: 1200/2 = 600 МГц. Затем эти 600 МГц делятся ещё на 3 для DMA. В итоге выходит всего-навсего 200 МГц. Таким DMA полезно делать только подкачку аудио-данных при воспроизведении или записи звука. Или ещё что-нибудь свя занное с забором-выводом данных в периферию! Для быстрого коприрования память-память не подходит! А теперь о хорошем! Если копировать с помощью инструкций NEON: void MEMCPY(u8 *dst,u8 *src,u32 size) { asm volatile( "1: \n" "VLDM %[src]!,{d0-d7} \n" "VSTM %[dst]!,{d0-d7} \n" "SUBS %[size],%[size],#0x40 \n" "BGT 1b \n" : [dst]"+r"(dst), [src]"+r"(src), [size]"+r"(size) : : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "cc", "memory" ); } то скорость получается самая максимальная. Если битовое поле TEX выставить равным "001", то получим ещё более высокий прирост в скорости (+20 %): //VIDEO MEMORY i=61; mmu_tlb_address[i + (dram_base>>20)] = (dram_base + (i << 20)) | (0 << 19) | (0 << 18) | (0 << 17) | (0 << 16) | (0 << 15) | (1 << 12) | //TEX (3 << 10) | (0 << 9) | (15 << 5) | (0 << 4) | (0 << 3) | //Cache (1 << 2) | //Buffer (2 << 0); При этом бит кеширования в дескрипторе приёмника в MMU-таблице должен быть выключен! Если его включить в приемнике, то скорость просядет. Тоесть: приемник: TEX=1, C=0, B=1 источник: TEX=0, C=1, B=1 При таком раскладе выходит около 8000 FPS при копировании буфера 240 x 160 x 16 бит. (ядро 1200 МГц, память 456 МГц ). С DMA выходит в 8 раз меньше! Если увеличить частоту DMA в 2,3 раза, то скорость нисколько не увеличивается. Действительно ли с DMA всё так печально, или есть способ его заставить работать быстрее?
  25. В Си можно сделать так: #include <stdint.h> // Объявляю тип объединения typedef union { uint32_t Word; uint16_t HWord[2]; uint8_t Byte[4]; } WordUnion_t; // Объявляю и инициализирую константный массив из 3-х объединений const WordUnion_t MyVal[3] = { {.Byte = {0x12,0x34,0x12,0x34}}, // Это объединение инициализировано, как массив байт {.HWord = {0x5678,0x1234}}, // Это объединение инициализировано, как массив полуслов {.Word = 0x12345678} // Это объединение инициализировано, как массив слов }; С++ такое не поддерживает. Ему нельзя явно задать поле объединения, которое я хочу инициализировать. Убираем имена полей и пытаемся инициализировать, как обычные структуры в С++: const WordUnion_t MyVal[3] = { {0x12,0x34,0x12,0x34}, {0x5678,0x1234}, {0x12345678} }; Компилятор и на это ругается. Только элемент MyVal[2], по его мнению, инициализирован верно. Эксперимент показал, что инициализировать объединение в С++ можно только по полю, объявленному первым при описании этого объединения. В моем случае, по .Word. Что бы мы ни писали в инициализаторах, он расценивает это, как значение поля Word. Собственно, вопрос: а если мне надо/удобно инициализировать моё объединение по другому полю, неужели синтаксис языка этого не позволяет? Странное впечатление создается. Язык большой, развесистый, позволяет сделать кучу всего несколькими разными способами, а такого простого действия, как инициализации нужного поля объединения - не позволяет.
×
×
  • Создать...