home.social

#gd32vf103 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #gd32vf103, aggregated by home.social.

  1. GD32 Unleashed: тотальная эмуляция в QEMU

    Зачем эмулировать то, что можно купить за копейки? Тратить месяцы на создание виртуальной модели микроконтроллера, если реальная отладочная плата на базе GD32F303 стоит как пара чашек кофе? Ответ прост: хороший физический стенд — это не просто плата. Это проектирование, сборка, место в стойке, электропитание, обжиг кабелей и поддержка в рабочем состоянии. А самое главное — его часто нельзя раздать каждому разработчику. Но что, если можно запустить ту же прошивку, что и на реальном железе, в эмуляторе? В этой статье я представляю результат работы нашей команды из отдела разработки встраиваемого ПО в YADRO. Наиболее полную на сегодняшний день модель SoC GD32F30X в QEMU и набор интерфейсов, которые делают взаимодействие с эмулируемой периферией «прозрачным» для хостовой системы.

    habr.com/ru/companies/yadro/ar

    #qemu #linux #gd32vf103 #gd32

  2. Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 6. Дробные числа

    Одно из основных предназначений микроконтроллера — это получение информации извне, ее обработка и выдача реакции. Причем зачастую эта информация представлена не в цифрах, а в терминах реального мира: 3 сантиметра, 101 килопаскаль, 3.6 вольта. Мало того, что информацию надо получить, ее зачастую надо потом отобразить человеку. Вот только подобные аналоговые величины плохо ложатся на целочисленные переменные, с которыми так хорошо работает контроллер. О том, как дробные числа можно закодировать и какие при этом встречаются подводные камни, сегодня и поговорим.

    habr.com/ru/companies/yadro/ar

    #riscv #gd32vf103 #ch32 #ch32v303

  3. Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 5: DMA

    Часть 1. Введение Часть 2. Память и UART Часть 3. Прерывания Часть 4. Си и таймеры В предыдущих частях мы научились работать с RISC-V контроллерами в стиле восьмибиток из прошлого тысячелетия. Конечно, периферия у наших посложнее, но все равно управляли мы ей напрямую. Теперь же рассмотрим периферийный модуль, который сам может управлять другими периферийными модулями, пока ядро занято вычислениями. Речь идет о DMA (Direct Memory Access, оно же Прямой Доступ к Памяти, ПДП).

    habr.com/ru/companies/yadro/ar

    #riscv #gd32vf103 #ch32 #ch32v303

  4. Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 4: переход на Си и Таймеры

    Часть 1. Введение Часть 2. Память и UART Часть 3. Прерывания Будем считать, что с архитектурой контроллера и системой команд RISC-V мы более-менее познакомились. То есть не будем их пугаться ни когда надо почитать выхлоп дизассемблера, ни когда надо самостоятельно что-то оптимизировать. Теперь пора наконец перейти к написанию более сложных программ, а значит, и к более компактному языку. Не то чтобы это было сложно делать на ассебмлере, но уж больно много букв.

    habr.com/ru/articles/873520/

    #riscv #gd32vf103 #ch32 #ch32v303

  5. Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 3: прерывания

    Часть 1. Введение Часть 2. Память и UART Как уже неоднократно говорилось, специфика микроконтроллеров заключается в их скорости реакции на внешние события и большом разнообразии подключаемой периферии, но при этом не слишком большой вычислительной мощности. Чтобы повысить скорость реакции, можно чаще проверять биты статуса, но это существенно усложнит написание программ и замедлит выполнение. А начиная с некоторого количества периферии, вообще наступит физический предел: на опрос всех битов уйдет больше времени, чем допустимо в устройстве. Чтобы это обойти, для проверки битов придумали использовать не программный код, а аппаратный модуль — контроллер прерываний. Его задача заключается в том, чтобы отловить факт возникновения события, удостовериться, что данное событие разработчику интересно и что контроллер в данный момент готов его обрабатывать. После этого выполнение основного кода приостанавливается (прерывается), а управление передается на специальную подпрограмму — обработчик прерывания. Именно этот механизм мы сегодня и рассмотрим.

    habr.com/ru/articles/866798/

    #riscv #gd32vf103 #ch32 #ch32v303

  6. Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 1: введение и Hello world

    Начинаю выкладывать курс по изучению контроллеров RISC-V на примере GD32VF103 и чуть более мощного CH32V303. Основной упор будет скорее на теорию и технологии, чем на "быстрый старт" и "электронику для домохозяек". То есть ассемблер, регистры и самодельные печатные платы.

    habr.com/ru/articles/861310/

    #riscv #gd32vf103 #ch32 #ch32v303