Build across different computers producing different binaries

Chubbs
Posts: 2
Joined: Thu Dec 07, 2023 5:11 pm

Build across different computers producing different binaries

Postby Chubbs » Thu Dec 07, 2023 5:34 pm

Heya!,
I been working on an ESP32-S2 based project during this year, and recently we switched up from the MINI chip version to the SOLO version, and we changed the programs accordingly.
After this change I been having an odd problem, When I build the project from computer A, no matter the computer used to flash the chip, it starts having unexpected behaviors and overall the firmware it's unstable. However, when I build the project from computer B, now the behavior it's as expected and the firmware it's completely stable.
I checked the binary files, and aside the differences from dates and times of building the binaries have a lot of differences from each other.

What could be the source for this problem?
I also tried searching for related topics to solve my problem, but I found nothing :(

Here it's an Screenshot from differences between the project binaries:
- xxx-application.bin
Screenshot 2023-12-07 at 12.32.21 PM.png
Screenshot 2023-12-07 at 12.32.21 PM.png (1.62 MiB) Viewed 35061 times
- bootloader.bin
Screenshot 2023-12-07 at 12.31.56 PM.png
Screenshot 2023-12-07 at 12.31.56 PM.png (1.64 MiB) Viewed 35061 times
- partition-table.bin
Both files are the same, completely!

Program characteristics
- ESP-IDF version: v4.4.3
- Python Env version: 3.9

Chubbs
Posts: 2
Joined: Thu Dec 07, 2023 5:11 pm

Re: Build across different computers producing different binaries

Postby Chubbs » Mon Dec 11, 2023 10:47 pm

Update:
- A major difference I notice it's that the program build with the computer B, after a button press never feedbacks the monitor about the state of the GPIO's, but the program build with computer A always gives the feedback in the monitor.
It's peculiar because in the code there's no explicit printout of this states, but always happens with all the GPIO's involved.

Reference of the behavior I'm talking about it's:

Code: Select all

...
.[0;32mI (311019) gpio: GPIO[10]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311019) gpio: GPIO[11]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311019) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311029) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311039) gpio: GPIO[14]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311049) gpio: GPIO[21]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311059) gpio: GPIO[15]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311119) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311119) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311119) gpio: GPIO[14]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311129) gpio: GPIO[21]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311139) gpio: GPIO[15]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311149) gpio: GPIO[10]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
.[0;32mI (311159) gpio: GPIO[11]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 .[0m
...
This piece of code always appears after a button press event, although this behavior it's not coded. Also, in the stable version this disappears

Who is online

Users browsing this forum: cdollar and 103 guests