I have been using AT45DB321D 32Mb flash chips for a while and used the FlashcatUSB Classic programmer to program them with a few hundred kB of files. It is only programming at a speed of 1.4kB/s, and this is very slow. for one 41kB file it takes 30s. I am working on a larger project now and the programming speed will be prohibitive. I read that the programmer should be capable of 200kB/s, and the flash chip should be able to write a 528B page in 6ms which gives 88kB/s. So I am expecting something like that but getting nothing like that. I am not getting any responses about the speed from Embedded Computers which makes the FlashcatUSB device and software. So I am looking for another method to program the chip because I plan to make several dozen of them before Halloween. Can anyone recommend a fast programmer for this chip?
I agree, your numbers are reasonable: 41 kB in 30 seconds is about 1.4 kB/s.
However, there is not nearly enough information to determine why it is that slow.
How is the AT45DB321D connected to the FlashcatUSB Classic? Please post an annotated schematic showing all connections and how everything is powered.
Also, what version of the FlashcatUSB hardware, firmware, and software are you using, and what SPI clock speed is it actually using?
Does the 30 seconds include erase and verify time, or only programming?
Have you read the Atmel Eratta for that part:
Chip Erase
27.1.1 Issue
In a certain percentage of units, the chip erase feature may not function correctly and may adversely affect device operation.
Therefore, it is recommended that the chip erase commands (opcodes C7H, 94H, 80H, and 9AH) not be used.
27.1.2 Workaround
Use block erase (opcode 50H) as an alternative. The block erase function is not affected by the chip erase issue.
27.1.3 Resolution
The chip erase feature may be fixed with a new revision The chip erase feature may be fixed with a new revision of the device. Please contact Atmel for the estimated availability of
devices with the fix.
You could spend more time/effort hunting the problem down.
A couple of dozen at 30sec is not that much time.
Wow so helpful, you're a great community member! I have several MB of files for each one.
Well, you have two answers. Take your pick.
- spend hours programming two dozen of them.
or - spend days asking/reading /experimenting, maybe without success.
I know what I would do, unless you're talking about programming hundreds of them.
At almost 73 I know that life is too short to make things more difficult.
Wow Arduino is so fun, so glad I got involved with this!
Will every chip be programmed with identical data? Might speed things up if you could build a device that copies from one chip to another.
Jut a thought.
Would the data fit in the flash memory of an ESP32.
An ESP with 8Mb flash can hold the program and maybe 6Mb of data.
A 16Mb ESP32 can hold the sketch and 14Mb of data.
All in one thumbnail-sized board, without mucking around with flash chips.
Uploading new data to SPIFFS with ESPConnect is like saving to a flash drive and happens in seconds.