Skip to content

ua1arn/hftrx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2ed1630 · Aug 15, 2024
Jul 28, 2024
Jun 17, 2024
Aug 9, 2024
Aug 11, 2024
Aug 15, 2024
Jul 24, 2024
Aug 9, 2024
Aug 9, 2024
Aug 11, 2024
Aug 15, 2024
Mar 13, 2023
Aug 9, 2024
Aug 15, 2024
Aug 9, 2024
Aug 9, 2024
Oct 12, 2021
Jul 31, 2024
Nov 21, 2023
Apr 29, 2019
May 6, 2023
Jul 7, 2024
Apr 29, 2019
Jul 19, 2022
Nov 23, 2023
Nov 16, 2023
Jul 7, 2024
Apr 21, 2023
Jul 8, 2024
Mar 1, 2023
Jul 27, 2023
May 11, 2022
Dec 8, 2020
Aug 11, 2024
Dec 19, 2023

Repository files navigation

Проект HF Dream Receiver (КВ приёмник мечты)

автор Гена Завидовский mgs2001@mail.ru UA1ARN

Инструкция по подготовке среды и компиляции:

Микроконтроллер:

Windows

  1. Настраиваем окружение (компилятор и утилиты для сборки проекта)
    1.1 ARM: ARM GNU Toolchain https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads (последняя проверенная сборка arm-none-eabi-gcc (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 13.2.1 20231009)
    1.2 ATMEGA/ATXMEGA: AVR 8-bit Toolchain https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers или https://blog.zakkemble.net/avr-gcc-builds/
    Прямая ссылка https://github.com/ZakKemble/avr-gcc-build/releases/download/v12.1.0-1/avr-gcc-12.1.0-x64-windows.zip (распаковываем, прописываем путь к папке BIN в переменную окружения PATH)
    1.3 RISC-V: riscv-none-elf-gcc.exe (xPack GNU RISC-V Embedded GCC v13.2.0-2) https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/
    https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v13.2.0-2/xpack-riscv-none-elf-gcc-13.2.0-2-win32-x64.zip
    Для возможности компиляции внести изменения в файл CMSIS_5/CMSIS/Core_A/Include/cmsis_gcc.h используя cmsis_5_riscv_patch.diff
    1.4 Утилиты для сборки: https://xpack.github.io/dev-tools/windows-build-tools/releases/ https://github.com/xpack-dev-tools/windows-build-tools-xpack/releases/download/v4.4.1-2/xpack-windows-build-tools-4.4.1-2-win32-x64.zip
    1.5 Утилиты для работы с GIT репозиториями https://git-scm.com/downloads

  2. Скачиваем дополнительные библиотеки, распаковываем их на уровень выше, чем папка проекта.
    2.1 ATMEL ARM: В случае использования Atmel ARM (SAM) процессоров, скачать и распаковать в папку "xdk-asf" пакет Advanced Software Framework (ASF) <https://www.microchip.com/mplab/avr-support/advanced-software-framework

  3. Устанавливаем IDE для разработки
    3.1 Скачиваем и устанавливаем Eclipse https://www.eclipse.org/downloads/
    3.2 В верхнем меню Help -> Check for updates, устанавливаем обновления
    3.3 В верхнем меню Help -> Eclipse Marketplace, устанавливаем обновления
    3.4 В верхнем меню Help -> Eclipse Marketplace, используя поиск, устанавливаем расширение GNU MCU Eclipse

  4. Собираем проект
    4.1 Скачаваем последнюю версию проекта командой "git clone https://github.com/ua1arn/hftrx hftrx"
    4.2 Перходим в каталог hftrx "cd hftrx"
    4.3 Скачиваем субмодули "git submodule update --init --recursive"
    4.4 Открываем проект через File -> Open projects from File System 4.5 Копируем файл product_template.h в product.h

4.4 Раскомментируем нужные нам константы с выбранной конфигурацией
4.5 В меню Eclipse, Project -> Build configurations -> Set active выбираем необходимый процессор (или через выпадающее меню с молотком в ToolBox). Build target выбираем default.

  1. Прошиваем
    5.1 Скопилированные прошивки находятся в папке /build/<процессор>/
    5.2 Для обновления прошивки процессора RENESAS через bootloader в командных файлах используется уилилита из проекта https://sourceforge.net/projects/dfu-util/files/latest/download

Linux

Пакеты, которые необходимо установить:

  • arm-none-eabi-gcc (gcc-arm-none-eabi for Ubuntu)
  • arm-none-eabi-newlib (libnewlib-arm-none-eabi for Ubuntu)
  • dfu-util

В зависимости от микроконтроллера выбирается каталог сборки образа (для Сокол Про build/stm32mp157axx). Дальше каталог сборки образа подразумевается в переменной BUILD_DIR

Сборка утилит

Все скрипты приведены для запуска из корня репозитория

  • stm32image
    cd tools/stm32image
    make
    cp stm32image $BUILD_DIR
  • bin2ihex
    cd tools/bin2ihex
    make
    cp bin2ihex $BUILD_DIR

Сборка образов

Образ приложения
  • Скопировать product_template.h в product.h
  • Затянуть все подмодули командой git submodule update --init --recursive
  • В каталоге $BUILD_DIR выполнить make
Загрузчик
  • Скопировать product_template.h в product.h
  • В product.h раскомментировать строку
    #define WITHISBOOTLOADER	1	/* соответствующим Build Target компилируем и собираем bootloader */
  • Затянуть все подмодули командой git submodule update --init --recursive
  • В каталоге $BUILD_DIR выполнить make bootloader

FPGA:

Используется Quartis II 13.1 (с апдейтом) Paid version http://download.altera.com/akdlm/software/acdsinst/13.1/162/ib_tar/Quartus-13.1.0.162-windows-complete.tar
и апдейт после http://download.altera.com/akdlm/software/acdsinst/13.1.4/182/update/QuartusSetup-13.1.4.182.exe

Общее:

Выбор целевой конфигурации проекта производится в файле product.h
На основании выбраной конфигурации и целевого процессора (arm/atmega) выбирается пара конфигурационных файлов
.\board*ctlstyle*.h и .\board*cpustyle*.h.
ctlstyle описывают внешние (по отношению к процессору) особенности аппаратуры - адреса устройств на шине spi, типы применённых микросхем и тип индикатора (и так далее).
cpustyle описывают назначение выводов процессора (распределение по портам ввода/вывода).