|
|
2 лет назад | |
|---|---|---|
| .. | ||
| README.md | 2 лет назад | |
| cyw43_btfw_43439.h | 2 лет назад | |
| cyw43_btfw_4343A1.h | 2 лет назад | |
| w43439A0_7_95_49_00_combined.h | 2 лет назад | |
| w4343WA1_7_45_98_102_combined.h | 2 лет назад | |
| w4343WA1_7_45_98_50_combined.h | 2 лет назад | |
| wb43439A0_7_95_49_00_combined.h | 2 лет назад | |
| wifi_nvram_1dx.h | 2 лет назад | |
| wifi_nvram_43439.h | 2 лет назад | |
This directory contains firmware patch blobs that need to be downloaded on to the CYW43xx SoC in order for it to function correctly.
The WiFi firmware is padded to 512 bytes and then the CLM appended to that to create the combined binary file.
For example:
$ cp 43439A0.bin 43439A0_padded.bin
$ dd if=/dev/zero of=43439A0_padded.bin bs=1 count=1 seek=$(( ($(stat -c %s 43439A0.bin) / 512) * 512 + 512 - 1))
$ cat 43439A0_padded.bin 43439A0.clm_blob > 43439A0-7.95.49.00.combined
This binary is then converted to a header file, e.g. xxd -i 43439A0-7.95.49.00.combined
The macros CYW43_WIFI_FW_LEN, CYW43_CLM_LEN specify the unpadded size of the original firmware binaries in bytes.
The Bluetooth firmware binary for the 43439 (eg found on the Raspberry Pi Pico W)
is available as a static array in cyw43_btfw_43439.h and has the following format:
1 byte: number of characters in version string including null terminator
n bytes: zero terminated version string
1 byte: number of records following
Each record then has the following format:
1 byte: data count
2 bytes: address
1 byte: address type
n bytes: data
The Bluetooth firmware binary for the 4343A1 (eg found in the Murata 1DX) is
available as a static array in cyw43_btfw_4343A1.h.