MIK32 АМУР - первый российский RISC-V микроконтроллер со встроенной криптозащитой
Данная инструкция подходит для ОС Linux, проверена работоспособность на Ubuntu 24.04
Общие характеристики отладочной платы
- RISC-V архитектура
- 32 МГц рабочая частота
- Часы RTC
- Рабочее напряжение 3.3 В
- 2 Светодиода на плате (0.9 0.10)
- Одна пользовательская кнопка на плате (1.15)
Установка IDE
Разработчик предлагает программировать амур через Visual Studio Code с надстройкой PlatformIO с ядром, специфичным для самого микроконтроллера
Установка Visual Studio Code
При помощи магазина приложений Ubuntu загрузите приложение под названием "Code"
Установка PlatformIO
Откройте ваш Visual Studio Code и перейдите на вкладках справа в раздел расширения/extensions (Ctrl+Shift+X)
В появившемся окне, в строке поиска найдите PlatformIO и установите его
После установки PlatformIO в панели слева экрана появится значок PlatformIO (голова муравья)
Установка ядра для MIK32-АМУР
Перейдите по ссылке https://github.com/MikronMIK32/mik32-platformio/releases
Загрузите архив "mik32-platformio-v0.4.0.zip" (или более новой версии)
Распакуйте этот архив в загрузках. Найдите там папки packages и platforms, а затем перенесите их в Домашняя папка/.platformio (иногда система скрывает папки, начинающиеся с точки, нажмите Ctrl+H, чтобы показать их)
Эти папки должны совместиться с уже существующими папками platforms и packages
Где найти примеры?
Примеры от разработчиков собраны по адресу: https://github.com/MikronMIK32/mik32-examples
Для удобства все их можно скачать
Blink HAL_EEPROM HAL_System_Time CHANGELOG.md HAL_EEPROM_to_SPIFI HAL_Timer16 HAL_ADC Hal_I2C_Master HAL_Timer16_IRQ HAL_ADC_IRQ Hal_I2C_Master_IRQ HAL_Timer32 HAL_Blink Hal_I2C_Slave HAL_Timer32_IRQ HAL_Blink_IRQ Hal_I2C_Slave_IRQ HAL_Timer32_PWM HAL_Blink_SPIFI HAL_OTP HAL_TSENS HAL_CRC32 Hal_RTC HAL_TSENS_IRQ HAL_Crypto Hal_RTC_IRQ HAL_USART HAL_DAC HAL_SCR1_Timer HAL_USART_DMA HAL_DMA_Crypto HAL_SCR1_Timer_IRQ HAL_USART_IRQ HAL_DMA_I2C_Master HAL_SPIFI_QuadSPI HAL_USART_Modem HAL_DMA_I2C_Slave HAL_SPIFI_QuadSPI_DMA HAL_WDT HAL_DMA_Memory_Memor_IRQ HAL_SPIFI_SingleSPI HAL_WDT_IRQ HAL_DMA_Memory_Memory HAL_SPI_Master README.md HAL_DMA_SPI_Master HAL_SPI_Master_IRQ SPIFI HAL_DMA_SPI_Slave HAL_SPI_Slave SPIFI_Quad HAL_DMA_Timer32 HAL_SPI_Slave_IRQ SSD1306
Открываем пример
В Visual Studio Code нажмите файл > октрыть папку
Выберите папку примера и нажмите открыть
В первый раз будут загружаться инструменты для работы с RISC-V размером около 1 ГБ. Дождитесь завершения процесса загрузки, отображаемого в левом нижнем углу экрана
Управление правами для использования FTDI - адаптера
Добавьте себя в группу dialout
Разрешите использование FTDI - устройств без root-доступа:
Создайте файл /etc/udev/rules.d/ecp5.rules с содержимым:
После этих операций нужно перезагрузить ваш компьютер
Выбор памяти для исполнения программ
На плате есть 2 перемычки, которые выбирают тип памяти, откуда выполнится программа. Таблица расшифровки положений расположена на плате рядом
- EEPROM - многократно записываемая постоянная память внутри микроконтроллера
- RAM - исполнение из оперативной памяти. Стирается после отключения питания. Отлично подходит для отладки программ
- SPIFI - многократно записываемая постоянная память, распаянная в виде микросхемы DD4
Конфигурационный файл platformio.ini
Этот файл есть у каждого проекта в PlatformIO
Для нас важно, чтобы параметр board был установлен правильно (mik32v2 на данный момент)
Параметр board_debug.ldscript устанавливает память, куда будет загружена программа. Принимает: eeprom ram spifi
Самая простая программа Blink
Загрузка
В правом верхнем углу окна есть кнопка загрузить (стрелочка) или скомпилировать (галочка)
Создание нового проекта
Перейдете в PlatfromIO на панели слева
В меню Quick Access на панели слева снизу нажмите PIO Home > Open
Нажмите New Project в средней части экрана
Распиновка
На данный момент нет актуальной распиновки для этой платы, поэтому нужно соотносить с распиновкой аналогичной отладочной платы: