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
с ошибкой