Описание
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ХХ)