Ponyprog Usb To Serial

Calibration of PonyProg (b) Set the device by selecting “AVR Micro” then “ATmega16” from “Device”. Selecting the Controller. In Interface setup serial cable is connected to the computer’s com port (COM1) to program Atmega16. For this go to “Interface board Setup” window. .PonyProg waits after the reset pulse Other questions Q: What type of cable I should use to connect SI-Prog to the COM. PonyProg first loads the.hex file into PC memory as follows: It first allocates a block of memory the size of the device's flash memory (ie 256K for the 2560/1). It then sets all of this 256k block to 0xFF. PonyProg is a serial device programmer based on some simple and cheap interfaces for the PC and a user friendly GUI available for Windows9x/NT/2K/XP and Intel Linux. Its purpose is programming e.

Ponyprog

All the development on TrxAVR-Picastar used an Atmel AVRISP2 USB programmer (cost £30 + VAT from Farnell)

Ponyprog is an alternative programmer.

The software can be downloaded free of charge from: http://www.lancos.com/ppwin95.html

To program the Atmega2560, you must download and install version 2.07c beta or later
and then run PonyFix.exe.

PonyFix.exe simply replaces the PonyProg application file, PonyProg2000.exe with a modified version.
The modifications were carried out by Gerard Sexton, VK3CG.
The ATmega2560 has 256k of program memory. When we passed the 128k mark, we had to take some control
of where the different program modules were located in memory. This was done in order to ensure that all
functions that were referenced by 16 bit procedure pointers were in the lower 128k. The relocation resulted
in some modules being located in
their own code section in memory above the 128k mark..
PonyProg could not cope with this sectioned code above 128k. Gerard fixed it so that it did cope
(Internet searches revealed that we were not the only PonyProggers to have encountered this problem.)

The modified source code for this fix is in: PonyProg2000-2.07d.zip
By making this source code available here, we comply with the terms of PonyProg's GNU licence.

PonyProg hardware

A suitable serial port programmer circuit ican be found at:

http://www.olimex.com/dev/images/avr-pg1b-sch.gif:

I have designed a single sided pcb for this circuit which you can download:

Serial programmer layout (pdf)
Serial programmer copper etching mask(pdf)

This board can carry the 10 pin IDC or the 6 pin IDC programming connector.
Use the 6 pin (The circuit shows a 10 pin connector)

Make sure that you use a DB9 pin right angled female connector that has the correct pin layout for the baord.
(I have found two variants.)

Programming instructions

Ponyprog Usb Serial Converter

Install Ponyprog. Run PonyFix.exe. Run PonyProg

Connect the programmer to your serial port and to TrxAVR-Picastar's programming socket.

Ponyprog Usb To SerialPonyprog usb to serial adapter

Power up TrxAVR

Click Menu | Device | AVR micro and select ATmega2560

Click Menu | Setup | IO interface The window shown below appears

Make sure it is set to your selected COM port and is otherwise as below

Click Ok to save

Click Menu | Setup | Calibration Click Yes to proceed and expect a successful calibration

Click Menu | Command | Security and Configuration bits The window below appears

Set the check-boxes as shown above and then click Write to send these settings to the ATmega2560.
Click OK to exit

Adapter

Click Menu | Command | Write program (FLASH)

Ponyprog usb to serial port

Set the check boxes as above (Hobcat will write the EEPROM later)

Click OK programming will begin

The programming progress bar will reach about 30% after a minute of so and then will jump
to 50%. It will then steadily advance to about 75% and then jump to 100%. The verify process
will then begin. The verify progress runs 0% to 100% and so takes longer.

Encoders8

If you are using Encoders8 (built into TrxAVR-B) then you need to program the ATmega2560 in Encoders8.

Then go to Testing the processor and USB at the end ofSetup 3 - programming

PonyProg - more explanation

Ponyprog Usb To Serial Driver

We have advised setting the option to erase before programming. Erase sets every byte of the 256k flash
memory to 0xFF (ie: hexadecimal FF = decimal 256 = binary 1111 1111).
Note that we have advised setting the fuse to prevent erasing the internal EEPROM.

PonyProg first loads the .hex file into PC memory as follows:
It first allocates a block of memory the size of the device's flash memory (ie 256K for the 2560/1).
It then sets all of this 256k block to 0xFF.
It then places the code from the .hex file into this memory block at the places specified in the .hex file (Intel format).
So when it goes to program the device it is always working from a complete 256K buffer that matches the 2560’s flash.

When programming, PonyProg programs every block that is not “blank” ie set to 0xFF.
Blocks of 256 bytes which are 0xFF are skipped because that is the default state of the flash after an erase.

When programming TrxAVR, the status bar behaviour corresponds to where we have located the code in flash memory.
It moves slowly to around 30%, jumps to 50%, moves slowly to around 75% then jumps to verify.
( When doing the Encoders8 code, it will jump almost immediately to verify as there is very little code.)

In the verify stage, the same 256k PC memory block is used to verifie the device against.
The verify DOES work – however, it does assume you have an ERASED flash to start with
– if it is not erased, then it is likely that the verify will fail.
The verify process will go through the entire 256K of flash before reporting its result
and at present takes nearly twice as long as programming.

Ponyprog Usb To Serial

We therefore recommend that the flash is always erased before or as part of the programming sequence.
It is a chip erase and is VERY quick. As we have set the EESAVE fuse, the eeprom on the AVR chip will not be erased.

Ponyprog Usb To Serial Cable

Doing this means that the verify WILL verify the correct programming of the AVR chip.
(However, it does take quite a while – several minutes.
Glenn reports a total elapsed time of about 10 minutes with his programmer).