-
Notifications
You must be signed in to change notification settings - Fork 852
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to build esp-at for Classic Bluetooth with Serial Port Protocol (SPP) #878
Comments
Supporting information - the sequence and output from idf.py size: cd C:\Espressif\frameworks\esp-idf-v5.2.2
Total image size: 1587477 bytes (.bin may be padded larger) |
"Error: All app partitions are too small for binary esp-at.bin size 0x183a00:"----> From this, it can be seen that the size of the esp-at.bin you compiled exceeds the current app partition. You can disable the AT wifi and mqtt functions that you do not use in menuconfig and try compiling again. |
That makes sense, but can you please specify exactly which options I need to de-select in menuconfig to disable AT wifi & mqtt ? I have tried this idea before but I have no expertise in menuconfig and there are many choices. So nothing I tried fixed my issue. |
Find the relevant configuration in menuconfig according to the following path and disable it. Component config -> AT -> AT wifi command support |
Two steps forward, one step back ... with WPS, smartconfig, WiFi & MQTT deselected, and with "bt command support" + "bt SPP command support" selected, I successfully completed the build, and then flashed to my ESP32-WROOM-32E. However it continually loops, starting up briefly then aborts and reboots every couple of seconds. I have attached the looping output below, with abort and backtrace information. If I repeat all the above but leave "bt SPP command support" de-selected I can build and flash OK, and it runs correctly (e.g. responds to AT+BTINIT? ) So the bt SPP capability remains ellusive, and I have no idea what to try next ... help! ============================================= rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) at param mode: 1 AT cmd port:uart1 tx:17 rx:16 cts:15 rts:14 baudrate:115200 module_name: WROOM-32 v3.4.0.0 abort() was called at PC 0x4016d696 on core 0 Backtrace: 0x40081626:0x3ffd30c0 0x4009373d:0x3ffd30e0 0x40097516:0x3ffd3100 0x4016d696:0x3ffd3170 0x4017d4b9:0x3ffd31a0 0x4017d542:0x3ffd31c0 0x4016d371:0x3ffd3210 0x400e88a6:0x3ffd3230 0x400ea957:0x3ffd3250 0x400eedf7:0x3ffd3280 0x401d8845:0x3ffd32b0 ELF file SHA256: 496f2f7abc0bca19 |
@Luxin812 you are my hero, |
Answers checklist
ESP-AT version
v3.4.0.0-46-g7b9487c2
Operating System used
Windows
If you are using Windows, please specify command line type.
CMD
What is the expected behavior?
By following the instructions at Compile ESP-AT Project Locally
and How to Enable ESP-AT Classic Bluetooth
I expect to successfully build esp-at firmware, with Classic Bluetooth enabled with SPP.
What is the actual behavior?
The build fails if both "AT bt command support" and "AT bt SPP command support" are enabled using the menuconfig utility as describned in the instructions.
However, if I build without SPP selected and only "AT bt command support" selected, the build & flashing succeed and the hardware responds corectly to basic Classic Bluetooth commands.
Steps to reproduce
Following the instructions at Compile ESP-AT Project Locally
cd %userprofile%\esp
git clone --recursive https://github.com/espressif/esp-at.git
cd esp-at
python build.py install
choose 1. Platform_ESP32
choose 1. WROOM-32
choose 1: Yes (silence mode enabled, to reduce firmware size)
python build.py menuconfig
Component config
AT -> AT bt command support (selected)
-> AT bt SPP command support (selected)
Quit with Save = Yes
python build.py build
the build fails with a fatal error as shown in logs following and attached iun ZIP file
build_logs.zip
Build or installation Logs
More Information
I suspect some years back this was possible (to add Classic Bluetooth with SPP to ESP32 firmware).
For example see this description (circa 2021)
However after many weeks of research I fear it may no longer possible as building with SPP always results in an oversized image/firmware size problem, no matter how many tweaks I tried (after studying Minimizing Binary Size)
There are just too many options and tweaks I don't understand, so I'm hoping either for guidance on the correct tweaks, or if necessary, an update to the esp-at menuconfig utiulity with new build options to support BT+SPP+A2DP as was originally intended.
In my perfect world view: there would be a menuconfig option to build a completely Classic Bluetooth focussed, stripped down firmware (e.g no BLE, no WiFi at all). Hopefully this can could be done within the actual firmware size limits and constraints.
The text was updated successfully, but these errors were encountered: