Bouffalo SDK |
![]() |
Добавил(а) microsin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bouffalo SDK это программный пакет для IOT и MCU, предоставленный Bouffalo Lab Team. Пакет поддерживает все чипы компании Bouffalo. Также BouffaloSDK является комбинацией bl_mcu_sdk и bl_iot_sdk. Архитектура SDK: Назначение основных каталогов: bsp/board BSP расшифровывается как Board Support Package. Код для поддержки особенностей аппаратуры процессоров и плат разработчика. Инициализация тактов, мультиплексирования выводов чипа, кучи, консоли вывода отладочных сообщений (clock, pinmux, memoryheap, console). bsp/common Общий драйвер BSP. components Различные программные компоненты. docs Документация по быстрому старту, API, демонстрационным проектам. drivers/lhal LHAL расшифровывается как Lowlevel Hardware Abstraction Layer. Общие драйверы периферийных устройств чипов bouffalo, относящиеся к поддержке всех чипов. drivers/soc SOC расшифровывается как System On Chip. Драйверы bouffalo, обеспечивающие поддержку особенностей периферийных устройств чипов. drivers/rfparam Драйверы для параметров радиотракта. examples Официальные примеры приложений. tools Утилиты для прошивки и дополнительный инструментарий. [Драйверы LHAL] Драйверы LHAL, разработанные Bouffalo Lab, обеспечивают единообразный API для доступа к периферийным устройствам чипов BL60x, BL70x, BL61x, BL80x. В следующей таблице приведена общая информация о доступной поддержке периферийных устройств у разных чипов. Символ √ означает наличие поддержки, × отсутствие поддержки, ○ означает не протестированную пока поддержку. Символ - означает отсутствие у чипа такого периферийного устройства.
Беспроводные интерфейсы:
[Документация по настройке рабочего окружения] Где взять тулчейн: Windows: riscv64-unknown-elf-gcc. Тулчейн для компиляции кода Linux: linux-riscv64-linux-gcc. Как компилировать проекты. Перед тем, как запустить сборку кода из командной строки, вам нужно выбрать тулчейн, подходящий для вашей операционной системы, сконфигурировать системные переменные окружения для тулчейна, и установить утилиты сборки make или ninja. Как это делается, см. [2]. После этого можно приступить к следующим шагам. Выберите один из интересующих вас демонстрационных проектов в каталоге examples. Перейдите в его корневую директорию, там где находятся файлы main.c (основной код приложения) и Makefile (скрипт компиляции для make). К примеру, если надо скомпилировать проект helloworld для чипа BL616 с помощью утилиты make, то выполните команды: $ cd examples/helloworld $ make CHIP=bl616 BOARD=bl616dk Если используются чипы BL808 или BL606P, то также нужно добавить опцию CPU_ID с установкой m0 или d0: $ make CHIP=bl808 BOARD=bl808dk CPU_ID=m0 Если вы хотите использовать ninja, то команды компиляции должны быть такими: $ cd examples/helloworld $ make ninja CHIP=bl616 BOARD=bl616dk $ cd examples/helloworld $ make ninja CHIP=bl808 BOARD=bl808dk CPU_ID=m0 [Прошивка кода в память чипа] Обычно чипы прошиваются через последовательный интерфейс (переходничок USB - TTL UART). На операционных системах Linux по умолчанию может быть запрещен доступ к устройству последовательного интерфейса. Решением проблемы может быть запуск команды прошивки через sudo. Также можно добавить текущего пользователя в группу dialout и перезапустить Linux, чтобы установка вошла в силу. Например, здесь xxx это имя текущего пользователя: $ sudo usermod -aG dialout xxx # Как прошивать: $ cd examples/helloworld $ make flash CHIP=chip_name COMX=xxx Здесь параметр chip_name должен быть bl602/bl702/bl616/bl808/bl606p. Параметр COMx задает имя последовательного устройства в система. Для Windows это обычные имена наподобие COM5, COM6 и т. п., а на Linux это может быть имя /dev/ttyxxx, обычно /dev/ttyUSB0. Если вы используете BL808 или BL606P, то нужно также добавить CPU_ID с m0 или d0. $ cd examples/helloworld $ make flash CHIP=chip_name CPU_ID=m0 COMX=xxx Различные чипы преобразователей последовательных интерфейсов USB - UART могут иметь разные возможности по установке скорости передачи, что необходимо учитывать при выборе скорости интерфейса.
Как использовать утилиту прошивки, см. [6]. К сожалению, большинство документации ([3, 4, 5]) доступно только на китайском языке, но можно воспользоваться удобной функцией переводчика Google для файлов PDF, а для HTML-документации функцией перевода браузера Chrome. [Ссылки] 1. bouffalolab / bouffalo_sdk. |