+------------------------------------------------------------+
| APPLICATION (User) |
| - Audio pipeline (PCM → DSP → I2S) |
| - BLE services (GATT) |
| - Power‑management policies |
+-----------------------|------------------------------------+
|
+--------v--------+ (FreeRTOS kernel)
| Jieli SDK |
|----------------| • Task scheduler
| BT Stack | • HCI transport (UART/USB)
| Audio DSP | • Audio processing graph
| BLE GATT | • BLE connection manager
| HAL Layer | • Register‑level drivers
+--------|--------+
|
+--------v--------+
| BR21 HW |
|----------------|
| Cortex‑M0 (Ctrl)|
| Cortex‑M4 (DSP) |
| RF Front‑End |
| DAC/ADC |
| PMU |
+-----------------+
Key driver layers
| Layer | Responsibilities | Typical API(s) |
|-------|------------------|----------------|
| HAL (Hardware Abstraction Layer) | Direct register access, peripheral init/de‑init, interrupt routing. | hal_i2s_init(), hal_gpio_set(), hal_uart_write() |
| BT Stack | Classic & LE link management, profile handling (A2DP, HFP, AVRCP, GATT). | bt_init(), bt_a2dp_start(), bt_le_connect() |
| Audio DSP | Sample‑rate conversion, equalizer, ANC, echo‑cancellation, codec interfacing. | dsp_eq_set(), dsp_anc_enable(), dsp_process() |
| BLE GATT | Service/characteristic registration, read/write callbacks, notifications. | ble_gatt_add_service(), ble_gatt_notify() |
| Power Management | Sleep‑mode entry, wake‑up sources, battery‑level monitoring. | pmu_enter_sleep(), pmu_set_wakeup_source() |
| RTOS Wrapper | Task creation, message queues, timers, mutexes. | os_thread_create(), os_queue_send() | jieli br21 driver full
Warning: Many third-party "driver download" sites are filled with malware or outdated versions. Do not use DriverFix, DriverBooster, or generic executable scrapers. Key driver layers | Layer | Responsibilities |
Warning: Many websites hosting "Jieli BR21 drivers" are filled with malware, adware, or fake download buttons. Always verify the source. Warning: Many third-party "driver download" sites are filled