|
1 | 1 | STM32WB HCI |
2 | 2 | ########### |
3 | 3 |
|
4 | | -Origin: |
5 | | - ST Microelectronics |
6 | | - https://github.com/STMicroelectronics/STM32CubeWB |
7 | | - |
8 | | -Status: |
9 | | - version v1.20.0 |
10 | | - |
11 | | -Purpose: |
12 | | - This library is used on stm32wb series to enable HCI communication between |
13 | | - a host BLE running on CM-4 STM32WB core and a controller BLE firmware running |
14 | | - on CM-0 core. |
15 | | - |
16 | | -Description: |
17 | | - This library provides an API for shared RAM communication with BLE controller |
18 | | - firmware running on STM32WB C-M0 core. |
19 | | - |
20 | | - It is build using the following files extracted the STM32CubeWB package: |
21 | | - Middlewares/ST/STM32_WPAN/ble/core/ble_bufsize.h |
22 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/hw.h |
23 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c |
24 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.h |
25 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.h |
26 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/mbox_def.h |
27 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c |
28 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c |
29 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.h |
30 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl.h |
31 | | - Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c |
32 | | - Middlewares/ST/STM32_WPAN/stm32_wpan_common.h |
33 | | - Middlewares/ST/STM32_WPAN/utilities/dbg_trace.h |
34 | | - Middlewares/ST/STM32_WPAN/utilities/stm_list.c |
35 | | - Middlewares/ST/STM32_WPAN/utilities/stm_list.h |
36 | | - Middlewares/ST/STM32_WPAN/utilities/utilities_common.h |
37 | | - Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/Core/Inc/app_common.h |
38 | | - Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/Core/Inc/app_conf.h |
39 | | - Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/Core/Inc/hw_if.h |
40 | | - Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/STM32_WPAN/Target/hw_ipcc.c |
41 | | - Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/STM32_WPAN/App/tl_dbg_conf.h |
42 | | - |
43 | | -Dependencies: |
44 | | - This library depends on STM32Cube IPCC HAL API. |
45 | | - It is available in stm32cube/stm32wbxx/drivers |
46 | | - |
47 | | -URL: |
48 | | - https://github.com/STMicroelectronics/STM32CubeWB |
49 | | - |
50 | | -Commit: |
51 | | - 529e571e91c93d4bf1aae6e0d69b9a5dcf4d828d |
52 | | - |
53 | | -Maintained-by: |
54 | | - External |
55 | | - |
56 | | -License: |
57 | | - BSD-3-Clause |
58 | | - |
59 | | -License Link: |
60 | | - opensource.org/licenses/BSD-3-Clause |
61 | | - |
62 | | -Patch List: |
63 | | - |
64 | | - * Move some files license from ST SLA0044 to BSD-3 Clause |
65 | | - Following files are distributed under ST License SLA0044. |
66 | | - For Zephyr they are made available under BSD-3 Clause. |
67 | | - - hw_if.h |
68 | | - - hw_ipcc.c |
69 | | - - app_common.h |
70 | | - - app_conf.h |
71 | | - - stm32_wpan_common.h |
72 | | - - ble_bufsize.h |
73 | | - - tl_dbg_conf.h |
74 | | - |
75 | | - * (Z-WB-1) Remove dependency to hw_conf.h |
76 | | - This file is not actually needed. Remove inclusion so we don't need |
77 | | - to include it in library. |
78 | | - Impacted file: app_conf.h |
79 | | - |
80 | | - * (Z-WB-2) Remove use of useless section SYSTEM_DRIVER_CONTEXT |
81 | | - Section has no use. Remove it. |
82 | | - Impacted file: shci_tl.c |
83 | | - |
84 | | - * (Z-WB-3) Inform C-M0 that BLE host should not be used. |
85 | | - In case C-M0 binary includes BLE Host, inform that it should not be |
86 | | - used as, in Zephyr context, it is running on C-M4 side. |
87 | | - Impacted file: app_conf.h |
88 | | - |
89 | | - * Remove trailing whitespaces |
| 4 | +Origin |
| 5 | +------ |
| 6 | +`STM32CubeWB GitHub`_ |
| 7 | + |
| 8 | +Purpose |
| 9 | +------- |
| 10 | +| This library is used on stm32wb series to enable HCI communication between a host BLE running on the Cortex-M4 core |
| 11 | +| and a controller BLE firmware running on the Cortex-M0 core. |
| 12 | +
|
| 13 | +Status |
| 14 | +------ |
| 15 | +version v1.20.0 |
| 16 | + |
| 17 | +Coprocessor Binaries |
| 18 | +-------------------- |
| 19 | +The table below details the history of the released binaries for the Cortex-M0 processor to be flashed to run BLE: |
| 20 | + |
| 21 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 22 | +| Zephyr Version | STM32CubeWB Version | Binaries | |
| 23 | ++================+=====================+=========================================================================================================================================================================================================+ |
| 24 | +| 3.0 | 1.12.1 | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.12.1/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 25 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 26 | +| 3.1 | 1.13.2 | | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.13.2/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 27 | +| | | | `stm32wb5x_BLE_HCILayer_extended_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.13.2/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin>`__ | |
| 28 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 29 | +| 3.2 | 1.14.0 | | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.14.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 30 | +| | | | `stm32wb5x_BLE_HCILayer_extended_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.14.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin>`__ | |
| 31 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 32 | +| 3.4 | 1.16.0 | | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.16.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 33 | +| | | | `stm32wb5x_BLE_HCILayer_extended_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.16.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin>`__ | |
| 34 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 35 | +| 3.6 | 1.18.0 | | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.18.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 36 | +| | | | `stm32wb5x_BLE_HCILayer_extended_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.18.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin>`__ | |
| 37 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 38 | +| 3.7 | 1.19.1 | | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.19.1/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 39 | +| | | | `stm32wb5x_BLE_HCILayer_extended_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.19.1/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin>`__ | |
| 40 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 41 | +| 4.0 | 1.20.0 | | `stm32wb5x_BLE_HCILayer_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.20.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin>`__ | |
| 42 | +| | | | `stm32wb5x_BLE_HCILayer_extended_fw.bin <https://github.com/STMicroelectronics/STM32CubeWB/blob/v1.20.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin>`__ | |
| 43 | ++----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
| 44 | + |
| 45 | +Description |
| 46 | +----------- |
| 47 | +This library provides an API for shared RAM communication with BLE controller firmware running on the Cortex-M0 core. |
| 48 | + |
| 49 | +It is build using the following files extracted the STM32CubeWB package: |
| 50 | + |
| 51 | +* Middlewares/ST/STM32_WPAN/ble/core/ble_bufsize.h |
| 52 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/hw.h |
| 53 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c |
| 54 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.h |
| 55 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.h |
| 56 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/mbox_def.h |
| 57 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c |
| 58 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c |
| 59 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.h |
| 60 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl.h |
| 61 | +* Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c |
| 62 | +* Middlewares/ST/STM32_WPAN/stm32_wpan_common.h |
| 63 | +* Middlewares/ST/STM32_WPAN/utilities/dbg_trace.h |
| 64 | +* Middlewares/ST/STM32_WPAN/utilities/stm_list.c |
| 65 | +* Middlewares/ST/STM32_WPAN/utilities/stm_list.h |
| 66 | +* Middlewares/ST/STM32_WPAN/utilities/utilities_common.h |
| 67 | +* Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/Core/Inc/app_common.h |
| 68 | +* Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/Core/Inc/app_conf.h |
| 69 | +* Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/Core/Inc/hw_if.h |
| 70 | +* Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/STM32_WPAN/Target/hw_ipcc.c |
| 71 | +* Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Hid/STM32_WPAN/App/tl_dbg_conf.h |
| 72 | + |
| 73 | +Dependencies |
| 74 | +------------ |
| 75 | +This library depends on STM32Cube IPCC HAL API. It is available in ``stm32cube/stm32wbxx/drivers``. |
| 76 | + |
| 77 | +URL |
| 78 | +--- |
| 79 | +https://github.com/STMicroelectronics/STM32CubeWB |
| 80 | + |
| 81 | +Commit |
| 82 | +------ |
| 83 | +529e571e91c93d4bf1aae6e0d69b9a5dcf4d828d |
| 84 | + |
| 85 | +Maintained-by |
| 86 | +------------- |
| 87 | +External |
| 88 | + |
| 89 | +License |
| 90 | +------- |
| 91 | +BSD-3-Clause |
| 92 | + |
| 93 | +License Link |
| 94 | +------------ |
| 95 | +https://opensource.org/license/BSD-3-Clause |
| 96 | + |
| 97 | +Patch List |
| 98 | +---------- |
| 99 | +* | Move some files license from ST SLA0044 to BSD-3 Clause. |
| 100 | + | Following files are distributed under ST License SLA0044 and they are made available under BSD-3 Clause for Zephyr: |
| 101 | +
|
| 102 | + - hw_if.h |
| 103 | + - hw_ipcc.c |
| 104 | + - app_common.h |
| 105 | + - app_conf.h |
| 106 | + - stm32_wpan_common.h |
| 107 | + - ble_bufsize.h |
| 108 | + - tl_dbg_conf.h |
| 109 | + |
| 110 | +* | (Z-WB-1) Remove dependency to hw_conf.h |
| 111 | + | This file is not actually needed. Remove inclusion so we don't need to include it in library. |
| 112 | + | Impacted file: app_conf.h |
| 113 | +
|
| 114 | +* | (Z-WB-2) Remove use of useless section SYSTEM_DRIVER_CONTEXT |
| 115 | + | Section has no use. Remove it. |
| 116 | + | Impacted file: shci_tl.c |
| 117 | +
|
| 118 | +* | (Z-WB-3) Inform C-M0 that BLE host should not be used. |
| 119 | + | In case C-M0 binary includes BLE Host, inform that it should not be |
| 120 | + | used as, in Zephyr context, it is running on C-M4 side. |
| 121 | + | Impacted file: app_conf.h |
| 122 | +
|
| 123 | +* Changes from official delivery: |
| 124 | + |
| 125 | + - Trailing white spaces removed |
| 126 | + - dos2unix applied |
| 127 | + |
| 128 | +.. _STM32CubeWB GitHub: |
| 129 | + https://github.com/STMicroelectronics/STM32CubeWB |
0 commit comments