Кит разработки программного обеспечения HummingBird RISC-V (HBird SDK) предназначен для разработки и тестирования программного обеспечения с использованием нашей платы оценки на основе FPGA.
Этот кит разработки Hbird основан на модифицированном NMSIS-фреймворке, который позволяет пользователям использовать все предоставляемые API модифицированного NMSIS и также API, предоставленные Hbird SDK, в основном для доступа к встроенным периферийным устройствам, таким как GPIO, UART, SPI и I2C.
ВАЖНОЕ УВЕДОМЛЕНИЕ
Мы также интегрировали три операционные системы реального времени в 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
setup_config.sh
в $HBIRD_SDK_ROOT.setup_config.bat
в %HBIRD_SDK_ROOT%.2. Подключите среду выполнения скрипта непосредственно в HBIRD_SDK_ROOT
source setup.sh
setup.bat
3. Соберите и запустите приложение.hbirdv2
и ddr200t
,
если вы не передали никаких переменных SOC и BOARD в команде Make,
будет использоваться значение по умолчанию для SoC и платформы.CORE=e203
make CORE=e203 DOWNLOAD=ilm all
make CORE=e203 DOWNLOAD=ilm upload
make CORE=e203 DOWNLOAD=ilm run_openocd
make CORE=e203 DOWNLOAD=ilm run_gdb
в существующем окне терминала, после чего вы сможете отлаживать приложение с помощью gdb.
Если вы хотите загрузить свою программу, вам нужно будет ввести load
.GDB_PORT=<порт>
, чтобы изменить порт gdb на новый вместо значения по умолчанию 3333
. Например, make CORE=e203 DOWNLOAD=ilm GDB_PORT=3344 run_openocd
и make CORE=e203 DOWNLOAD=ilm GDB_PORT=3344 run_gdb
make CORE=e203 DOWNLOAD=ilm debug
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 )