Author |
Topic |
|
ecu88
USA
4 Posts |
Posted - 11/09/2009 : 12:56:33
|
I am a total rookie at this, so be kind:) There is alot of info before the questions and I am sure this will only be the beginning.
I have several different chips (engine control unit maps) for my car's ECU. I have a new chip that can load up to 8 ECU maps. I have read all the chips and saved the bin files with a borrowed programmer. I have also created a final "combined chip file" with the borrowed chip programmer. This chip/file combination works in the car. The separate chips are 27C128. The "combined" chip is 27SF512.
I do not have access to that programmer anymore. I wanted to make some changes to the file combinations so I bought a GQ-4X. I have read the separate chips to new bin files with the GQ-4X programmer.
The GQ-4X appears to read the files from the chips with no problems.
This is what I have noticed:
1 - The prevous bin files were 8kb the GQ-4X files were 16kb. The borrowed programmer had a feature to set the Start address and End address (000000 - 001FFF)
2 - If I use the "Split Buffer to Files" option I get an 8kb file. But don't know if this is the same address range as above.
3- I have also tried the "Fill Buffer Hex" feature using the addresses listed above but the checksum is still different from the files saved from the borrowed programmer. It is also different from the "Split Buffer" files.
4 - If I load the previous files (8kb) and the new (GQ-4X) files (8kb or 16 kb files) I do not have the same checksum. I would not expect it for the 16kb file.
5 - The software used with the borrrowed programmer is Moates "Flash & Burn" but it will not recognize this programmer. I assume that is normal.
My questions: -Do different programmers result in different checksums for the same file? -Is there a way to set the end address like the previous programmer software did? Is this required, or does the "Split Buffer to Files" do this? -I am just trying to get the checksums to agree so I know I am not installing a corrupted file in my car's ECU. Discovering that "the hard way" could get ugly.
Any help would be appreciated.
|
|
Reply #1
ZLM
2945 Posts |
Posted - 11/10/2009 : 09:24:36
|
1. Different programmer software should produce the same checksum ONLY if they used same checksum calculation algorithm. In most of case they use same way to calculate the checksum. 2. I do not see if there are any need to set the end address for the buffer. Because the buffer end address is based on the chip size. Unless you do not want to program anything after your End Address. If this is true, then you can just fill up the buffer with FF from your End Address to real end address. OR you can set a special size to your chip. 3. Need more info on this, why you say they have different checksum? |
|
|
Reply #2
ecu88
USA
4 Posts |
Posted - 11/11/2009 : 12:46:32
|
The files were saved by different programmers. But the Checksum values I am getting are all read from the GQ USBPrg 4.04 program. So if the checksums are different when read on the GQ-4X the files must be different.
However, what I have determined is that the use of the "end address" on the borrowed controller was done to copy only the 8kb of data that is the specific ECU map informtion, even if it is on a chip that has more capacity. I am not sure why the person assisting me did not select a correct chip device (size) as you noted. Maybe the software did not have it listed. In any case, if I viewed the code read from the chips with the CQ-4X, I noticed that the data repeated twice if I selected a 27C128 device, which resulted in the 16kb files. I was able to get the checksums to agee by selecting a 27C064 device which reads a single instance of the data to the buffer and results in the correct 8kb file size and the same (correct) checksums. This specific file size is apparently required because when all 8 of the ECU maps are combined and loaded into a sinlge file and then burned to the 27C512 chip they must begin and end at specific addresses so the different ECU maps can be selected by the external switch.
Thank you! |
|
|
Reply #3
ZLM
2945 Posts |
Posted - 11/12/2009 : 01:35:10
|
The 27FS512 has 64K space. So, your data file should have exact 64K size. If this is the case, you do not need to set anything, just load the data andthen write it into 27SF512. It should work if your loaded correct data.
If your data file is less than 64K, and then you need to set the correct File offset OR Device offset to write the data into correct address of the 27SF512.
|
|
|
Reply #4
ecu88
USA
4 Posts |
Posted - 11/12/2009 : 11:13:19
|
The previous "combined" data file is 64k, and the new one I created is also 64k, so it appears all is correct (checksums match also).
I have a utility program from the supplier of the board that combines the individual 8k files first. But, if I understand correctly, I could just Read (Open) and then Write each file to the chip in the order I want and do the same thing without combining first. But to do this would I need to set the Device Offset for each file or will they just write sequentially to the chip? Thank you for your assistance. |
|
|
Reply #5
ZLM
2945 Posts |
Posted - 11/14/2009 : 08:38:54
|
To write total eight different 8K data files into one 27SF512, you should set device offset for each 8K data file. The device offset is the 27SF512 address, which is going to start writing the 8K data from that address.
So, you need to load data file 8 times and change the device offset address each time before the write command.
If needed, we can add a Join or Combine function to the software. So that to join/combine the more data files into the buffer. That will be easier to write multiple data file into one chip or save as a new combined data file. |
|
|
|
Topic |
|