#component #free-rtos #bindings #bl602 #sdk #risc-v #pine64

yanked pine64-bl602-freertos-riscv-ram

Pine64 BL602 FreeRTOS RISC-V RAM component

3 releases

0.1.2+1.6.11-1-g66bb28da Jun 30, 2023
0.1.1+1.6.11-1-g66bb28da Jun 30, 2023
0.1.0+1.6.11-1-g66bb28da Jun 30, 2023

#5 in #bl602

28 downloads per month

MIT license

580KB
9K SLoC

C 8K SLoC // 0.3% comments GNU Style Assembly 411 SLoC // 0.2% comments Rust 218 SLoC // 0.0% comments

pine64-bl602-sys

Rust bindings for the the Pine64 BL602 SDK

Features

  • aws-iot: Enables the AWS Internet of Things (IoT) library.
  • blecontroller: Enables the Bluetooth Low Energy controller.
  • blemesh: Enables the Bluetooth Low Energy mesh component.
    • blemesh-friend
    • blemesh-low-power
    • blemesh-gen-server
  • blestack: Enables the Bluetooth Low Energy stack.
    • blestack-bas: Enables the Bluetooth Generic Attribute (GATT) Battery Service (BAS) client component.
    • blestack-cli: Enables Bluetooth CLI commands.
    • blestack-dis: Enables the Bluetooth Generic Attribute (GATT) Device Information Service (DIS) component.
    • blestack-multiadv: Enables the Bluetooth multiple advertisement sets feature component.
    • blestack-oad-client: Enables the Bluetooth Over the Air Download (OAD) profile client component.
    • blestack-oad-server: Enables the Bluetooth Over the Air Download (OAD) profile server component.
    • blestack-scps: Enables the Bluetooth Scan Parameters service component.
    • blestack-smp: Enables the Bluetooth Security Manager Protocol (SMP) component.
    • blestack-tp: Enables the Bluetooth Generic Attribute (GATT) Throughput Service (TP) component.
    • blestack-wifiprov: Enables the Bluetooth WiFi Provisioning Service component.
    • blesync: Enables the Bluetooth Low Energy Sync component.
  • blmtd: Enables the Bouffalo Labs Memory Technology Device (MTD) (flash) component.
  • bltime: Enables the Bouffalo Labs time library.
  • blog: Enables the Bouffalo Labs logging component.
  • bloop: Enables the Bouffalo Labs event loop.
    • looprt: Enables integration of the Bouffalo Labs event loop with FreeRTOS.
    • loopset: Enables device (I2C, IR, LED, PWM) integration with the Bouffalo Labs event loop.
  • cjson: Enables the cJSON library.
  • cli: Enables the Bouffalo Labs command line interface (over USB UART).
  • easyflash: Enables the EasyFlash component.
  • hal: Enables the Hardware Abstraction Layer (HAL) driver component.
  • lwip: Enables the Lightweight TCP/IP stack.
    • dns-server: Enables the Domain Name Service (DNS) server component.
    • httpc: Enables the Hypertext Transfer Protocol (HTTP) client component.
    • https: Enables the Hypertext Transfer Protocol (HTTP) server component.
    • lwip-altcp-tls-mbedtls: Enables the application-layered TCP/TLS connection API.
    • lwip-dhcpd: Enables the lwIP Dynamic Host Configuration Protocol (DHCP) daemon.
    • lwip-mdns: Enables the lwIP multicast DNS (MDNS) responder component.
    • mbedtls: Enables the Mbed Transport Layer Security (TLS) encryption component.
    • netutils: Enables network utilities (iperf, netstat, ping, TCP clients and servers).
    • sntp: Enables the Simple Network Time Protocol (SNTP) client.
  • romfs: Enables the ROM file system.
  • std: Enables usage of the Rust std library.
  • utils: Enables utilities such as CRC, DNS, HMAC, SHA.
  • vfs: Enables the virtual file system.
  • wifi: Enables the WiFi component.
  • yloop: Enables the AliOS Things Yloop Event framework.

Configuration options

The following options can be passed to your build to enable various build-time options. For example, you can enable tickless mode on the command line with:

cargo build --target riscv32imc-unknown-none-elf --cfg freertos_tickless_mode
  • enable_psm_ef_size=4k enable_psm_ef_size=8k enable_psm_ef_size=16k: Set the easyflash size to the specified value. Defaults to 4k.
  • dts_inapp: Compiles a device-tree into the application for the HAL rather than loading it from the bootloader.
  • freertos_tickless_mode: Configure FreeRTOS to use tickless mode.
  • sys_big_debug_buffer: Expands the debug buffer to 2k (instead of 512 bytes).

Dependencies

~0–2MB
~39K SLoC