Page 1 of 1

Verification failed flashing firmware over 60K...

Posted: Sat Oct 04, 2014 1:00 am
by chad
Hi all,

I've been playing around with the neopixel_dev branch to support a NeoPixel ring mod I'm doing. The built firmware from a fresh clone of neopixel_dev HEAD is just over 60K (60456) in size. I've noticed when I have "Verify flashing" checked in the Python client during programming, the firmware will flash perfectly fine but flashing always ends with "Verification failed!" if cflie.bin is over 60K.

Flashing a cflie.bin that's under 60K results in "Flashing...done!"

In both cases, the programming was actually successful but in the case of a firmware binary >60K, the "Verify flashing" option doesn't do much for you. In the same neopixel_dev branch, I can comment out the "tiltEffect" function in modules/src/neopixelring.c and bring the cflie.bin size down to 58K (58760). Doing so results in "Flashing...done!"

So I know the "Verify flashing" checkbox isn't critical because it's doing a checksum of the uploaded firmware anyway and that a successful flash is a successful flash but I'm wondering what's magic about 60K...?

Re: Verification failed flashing firmware over 60K...

Posted: Tue Oct 28, 2014 7:18 pm
by tobias
Nice find. Definitely sounds like a bug. If I remember correctly the bootloader is 4K so that together with the 60K firmware will pass 64K which would make more sense...