MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.26k stars 19.23k forks source link

[BUG] Creality_4.2.7 Bootloader corrupted after SD-Card update. (Only blank screen) #24579

Closed hahn23 closed 2 years ago

hahn23 commented 2 years ago

Did you test the latest bugfix-2.1.x code?

No, but I will test it now!

Bug Description

Hi Guys,

I want to point you towards an issue I faced today while doing an update to Marlin Release 2.0.9.5.

Everything was done like always, and the Marlin Firmware successfully compiled with VSCODE. I copied the bin file to my sdcard, put it into my printer (Ender-3 Pro upgrade to 4.2.7 board) and turned it on. Than I just received an blank screen and nothing responded. No push of an Button, nor the Serial connection via USB-Cable. I tried to copy the older Firmware-bin file to the SD-Card, but it looked like the printer did not start the update Process (i renamed the older Firmwarefile, that it can be recognized)

Now I started my troubleshooting process. I assumed, that somehow the Bootloader must got damaged. Luckily I own nearly every programming tool for different types of chips. So I connected my ST-Link V2 and read the memory, which showed some weird looking remains of data...

First I tried to program the compiled Marlin.bin file to the startingaddress 0x08007000 which worked without errors and I was greeted with the Marlin Bootlogo!

Thinking, that the issue is now resolved, I assembled the Printer againt and tried an second start.... aaaaaand blank screen again.

So I searched, If someone has an firmwarefile from Creality (board 4.2.7) with bootloader. I was lucky and found one (which is attached below).

So heres what I did, to successfully fix the whole issue (sadly without getting any rootcause directions):

Take the attached Firmware+Bootloader file and load it to the STM32CubeProgrammer. Set the Startingaddress to 0x08000000 and remove the mark on "Run after Programming". Connect the ST-Link and first do an "Full Chip Erase". Than you "Start Programming".

image

After successfully programming, I disconnected the ST-Link and turned the Printer off. I inserted again an SD-Card with my previous fresh compiled Marlin.bin (but with 2.1.x version this time!) and turned it on again.

And I was greeted with the Marlin Bootlogo. Which showed still after an reboot of the Printer. (pheww...)

So I can only assume, that maybe it was something wrong with the 2.0.9.5 Version?! because after flashing the 2.1.X the bootloader showed no damage at all. Or maybe some Flash Address got wrong?

Maybe my description can help somebody facing the same issue. Creality 4.2.7 Stock with bootloader.bin.zip Marlin-2.0.9.5_config(bad).zip

Bug Timeline

2.0.9.5

Expected behavior

No damage of Bootloader

Actual behavior

No response

Steps to Reproduce

No response

Version of Marlin Firmware

2.0.9.5

Printer model

Creality Ender 3 Pro

Electronics

No response

Add-ons

BL-Touch

Bed Leveling

ABL Bilinear mesh

Your Slicer

Cura

Host Software

SD Card (headless)

Don't forget to include

Additional information & file uploads

No response

thisiskeithb commented 2 years ago

I'd check or replace your SD card since Marlin won't overwrite your bootloader unless you initially tried uploading through VSCode / using a programming tool.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.