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