README.md

Описание

Freepascal с поддержкой российского микроконтроллера MIK32 Амур производства Микрон (К1948ВК0ХХ)

Оригинальный README.md перименован в FPC_README.md

Сборка и установка кросс компилятора

Подготовка

Установите Freepascal из вашего пакетного менеджера

Установите утилиты для кросс-компиляции под riscv32. По факту из них нужны только as и ld.

git clone https://gitflic.ru/project/astankevich/freepascal_mik32amur.git

Сборка

В директории freepascal_mik32amur выполните

make CPU_TARGET=riscv32 OS_TARGET=embedded SUBARCH=rv32imc_zicsr_zifencei PP=/usr/bin/fpc BINUTILSPREFIX=${CROSS_BINUTILS}/bin/riscv-none-elf- all

После этого в поддиектории compiler появится кросскомпилятор ppcrossrv32

Им можно собрать отдельно RTL

make CPU_TARGET=riscv32 OS_TARGET=embedded SUBARCH=rv32imac_zicsr_zifencei PP=${FPC_SOURCE}/compiler/ppcrossrv32 BINUTILSPREFIX=${CROSS_BINUTILS}/bin/riscv-none-elf- all

Установка

В той же директории freepascal_mik32amur выполните

sudo make CPU_TARGET=riscv32 OS_TARGET=embedded SUBARCH=rv32imc_zicsr_zifencei PP=/usr/bin/fpc BINUTILSPREFIX=${CROSS_BINUTILS}"/bin/riscv-none-elf-" install

Кросскомпилятор установится в /usr/local/lib/fpc/3.3.1

Файл поддержки микроконтроллера

Располагается в rtl/embedded/riscv32/K1948BK0XX.pp

После изменения желательно повторить шаги сборки и установки компилятора.

Сборка проекта

/usr/local/lib/fpc/3.3.1/ppcrossrv32 -s -al -Tembedded -Priscv32 -va -Cprv32imc_zicsr_zifencei -WpK1948BK0XX ${PROJ}.pas

После чего можно получить hex-файл для загрузки в микроконтроллер с помощью команды

${CROSS_BINUTILS}/bin/riscv-none-elf-objcopy -O ihex ${PROJ}.elf ${PROJ}.hex
Описание

Free Pascal с поддержкой российского микроконтроллера MIK32 Амур (К1948ВК0ХХ)

Конвейеры
0 успешных
0 с ошибкой