Like Brix says, if you connect with FDT theese MCU's erase the data. If so, that ecu is completely empty, except bootloader i think :)
Else post up the code dumps (from beginning) as .txt or complete .bin so we can take a look. If you dont want to post it publicly, e-mail me. Its hard to tell from 20 lines of about 24600 (7054)
-- Edited by Twice on Thursday 8th of March 2012 11:50:48 AM
Thanks guys! I ran RR's code to BS2 with ECU wired (that shouldn't wipe 7052). Couldn't get but two lines out of it. Tried FDT read and got errors. Reversed the wiring to ECU pads and ran Tera. It starting dumping. Looked empty though so I tried to read again with FDT in user mode and it stalls on sending request. At least it didn't error. Is there a way to connect through Parallax USB (to 232) to AUD with the BS2 installed and reflash map or will I have to straight TTL-232R to front door? With ECU plugs to left and AUD to right, am I right assuming 1 is top 12 is bottom?
As Brix said connecting with the FDT erases the ECU. Even if the FDT could read a 7052 ECU which it can't it would always be blank after the connect. It looks like your AUD was working it was just returning all FF because the ECU is blank.
Let me build a User Interface for the arduino and post the file! It has to support ROM read for 7052 and 7054, RAM read and Registers read for convinience in disassembling the ROM correctly!
For those who where waiting the arduino code, finally i have finished it! The pin numbers are stated in the code, so it is fairly easy to connect to the AUD port! You dont need any resistors or anything else, just flat cable and connectors! The link to download it is below. If you make some money from this or you feel nice and would like to donate please do as you wish! My email is psychegr (a) gmail.com! You can use it to contact me or donate! Thank you!
http://www.mediafire.com/?fut98dhwpg3u393
Maybe there are some bugs, which i would like to know in order to correct them and provide better code. If you think that there are some improvements to be made then please let me know! I will do my best!
During AUD read with Arduino, do i have to power the ECU thru the Ecu connector +12v, or do i have to power it thru the AUD +12v line ? Or arduino power up just the 7052 Cpu with +5v thru the Aud connector ?
Then newer Arduino IDE doesnt support flush for the serial receiver buffer! I needed to clear the receiver buffer so i added some lines at the HardwareSerial code!
This is the link with the lines to add! http://code.google.com/p/arduino/issues/detail?id=593 I think that you can add the lines in the code that i posted above and it will work, but i am not sure!
Thank you Psyche :) after solving the problem i am also haveing a strange problem, once i start your software and selecting 7052 ( As test i am using a well known 41G00 to compare the output to the known bin floating around ) i only receive a single line:
S23000000000 and the software stop there.
The Ecu is powered on thru the pin 17 and 34 ( +12v and GND ) , but probing the AUD vcc line (pin 1 on aud if i am not wrong ) with a tester i am not reading any voltage, so i suppose i have to apply +12 to some other pins as well, or maybe my test Ecu is dead.
any suggestion ?
-- Edited by Manzo on Wednesday 28th of March 2012 07:12:36 PM
Ok, after spending a week tinkering in every possible way, i can say this Arduino software DOESNT work. I am no coder so i cant troubleshoot the if its a logic problem in the software, but the way it is provided it fails to do the expected work.
If no wires are connected to the Ecu the software only output endless FF, as soon aswires are connected it only output a single string:
I am really sorry for the really late reply but i had some problems with my job and the army!!! Happily i am back and done with it!
2 days before i post the code here i had a problem with the Arduino IDE! It crashed and i lost all the work that i did! So i rewrote everything back without testing it! Anyway i rememder that i added 2 lines of code in the sketch but i dont remember why i did that!
The lines are :
PORTB = 0x0; // ????dummy byte StrbSyncLow();
Search in the sketch for those exact 2 lines and erase them. Compile and test again! There is nothing wrong with the ECU! It is all matter of the code!
Please do as I say and post back or send me an email! I will respond this time! I hope that the problem will be solved and it will be solved! We create the problems and we find the solution to them!
Psyche i hope you fixed your problems and that was nothing too bad, I am sorry if i sounded harsh, i just wanted to give some feedback to avoid other people getting crazy trying to have the arduino code to work, maybe the language barrier made my post sound more harsh than it was intended to be (English isnt my main language;) )
I will test the workaround this evening and keep you updated !
Oh, i did the hardwareSerial library fix also, i suppose that must remain in place right ?
Make some coffee and relax... S214000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB S214000010FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB S214000020FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB S214000030FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB S214000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB S214000050FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB S214000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
Ok let me set up my configuration and check the sketch! This is a bit strange! Are you sure that the cables are at the correct lines? Please follow the guide below.
I removed the wrong lines from the code, there are 2 very similar pieces, une is "dummy bit" and the other "dummy byte", i removed the BIT, not the Byte......after removing the correct one the software is now working, thank you for your patience :)
I am glad that you finally made it work! I dont remember why i added those 2 lines but it seems that they arent needed! If you can send the arduino sketch back to check it and post a correct one! I would be glad also if you could send me the bin of that ECU for disassembly!
Sure Psyche, I will post the correct code as soon as possible, the BIN of this Ecu is a 41G00, i am using a KNOWN Bin to compare my output to a known source.
But as soon as this "experiment" is over, i am gonna read a 29G00 (600 K4-K5) and i will send it to you, count on it :)
SH 7054 = 384kb (0x00000000 -> 0x0005FFFF) SH 7052 = 256kb (0x00000000 -> 0x0003FFFF)
So by looking at your last line i think you are pretty close if you are reading a 7052 :) Digits in last line shall be the ECU Identification number if i remember correctly. Dont got any HEX editor installed for the moment but it´s MANY lines, can check later if you need...
If I'm calculating 3FFFF - 0 = 262143 lines. But is it the right way to calculate? Last codeline says only 3FFF, so the one 'F' is missing. Did I miss something? My background is mechanical, so that's why I'm asking dump questions :)
The 3FFF0 is the first byte in that line! So if you count byte 0x43 as 3FFF0 then 0x33 is 3FFF1 and so on! The last byte on that line is the checksum of that line. The byte before the checksum is the last byte so the address is 3FFFF! It is not that hard to understand it! I wonder how can people tune bikes and disassemble binaries if they cant understand something that simple! No offends, just wondering! ;)