README.md

k1921vg7t_simple


Для чего?

Примеры работы с К1921ВГ7Т без использования всяких IDE, SDK и прочих plib

Чем собирается?

Не требуется скачивать никакое “Syntacore IDE”, SDK и тому подобное.
Всё прекрасно собирается “штатным” (Debian 13) компилятором из комплекта riscv64-unknown-elf.
Для сборки и отладки нужно поставить следующие пакеты (вроде ничего не забыл):

  • gcc-riscv64-unknown-elf
  • make
  • openocd
  • gdb-multiarch

На чём тестируется?

На отладочной плате от НИИЭТ

Сборка

make - цель по умолчанию с оптимизацией по скорости
Другие цели:

  • speed - оптимизация по скорости
  • size - оптимизация по размеру
  • debug - без оптимизации, с отладочной инфой, для запуска в ОЗУ
  • upload - с оптимизацей по скорости и заливкой “прошивки” утилитой tools/ex_uploader через загрузчик ex_loader_2
    Внимание: цели для всех примеров (кроме debug) по-умолчанию собираются для размещения во флэше с адреса 0x1800 (после загрузчика), изменить это можно в MAkefile’е каждого примера

Подключение отладчика

“Штатным” (Debian 13) openocd (для отладки в ОЗУ) или openocd от НИИЭТ (для отладки в ОЗУ и флэш-памяти) и J-Link V8 через JTAG порт.

Заливка во флэш

Для заливки во флэш понадобится openocd от НИИЭТ.
Просто залить можно так (с поправкой на пути к Вашему openocd и конфигам):

~/tools/openocd-niiet/bin/openocd -f ../tools/k1921vg7t_wf.cfg -c "init" -c "reset init" -c "flash probe 0" -c 'program "out.bin" verify reset exit 0x00000000'

Заливка через загрузчик ex_uploader_2: make upload

Отладка

Через gdb-multiarch.

Собственно список примеров

  • ex_base - базовые настройки; GPIO, UART
  • ex_dac - непрерывный вывод данных в ЦАП через ПДП; DAC, DMA, GPIO, UART
  • ex_dma - чтение данных от АЦП через ПДП, запуск преобразования по таймеру; DMA, ADC, TMR32, GPIO, UART
  • ex_i2c - чтение показаний датчика BME280 и вывод их на экран; I2C, SPI, DMA
  • ex_loader_2 - загрузчик “прошики” через последовательный порт; UART, DMA, GPIO, FLASH
  • ex_picojpeg_2 - пример использования библиотеки picojpeg
  • ex_scmrtos - базовый пример с scmRTOS
  • ex_scmrtos_2 - пример для scmRTOS с “дёрганием” события в прерывании от периферии (TMR32)
  • ex_scmrtos_3 - пример с scmRTOS для замера скорости переключения контекста процессов
  • ex_spi_dma - вывод изображения на экран 320х240 с контроллером ILI9341; SPI, DMA, GPIO, UART
  • ex_touch - пример работы с контроллером резистивного тачскрина XPT2046
  • ex_two_dma_channels - пример зависания двух обычных каналов DMA, работающих одновременно

Другие директории

  • coremark - “порт” показометра
  • devices - “драйверы” различных устройств
  • fonts - растровые шрифты со сглаживанием в упакованном формате с кодировкой utf-8 (см. fonts/README.md)
  • ld_scripts - скрипты компоновщика для размещения программ в ОЗУ, Flash, Flash с загрузчиком
  • libbaremetal - минимальные исходники библиотек libc и libm, понемногу дополняется подтягиванием из musl libc
  • k1921vg7t_hwlibs - заголовочные файлы с описанием регистров оборудования микроконтроллера
  • scmrtos - порт scmRTOS для К1921ВК7T
  • tools - различные загрузчики, утилита расчёта настроек PLL
  • utils - утилита для преобразования TGA файлов в сжатые изображения (см. например ex_i2c) для последующего вывода на экран

Микроконтроллер К1921ВГ7T

Описание
Примеры для К1921ВГ7Т
Конвейеры
0 успешных
0 с ошибкой
Разработчики