Skip to content

About

Wi-Fi and BT drivers packaged for integration into bare-metal esp-wifi.

Resources

Stars

444 stars

Watchers

9 watching

Forks

Latest commit

 

History

412 Commits

Folders and files

Repository files navigation

esp-wifi-sys

This repository hosts the wireless-driver's binaries and low-level bindings.

If you are looking for esp-wifi see esp-radio in esp-hal

The headers and libraries are prepared in esp-wireless-drivers-3rdparty.

Features

Only the static libraries needed by the enabled features are linked. libphy and libprintf (and librtc on ESP32) are always linked.

  • wifi: the Wi-Fi driver libraries
  • bt: the Bluetooth controller libraries
  • ieee802154: the libraries needed by the IEEE 802.15.4 driver (ESP32-C5, ESP32-C6, ESP32-H2, ESP32-H4, ESP32-S31)

Each crate only provides the features its chip supports. libcoexist is linked when any of them is enabled.

Depending on the lld version used by the toolchain you might see linker errors like this after copying the libs:

rust-lld: error: relocation refers to a symbol in a discarded section: .L0 
            >>> defined in /Users/espressif/action-runner/esp-rs/_work/esp-hal/esp-hal/target/riscv32imac-unknown-none-elf/debug/build/esp-wifi-sys-esp32c61-e592915ee1a41dea/out/libphy.a(phy_api.o)
            >>> referenced by phy_api.o:(.eh_frame+0x12d4) in archive /Users/espressif/action-runner/esp-rs/_work/esp-hal/esp-hal/target/riscv32imac-unknown-none-elf/debug/build/esp-wifi-sys-esp32c61-e592915ee1a41dea/out/libphy.a

You can strip the .eh_frame segment from these binaries like this, to make it work: riscv32-esp-elf-objcopy --remove-section=.eh_frame esp-wifi-sys-esp32c61/libs/libphy.a

(This seems to be fixed now, the above step wasn't needed for the last update.)

Make sure to NOT use a libclang version later than 21! It will generate structs containing just a single field pub _address: u8.

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Wi-Fi and BT drivers packaged for integration into bare-metal esp-wifi.

Resources

Stars

444 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages