This text is a machine translation of this page:
https://habr.com/ru/articles/832622/The chat room where the main discussion takes place and where you can ask any questions is located here:
https://t.me/raccoon_progThe chip is visible as a file on a USB flash drive
Recently, on the basis of a not very popular and very cheap MC, STC8H8K64U developed such a toy for simpler, more convenient, and cross-platform work with firmware, mainly for electronics repairmen and beginners.
The speed of operation turned out to be higher than that of some very well-known programmers of a higher class, and higher than that of all from the category of the simplest and most affordable.
The unusual thing is that the chip works as a simple file on a simple USB flash drive.
It supports changing the status of spi flashes by the user, and in general is a full-featured device (although at the time of writing this post in a state of beta and software finishing), and not just another DIY USB flash drive on the XXX platform.
All functionality is also available when working on any OS and does not depend on it.
You can copy or replace the firmware with a simple drag and drop, or directly open the dump in the hex editor or the desired software.
It works on almost any device with any OS that understands USB flash drives.
8MB reads about 10 seconds, writes in 36 seconds or more, the record everywhere depends on the chip itself.
Flash memory 25xx is supported up to 64MB (25Q512) inclusive.
In addition, it determines the chip and its power supply (you don't need a 1.8V adapter), and selects the frequency for Spi flash drives from 1.7 to 22 MHz (important for in-circuit flashing using a clothespin).
Increased peg support is being prepared, the mode is already being tested and hooks many more boards than the rest.
It has fool proof, and it will be quite difficult to burn anything.
In addition to the existing features, you can add support for any other microchems or modes of operation, sometimes with external software (programmer, debugger, usb-gpio, multi-channel logger of digital or analog signals, ...), as far as the speed is enough for comfortable work with them, since despite the small amount of MCU memory, changing or updating the firmware also takes place via USB by pressing one button in the updater program.
There are no chip bases, all data is generated on the go. Thanks to this, the list of supported chips without manual addition is much larger, and includes any de facto standard signatures.
You need to add manually only those that are not taken by the generation algorithm, and they are added at once as a whole family, and not individually.
There will also be a manual input of the chip, or rather, only its name, stuffed on the case, the rest of the parameters will be generated. This is for cases when you need to work right now, and you can't wait for an update with chip support.
Built-in additional functionality - PC initialization tester, there may be other functions.
It works on Windows, Linux, Android, so far partially (only reading) and on Mac.
https://youtu.be/0sZOThi6IL0The first three and one last screenshots are with the latest firmware version. The rest are with outdated versions, so the inscriptions may differ.
The programmer can work on any USB host that has R/W access to removable media.
No drivers are required for operation or software updates.
At the moment we make them at home and sell them by mail for a small amount (as an equivalent - 1 small trip to the supermarket for groceries for 2-3 days)
About 150 pieces sold, many new requests, and even skeptics after using it recommend it to their friends)
If there are enough people willing, then we will take up the issue of production in other places, there are people willing to do this)
The speed was first brought to 10-12 seconds for 25*64 flash drives, and then dropped slightly due to the addition of automatic background verification.
But this verification itself is done in a draft version, and after processing it will have much less impact.
It has not yet been said that for in-circuit operation there is a function of automatic speed reduction in case of transmission errors, and a function of detecting bus errors due to extraneous activity on it.
Power is detected automatically by a special algorithm, and at the moment, neither I nor users have noticed any errors in this algorithm.
There is also a pintest for checking the contact of the legs. And all this happens without the user's participation.
That is, if the micro is not visible in the socket or it is impossible to attach it with a clothespin - you will at least know the reason for this.
And if you short-circuit the power supply, then nothing will happen. Nothing at all, only the protection will work. You can sit and short-circuit it for days.
The protection response time is much shorter than the factory testing time of semiconductors in the boundary current mode.
The list of supported chips is not known in advance, because the parameters are generated on the fly.
I will only say that all standard IDs or chips with SFDP will work even if it was not possible to determine the name of the flash drive, and this is 99% of book ones.
There may be rare exceptions, but we solve them and gain new experience.
If earlier, to read or write a microcircuit, you had to plug the microcircuit into the programmer, plug the programmer into the computer, open the shell, select the dump, and press several buttons in a certain order - then here you only need 3 actions from this list instead of 5-7.
Namely, plug in the microcircuit, plug in the USB cable, and drag the dump file from the opened folder in the desired direction.
Or delete the old one and drag the new one into it.
Or press ctrl + x / ctrl + c / ctrl + v.
Or open the file directly in the editor, make changes, press ctrl+s, and you're done.