1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/riscv-mcu-hbird-sdk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Кит разработки программного обеспечения HummingBird RISC-V (HBird SDK)

Сборка документации Сборка SDK

Кит разработки программного обеспечения HummingBird RISC-V (HBird SDK) предназначен для разработки и тестирования программного обеспечения с использованием нашей платы оценки на основе FPGA.

Диаграмма Hbird SDK

Этот кит разработки Hbird основан на модифицированном NMSIS-фреймворке, который позволяет пользователям использовать все предоставляемые API модифицированного NMSIS и также API, предоставленные Hbird SDK, в основном для доступа к встроенным периферийным устройствам, таким как GPIO, UART, SPI и I2C.

ВАЖНОЕ УВЕДОМЛЕНИЕ

  • NMSIS, используемый в этом Hbird SDK, был модифицирован для работы с ядром RISC-V E203 HummingBird, что делает его некомпактибным с Nuclei NMSIS, будьте внимательны.
  • Hbird SDK разрабатывался на основе Nuclei SDK версии 0.2.4 и будет расходиться в будущем.

Мы также интегрировали три операционные системы реального времени в Hbird SDK, такие как FreeRTOS, uCOSII и RTThread, вы можете легко найти их в папке OS.## Быстрое начало работы

Хотите попробовать Hbird SDK? Нажмите Быстрое начало работы с Hbird SDK.

Требования

Структура директорий

Вот структура директорий для этого Hbird SDK.~~~console $HBIRD_SDK_ROOT ├── приложение │ ├── бареметалл │ ├── freertos │ ├── ucossii │ └── rtthread ├── сборка │ ├── gmsl │ ├── Makefile.base │ ├── Makefile.conf │ ├── Makefile.core │ ├── Makefile.components │ ├── Makefile.files │ ├── Makefile.global │ ├── Makefile.misc │ ├── Makefile.rtos │ ├── Makefile.rules │ └── Makefile.soc ├── документация │ ├── сборка │ ├── источник │ ├── Makefile │ └── requirements.txt ├── NMSIS │ ├── Ядро │ ├── DSP │ ├── NN │ └── Библиотека ├── ОС │ ├── FreeRTOS │ ├── UCOSII │ └── RTThread ├── микросхема │ ├── hbird │ └── hbirdv2 ├── тестирование │ ├── ядро │ ├── ctest.h │ ├── LICENSE │ └── README.md ├── LICENSE ├── Makefile ├── NMSIS_VERSION ├── README.md ├── установка.bat └── установка.sh


  В этой директории находятся все прикладные программы для этого HummingBird SDK.Код приложения можно разделить на четыре основные части, это:

- **baremetal** приложения, которые предоставляют приложения без операционной системы; эти приложения будут расположены в папке *application/baremetal*.
- **FreeRTOS** приложения, которые используют FreeRTOS как ОС реального времени; расположены в папке *application/freertos*.
- **UCOSII** приложения, которые используют UCOSII как ОС реального времени; расположены в папке *application/ucosii*.
- **RTThread** приложения, которые используют RT-Thread как ОС реального времени; расположены в папке *application/rtthread*.* **SoC**

  Эта директория содержит все поддерживаемые системные чипы (SoC) для данного HummingBird SDK. Названия директорий для SoC и его плат должны всегда быть в нижнем регистре.

  Здесь мы поддерживаем SoC Hummingbird, работающий на FPGA-платформе оценочных модулей. Пакет поддержки расположен в директориях *SoC/hbird/* и *SoC/hbirdv2/*.

  В каждом каталоге включений SoC должен присутствовать файл *hbird_sdk_soc.h*, который включает заголовочный файл SoC, например, *SoC/hbird/Common/Include/hbird_sdk_soc.h*.

  В каждом каталоге включений платы SoC должен присутствовать файл *hbird_sdk_hal.h*, который включает заголовочный файл платы, например, *SoC/hbird/Board/hbird_eval/Include/hbird_sdk_hal.h*.

* **Build**

  Эта директория содержит ключевые компоненты системы сборки на основе Makefile для HummingBird SDK.

* **NMSIS**

  Эта директория содержит **модифицированные** заголовочные файлы NMSIS, широко используемые в данном HummingBird SDK. Вы можете проверить файл *[NMSIS_VERSION](NMSIS_VERSION)*, чтобы узнать текущую версию *NMSIS*, используемую в **Nuclei-SDK**.

* **Операционные системы**

  Эта директория предоставляет три пакета операционных систем реального времени, которые мы поддерживаем: **FreeRTOS**, **uCOSII** и **RTThread**.

* **LICENSE**

  Лицензионный файл HummingBird SDK.

* **NMSIS_VERSION**

  Файл версии NMSIS. Он показывает текущую версию NMSIS, используемую в HummingBird SDK.

* **Makefile**

  Внешний Makefile для сборки, запуска и отладки приложений без необходимости переходить в соответствующие директории приложений, такие как *application/baremetal/helloworld/*.* **setup.sh**

  Скрипт установки окружения HummingBird SDK для **Linux**. Вам потребуется создать свой собственный `setup_config.sh`.
  ~~~shell
  NUCLEI_TOOL_ROOT=/путь/к/вашей_корневой_директории_инструментов

В $NUCLEI_TOOL_ROOT для Linux вам потребуется установить Nuclei RISC-V GNU GCC компилятор и OpenOCD следующим образом.

$NUCLEI_TOOL_ROOT
├── gcc
│   ├── bin
│   ├── include
│   ├── lib
│   ├── libexec
│   ├── riscv-nuclei-elf
│   └── share
└── openocd
    ├── bin
    ├── contrib
    ├── distro-info
    ├── OpenULINK
    ├── scripts
    └── share
  • setup.bat

    Bat-скрипт для настройки окружения HummingBird SDK для Windows. Вам потребуется создать свой собственный setup_config.bat.

    set NUCLEI_TOOL_ROOT=\путь\к\вашей_корневой_папке_инструментов

    В %NUCLEI_TOOL_ROOT% для Windows вам потребуется установить Nuclei RISC-V GNU GCC компилятор, необходимые Windows-инструменты сборки и OpenOCD следующим образом.

    %NUCLEI_TOOL_ROOT%
    ├── build-tools
    │   ├── bin
    │   ├── gnu-mcu-eclipse
    │   └── licenses
    ├── gcc
    │   ├── bin
    │   ├── include
    │   ├── lib
    │   ├── libexec
    │   ├── riscv-nuclei-elf
    │   └── share
    └── openocd
        ├── bin
        ├── contrib
        ├── distro-info
        ├── OpenULINK
        ├── scripts
        └── share

Как использовать

  1. Создайте и отредактируйте свой собственный конфигурационный файл установки.
    • Для Linux создайте setup_config.sh в $HBIRD_SDK_ROOT.
    • Для Windows создайте setup_config.bat в %HBIRD_SDK_ROOT%.2. Подключите среду выполнения скрипта непосредственно в HBIRD_SDK_ROOT
    • Для Linux: source setup.sh
    • Для Windows: setup.bat3. Соберите и запустите приложение.
    • Примечание: По умолчанию SoC и платформа установлены как hbirdv2 и ddr200t, если вы не передали никаких переменных SOC и BOARD в команде Make, будет использоваться значение по умолчанию для SoC и платформы.
    • Предположим, что вы собираетесь запустить это приложение -> application/baremetal/helloworld/.
    • cd application/baremetal/helloworld/
    • Вы можете запустить make help, чтобы показать сообщение помощи.
    • Мы предоставили различные конфигурации ядер процессора (CORE=<ваш_ядро>), которые мы поддерживаем, см. Build/Makefile.core.
      • Например, CORE=e203
    • Мы поддерживаем три режима загрузки (DOWNLOAD=<режим>) для различных приложений.
      • flashxip: Программа будет загружена в флэш-память и выполнена непосредственно из флэш-памяти
      • flash: Программа будет загружена в флэш-память, при выполнении программа будет скопирована в ilm/ram и выполнена в ilm/ram
      • ilm: Программа будет загружена в ilm/ram и выполнена непосредственно в ilm/ram, программа будет удалена при отключении питания
    • Например, если вы хотите собрать свое приложение для CORE=e203 DOWNLOAD=ilm, вы можете легко запустить эту команду:
      make CORE=e203 DOWNLOAD=ilm all
    • Если вы хотите загрузить ваше приложение для CORE=e203 DOWNLOAD=ilm, вы можете легко запустить эту команду:
      make CORE=e203 DOWNLOAD=ilm upload
    • (Опция 1) Если вы хотите отладить свое приложение для CORE=e203 DOWNLOAD=ilm: - Вначале откройте новое окно терминала в той же папке с приложением и запустите: make CORE=e203 DOWNLOAD=ilm run_openocd
      • Затем запустите эту команду make CORE=e203 DOWNLOAD=ilm run_gdb в существующем окне терминала, после чего вы сможете отлаживать приложение с помощью gdb. Если вы хотите загрузить свою программу, вам нужно будет ввести load.
      • Уведомление: Начиная с версии 0.2.4, вы также можете передать дополнительный GDB_PORT=<порт>, чтобы изменить порт gdb на новый вместо значения по умолчанию 3333. Например, make CORE=e203 DOWNLOAD=ilm GDB_PORT=3344 run_openocd и make CORE=e203 DOWNLOAD=ilm GDB_PORT=3344 run_gdb
    • (Опция 2) Если вы хотите отладить своё приложение для CORE=e203 DOWNLOAD=ilm:
      make CORE=e203 DOWNLOAD=ilm debug
    
    
  • Если вы хотите использовать консольную утилиту UART для просмотра сообщений UART, вы можете выбрать screen или minicom в Linux, teraterm в Windows. По умолчанию мы используем скорость передачи данных UART 115200.

* Если вам нужно создать новое приложение или изменить **CORE** или **DOWNLOAD** опцию, убедитесь, что вы очистили проект командой `make clean`.

* Если вы хотите указать дополнительные флаги компилятора, следуйте этому руководству в вашем файле Makefile приложения.
 - Передайте общие флаги компилятора всем компиляторам c/asm/cpp, вы можете использовать **COMMON_FLAGS** в файле Makefile, например `COMMON_FLAGS := -O3 -funroll-loops -fpeel-loops`.
 - Передайте флаги компилятора C только для компилятора C, вы можете использовать **CFLAGS** в файле Makefile, например `CFLAGS := -O3 -funroll-loops -fpeel-loops`.
 - Для передачи флагов только для компилятора ассемблера используйте **ASMFLAGS**, для передачи флагов только для компилятора C++ используйте **CXXFLAGS**.

* Если вы хотите передать дополнительные флаги линковщика, вы можете использовать **LDFLAGS**, и если у вас есть дополнительные директории библиотек, вы можете использовать **LIBDIRS** для указания директорий библиотек.* Предварительно предоставленные приложения и их файлы Makefile являются лучшими примерами начала использования HummingBird SDK.* Передайте дополнительный параметр `V=1` в команду сборки; это покажет подробную информацию о процессе компиляции. Если этот параметр отсутствует, будет показана базовая информация. Пример вывода с дополнительным параметром `V=1`
 ~~~console
 $ make V=1 CORE=e203 all
 Текущее конфигурирование: RISCV_ARCH=rv32imac RISCV_ABI=ilp32 SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=ilm
 Ассемблирование: ../../../SoC/hbirdv2/Common/Source/GCC/intexc_hbirdv2.S
 riscv-nuclei-elf-gcc -O2 -g -march=rv32imac -mabi=ilp32 -mcmodel=medany -ffunction-sections -fdata-sections -fno-common -DDOWNLOAD_MODE=DOWNLOAD_MODE_ILM -DSOC_HBIRDV2 -DBOARD_DDR200T -I. -I../../../NMSIS/Core/Include -I../../../SoC/hbirdv2/Board/ddr200t/Include -I../../../SoC/hbirdv2/Common/Include -Iinc -MMD -MT ../../../SoC/hbirdv2/Common/Source/GCC/intexc_hbirdv2.S.o -MF ../../../SoC/hbirdv2/Common/Source/GCC/intexc_hbirdv2.S.o.d -c -o ../../../SoC/hbirdv2/Common/Source/GCC/intexc_hbirdv2.S.o ../../../SoC/hbirdv2/Common/Source/GCC/intexc_hbirdv2.S
 Ассемблирование: ../../../SoC/hbirdv2/Common/Source/GCC/startup_hbirdv2.S
 riscv-nuclei-elf-gcc -O2 -g -march=rv32imac -mabi=ilp32 -mcmodel=medany -ffunction-sections -fdata-sections -fno-common -DDOWNLOAD_MODE=DOWNLOAD_MODE_ILM -DSOC_HBIRDV2 -DBOARD_DDR200T -I. -I../../../NMSIS/Core/Include -I../../../SoC/hbirdv2/Board/ddr200t/Include -I../../../SoC/hbirdv2/Common/Include -Iinc -MMD -MT ../../../SoC/hbirdv2/Common/Source/GCC/startup_hbirdv2.S.o -MF ../../../SoC/hbirdv2/Common/Source/GCC/startup_hbirdv2.S.o.d -c -o ../../../SoC/hbirdv2/Common/Source/GCC/startup_hbirdv2.S.o ../../../SoC/hbirdv2/Common/Source/GCC/startup_hbirdv2.S
 ~~~## [Журнал изменений](https://doc.nucleisys.com/hbirdv2/changelog.html)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

HummingBird RISC-V Software Development Kit. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/riscv-mcu-hbird-sdk.git
git@api.gitlife.ru:oschina-mirror/riscv-mcu-hbird-sdk.git
oschina-mirror
riscv-mcu-hbird-sdk
riscv-mcu-hbird-sdk
master