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

Поиск

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

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

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

Тип контента


Форумы

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • 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+


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


Звание

Найдено: 0 результатов

  1. В GD32F103RBT6 имеется Timer1. В Timer1 имеется 4 канала. Каждый канал можно настроить в режим захвата по фронту/срезу на пине контроллера и настроить соответствующие прерывания. Собственно я так и настроил. Функция обработки прерывания от Timer1 выглядит так: Когда фронты/срезы поступают на один из 4 каналов, всё работает как надо и вопросов не возникает. Но если фронты/срезы будут поступать одновременно на два и более каналов, то вопросы возникают. Если слать фронты/срезы на канал 0 и канал 1, то на канале 1 будут пропуски в обработке прерываний. Выяснил это просто инкрементируя счётчики фронтов/срезов при обработке прерываний от каналов. Причём, если код как в посте, то пропуски будут на канале 1. Если в коде поменяю местами очерёдность обработки каналов (сначала канал 1, а потом канал 0), то пропуски всё равно будут на канале 1. Если уберу обработку канала 0, и буду слать фронты/срезы на каналы 1 и 2. То пропуски будут на канале 2. Вангую, что мне ответят: 1) читай Джозефа Ю.; 2) не нужно совать всю обработку события в функцию обработки прерывания. Нужно установить флаг события, а уж в основном цикле разбираться; 3) использовать другие таймеры - не могу, остальные все заняты; 4) в UserManualе ответа не нашёл, Erratы не нашёл на сайте производителя. Если есть у кого-нибудь другие комментарии, очень прошу подсказать. Как устранить или минимизировать пропуски? Сам пробовал увеличить стек - не помогло. Приоритет прерываний от Timer1 равен 7. Приоритеты остальных прерываний ниже (значение больше 7).
  2. Компания GigaDevice анонсировала выпуск серии микроконтроллеров, поддерживающих Wi-Fi 6 и Bluetooth LE 5.2 – GD32VW553. На данный момент серия состоит из 8 моделей. Подробнее
  3. Есть проект на GD32F103RBT6. В проекте используется загрузчик, который расположен в начале FLASH, и основная программа. В основной программе используется CMSIS-RTOS2. Проблема следующая. После перехода из загрузчика в основную программу, при попытке провести инициализацию CMSIS-RTOS2, функция возвращает результат osErrorISR: osStatus = osKernelInitialize(); // Initialize CMSIS-RTOS. if (osStatus != osOK) ERROR_ACTION(KERNEL_ERROR,0); и соответственно программа сваливается в ERROR_ACTION(KERNEL_ERROR,0). Что было сделано: - перед переключением на основную программу, вся используемая периферия отключена, прерывания отключены и сделан ClearPending; - в основной программе перед инициализацией CMSIS-RTOS2 снова прерывания отключены и сделан ClearPending; - пробовал кратно уменьшить количество потоков, очередей. Ничего не помогло. В чём причина?
  4. Контроллер GigaDevice GD32F103RBT6. Вопрос в заголовке. Использую FWDGT. Запускается и ресетится как надо, а как его выключить, если он перестал быть нужным? В регистрах нужного бита не нашёл.
  5. Собственно вопрос в заголовке. По умолчанию адреса такие: С адресами по умолчанию проект работает. А я хочу так: Для смещённых адресов линкер-файл такой: ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x08008000 0x0000BC00 { ; load region size_region ER_IROM1 0x08008000 0x0000BC00 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) } RW_IRAM1 0x20000000 0x00005000 { ; RW data .ANY (+RW +ZI) } } В проекте со смещёнными адресами делаю смещение для регистра SCB->VTOR в файле gd32f10x_misc.h: #define NVIC_VECTTAB_RAM ((uint32_t)0x20000000U) /*!< RAM base address */ #define NVIC_VECTTAB_FLASH ((uint32_t)0x08008000U) /*!< Flash base address */ Заливаю проект, захожу в отладчик - проект виснет. Не доходит даже до смены значения в SCB->VTOR. Что ещё я не сделал?
  6. Имеется контроллер от GigaDevice GD32F103R. В контроллере имеется аппаратный модуль CAN. Этот модуль настроил согласно UserManual и успешно использовал это ПО сначала в отладчике, а затем и в целевом устройстве. Всё было замечательно до тех пор, пока не пришлось прошить очередной образец устройства уже отлаженным ПО. В этом конкретном образце устройства обнаружился баг в работе CAN. Баг проявляется, когда устройству необходимо направить в шину помимо ID ещё и байты с данными. В моём проекте устройство отправляет в шину за раз до 8 байт данных. В случае если устройство отправляет от 0 до 6 байт включительно, багов не возникает. В случае если устройство отправляет 7 байт, то последний байт данных представляет случайное значение, хотя при формировании посылки байт имеет определённое значение. В случае если устройство отправляет 8 байт, то уже последние два байта представляют случайные значения. Что было сделано: 1) Естественно, сначала проверил, что я записываю в почтовый ящик для отправки. Оказалось что записываю я всё верно. 2) Проверил работу внешнего преобразователя TTL->CAN на плате и даже заменил его - не помогло. 3) Проверил посылку осциллографом прямо на ноге микроконтроллера: 7й и 8й байт - всегда случайные значения. 4) Проверил ещё раз ПО на отладчике и ещё раз на другом образце целевого устройства - всё работает правильно, никаких случайных значений в 7м и 8м байтах. 5) На косячном образце стёр всю FLASH и заново записал ПО - не помогло. 6) Заменил на косячном образце микроконтроллер на новый, записал ПО, и....... БАГ ПРОПАЛ! Всё стало работать правильно. Что это было? Кто сталкивался? Есть ли какие-то особенности в использовании/настройке CAN, которые могут влиять подобным образом?
  7. Пять лет назад компания GigaDevice представила свою дебютную линейку 32-битных микроконтроллеров GD32F1 на базе процессорного ядра ARM Cortex-M3. Это семейство чрезвычайно сильно напоминало популярные микроконтроллеры STM32F1 от STMicroelectronics. Об этой интересной ситуации мы рассказывали в статье «Европейский прагматизм, китайская хитрость. Новый ARM Cortex-M3 микроконтроллер от Giga Devices». С тех пор портфолио микроконтроллеров GigaDevice существенно расширилось за счет семейств и линеек, в том числе с процессорными ядрами ARM Cortex-M3, ARM Cortex-M4 и ARM Cortex-M23. И вот совсем недавно GigaDevice официально представила новое семейство 32-битных микроконтроллеров общего назначения GD32V103 на базе открытого ядра RISC-V. Подробнее >>
×
×
  • Создать...