AsProgrammer dregmod allow you to program flash memory on the protocols spi, I2C, MicroWire. Supports Buzzpirat, Bus Pirate, CH341a, UsbAsp, CH347, AVRISP(LUFA), Arduino & FT232H
http://dangerousprototypes.com/forum/index.php?topic=10698.0
WARNING: While the Bus Pirate part is operational, the GUI part of the AS Programmer remains frozen; this is normal. Refer to the debug console and be patient... I will be enhancing this mod over time (integration included). If buzzpirat console freezes(~2 mins without output)/crash : close this program, reconnect USB port and try again
WARNING: Virtual Machines (VM) and/or USB Hubs can cause problems. It is advisable to ALWAYS use a native OS, and connect the Bus Pirate directly to a USB port
WARNING: I recommend using a speed of approximately 100kHz for each protocol as the maximum, since the quality of the cables is important and I do not trust that the length of yours is short, especially if there is an adapter to clips, etc. The longer the cable and the more adapters there are, coupled with lower voltage, the more you will need to use a lower speed
WARNING: USE SHORT HIGH-QUALITY USB CABLE
WARNING: Some firmwares have a bug in the binary SPI mode (like the latest community firmware). To make it work, you should select the checkbox: Buzzpirat Menu -> Fix SPI Firmware Bug. Note that if you activate this option, a firmware that does not have the bug will not function properly! Activate it only if you are experiencing issues.
I recommend using the latest Buzzpirat firmware for the Bus Pirate v3: https://buzzpirat.com/docs/firmware-update/
https://github.com/therealdreg/asprogrammer-dregmod/releases
Only issues and/or PRs related to the buzzpirat & bus pirate function are accepted. If you encounter any other kind of problem, please check if the same issue occurs with the official UsbAsp-flash and report it there:
- https://github.com/nofeletru/UsbAsp-flash/issues
- https://github.com/nofeletru/UsbAsp-flash/discussions
Connect the 5V from the Buzzpirat to both VCC and VPU
(THX TO David Sanchez & Mecanico for images)
Check the available COM ports by clicking on the "List Free COM Ports" menu
If nothing appears here, you have connected something incorrectly
Connect the 3V3 from the Buzpirat to VCC
(THX TO David Sanchez & Mecanico for images)
If nothing appears here, you have connected something incorrectly
WARNING: Don't connect +3v3 or +5V to WINBOND CHIP.
Follow the same steps as in the previous chapter for the 3.3v Windbond, but Connect the Winbond's VCC & Bus Pirate's VPU to an external 1.8v power source (all GNDs together):
Change the following in the configuration:
- Activate pull-ups of the Bus Pirate
- SPI Output: Open-drain
- SPI Speed: 30kHz
Select W25Q64FW 1.8v when found
Press "Read IC" button and wait patiently (~40 mins) (the GUI will become unresponsive)
Instructions tested for Windows 11
WARNING: Reading flash content in debug mode .exe can cause exceptions! Please use a Release .exe version and run it outside of the Lazarus IDE
WARNING: Caution when editing a FORM if you or the Lazarus IDE is altering a caption in main.lfm as it will disrupt the translation system. I prefer to manually edit the .lfm files to avoid this kind of issue
git clone https://github.com/therealdreg/asprogrammer-dregmod.git
Just ignore hexeditor errors/warnings
Go to Package menu --> Open package file (.lpk)
Select file:
asprogrammer-dregmod\mphexeditor\mphexeditor\src\mphexeditorlaz.lpk
Go to Use menu -> Install
Click yes and wait....
Done!
Go to Run menu -> Clean up and Build...
And just click on Clean up and Build button
First and foremost, close the Lazarus IDE and all instances of ASPROGRAMMER.EXE
Download & install visual studio 2019 community edition:
https://visualstudio.microsoft.com/es/vs/older-downloads/
Open: asprogrammer-dregmod\software\buzzpirathlp\buzzpirathlp.sln
Select Debug version and x86:
Go to Build menu -> Rebuild solution
From VS 2019
Go to Debug menu -> Attach to Process..
Select ASprogrammer.exe and click to Attach button
And done! You can debug a native C/C++ DLL in a FreePascal Lazarus .EXE Project from Visual Studio 2019
Just insert a:
__debugbreak();
in your DLL code to initiate debugging from the desired point
- nofeletru for ASprogrammer: https://github.com/nofeletru/UsbAsp-flash
- Ian Lesnet (Bus Pirate Creator): https://buspirate.com/