В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

Программирование микроконтроллера GigaDevice GD32F303CCT6 на Си. Часть 1

📆23 октября 2024   ✒️ayan   🔎332   💬2  
Программирование микроконтроллера GigaDevice GD32F303CCT6 на Си. Часть 1

Всем доброго дня! Перед вами — руководство по программированию в GCC микроконтроллера GD32F303CCT6 на языке Си для ОС Windows.

Общая информация по МК GD32F303CCT6

• ядро — Cortex-M4,
• максимальная частота тактирования — 120 МГц,
• Flash — 256K,
• SRAM — 48K,
• I/O — до 37,
• таймер — 7,
• USART — 3,
• I2C — 2,
• SPI — 3,
• CAN 2.0B — 1,
• USB 2.0 — FS,
• I2S — 2,
• ADC — 3 (по 10 каналов),
• DAC — 2.

Более подробную информацию смотрите в:
Datasheet и User Manual,
Cortex-M4 Generic User Guide и Technical Reference Manual.

Необходимые устройства

Вам понадобятся:





Программное обеспечение

Скачайте и установите следующий софт:
Arm GNU Toolchain,
OpenOCD,
MinGW.

В Control Panel/System/User variables/Path добавьте пути к папкам с исполняемыми файлами:
Программирование микроконтроллера GigaDevice GD32F303CCT6 на Си. Часть 1
Рисунок 1. Добавление в переменные среды путей к папкам компилятора, загрузчика и make


Среда программирования

Писать и отлаживать программы будем в Visual Studio Code, поэтому:
а) установите указанную программу,
б) через поле поиска вкладки «Extensions» панели инструментов VS Code найдите и проинсталлируйте расширение Serial Monitor.


Рисунок 2. Установка расширения Serial Monitor


Шаблонные файлы

Примеры кода будут приводиться в двух вариантах, из которых вы можете выбрать наиболее подходящий:
1. Bare metal с обращением непосредственно к регистрам МК
или
2. Drivers с использованием драйверов, предоставляемых производителем.

Учитывая вышеизложенное, в архив статьи выложены оба набора шаблонов, назначение папок и файлов которых следующее:
.vscode содержит настройки среды программирования,
• в inc будут помещаться хэдер-файлы проекта,
spl хранит startup-файл, а также файлы с информацией о ядре, блоках и регистрах МК,
src предназначена для хранения файлов с исходным кодом,
LinkerScript.ld — сценарий компоновщика,
• в Makefile прописаны правила компиляции и загрузки,
variables.mk содержит макроопределения, используемые в Makefile.

Коме того, вариант Drivers включает одноимённую папку с библиотеками драйверов и папку lib, куда помещена статическая библиотека с объектными файлами вышеупомянутых драйверов.

Компиляция проекта и загрузка в МК

Наберите комбинацию Ctrl+Shift+~ и в открывшемся окне терминала посредством команды «make» запустите компиляцию, по завершению которой будет создана папка exe с elf- и hex- файлами.


Рисунок 3. Компиляция проекта

Для загрузки программы соедините выводы 3.3V, GND, SWDIO и SWCLK программатора с соответствующими пинами, выведенными отдельно на короткую сторону платы, а затем наберите в терминале команду «make upload».

Файлы

🎁gd32-templates.zip  389.66 Kb ⇣ 8

Продолжение следует!
 

Читательское голосование

Нравится

Статью одобрили 8 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.

31 октября 2024 изменил Datagor. Добавлен архив с файлами

 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Программирование микроконтроллеров на языке C. Часть 1... Приветствую всех жителей и гостей Датагор.ру! Года полтора назад мы с Радиком Галимовым, более...
Схема на Датагоре. Новая статья Ассемблер для микроконтроллера с нуля. Часть 7. Компиляция, отладка, загрузка... Привет датагорцам и гостям нашего кибер-города! В предыдущих частях материала по Ассемблеру...
Схема на Датагоре. Новая статья Беспроводной канал связи 2,4 ГГц на базе трансивера nRF24L01+ от Nordic Semiconductor. Часть 3... Wireless Transceiver Module NRF24L01+ 2.4GHz, 4 шт. на Али Приветствую всех настоящих и будущих...
Схема на Датагоре. Новая статья Программатор PIC-микроконтроллеров PICkit-2 Сlone... Как я уже упомянул в предыдущей статье «Сделай сам универсальный блок управления для дневных...
Схема на Датагоре. Новая статья USB-программатор AVR на FT232RL с буффером... Иметь дело с микроконтроллерами (как и вообще с цифровой техникой) мне приходится довольно редко и...
Схема на Датагоре. Новая статья Программатор AVR910: перезагрузка! Ускорение работы + «превращение» в STK500... Сегодня ночью я не лег спать. Включил фоном какую-то киношку с Джеки Чаном и быстренько спаял...
Схема на Датагоре. Новая статья Windows 10 и программаторы на базе AVR910 Prottos... Я он-лайн геймер, поэтому недавно пришлось на моём компьютере обновить ОС с MS Windows 8.1 до MS...
Схема на Датагоре. Новая статья Блок питания с защитой + микроконтроллер ATMEGA16, ATMEGA8535, PIC16F877. Часть вторая, практическая... Читайте также первую часть статьи о БП, лирическую. Я описал эту конструкцию с сокращениями в...
Схема на Датагоре. Новая статья Ламповый усилитель «Profundo» с импульсным блоком питания... Около 20 лет назад я сделал для себя небольшой ламповый усилитель из деталей от старых...
Схема на Датагоре. Новая статья Ассемблер для микроконтроллера с нуля. Часть 1. Начало пути... Приветствую всех сограждан и читателей журнала Датагор! Пользуясь кучей времени, предоставленной...
Схема на Датагоре. Новая статья Ассемблер для микроконтроллера с нуля. Часть 2. Шаблонные файлы и инструкции МК... В предыдущей части статьи мы провели подготовительную работу и вкратце разобрали принципы работы...
Схема на Датагоре. Новая статья На русском: Bluetooth Low Energy (BLE). Bluetooth Core Specification 4.2. GAP, Physical Layer, Link Layer... Всем доброго дня! В завершение моего небольшого цикла — общий профиль доступа (GAP), требования к...
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

<
Читатель Датагора

Fox_Alex

<
Читатель Датагора

AYAN

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой