Hello,
I'm relatively comfortable with Arduino programming, but I've encountered some difficulties while attempting to modify a TFTP bootloader for my custom ATmega2560 board with a W5500 Ethernet module. I'm seeking some guidance on how to exclusively utilize Ethernet for bootloader operations while bypassing the serial channel. Here's what I've done so far and the issues I've encountered:
Problem Description:
I've been working with the Ariadne Bootloader, which incorporates TFTP functionality for uploading firmware over Ethernet. My goal is to eliminate the reliance on the serial channel entirely, relying solely on the Ethernet connection for uploading firmware. This is because I have a serial device connected on that port which sends data continously and whenever it is connected by code just won't get started.
Steps Taken:
- I modified the bootloader code to comment out the serial-related sections, ensuring that only Ethernet functionality remains.
- After compiling and fusing the modified bootloader file, I successfully uploaded my code via Ethernet for the first time.
- However, subsequent attempts to upload new firmware via Ethernet fail. Furthermore, the uploaded code now runs immediately upon power-on, suggesting that it may have overwritten the bootloader.
Request for Assistance:
I'm reaching out to the community for any insights or suggestions on how to resolve this issue. Specifically, I'm looking for guidance on:
- How to ensure that the bootloader remains intact after uploading firmware via Ethernet.
- Any potential pitfalls or overlooked configurations that might be causing this behavior.
- Suggestions for troubleshooting steps to isolate and address the root cause of the problem.
Any assistance or advice would be greatly appreciated.