eacmen / m3fbdm

BDM implementation for the Freescale KL25Z meant for MSS54/MSS54HP ECUs
GNU General Public License v3.0
4 stars 2 forks source link

Only way to reach out to a member #1

Open zarboz opened 4 years ago

zarboz commented 4 years ago

Tried signing up for forums but theres some issue where I cant comment / post

Curious if you could link me with your source for the PCB this project is something I wanna dig into and start adding BDM support for other DME's

yulxps commented 4 years ago

@zarboz did you have any sort of feedback from @eacmen about the schematics & gerber ?

Thanks

zarboz commented 4 years ago

@julien-camer there was some updates in his forum post but nothing here

yulxps commented 4 years ago

@zarboz unfortunately m3forum is down since few weeks now ... :/

yulxps commented 4 years ago

@eacmen are you still alive ?

yulxps commented 4 years ago

@zarboz did you try the software ?

I managed to get it working, but there's a problem ... I can read memory, but I can't get chip ID, write or erase chip. Special command seem to be sent (no error returned, except if I edit theses special command, so I assume theses are working) but they return 0...

If you're into it we can go on another platform to share our work :)

Thx

eacmen commented 4 years ago

I am sorry everyone. I am alive, I just have github notifications turned off. The software is not really in a usable state. Other work came up, then tap said he was open to releasing his software. As far as I can tell that hasnt happened yet.

The latest code is in the repo. Right now there is no way to select master/slave chip and there is no way to write to the chip, just hexdump to the screen. Lots of work to be done and unfortunately I am doing my primary job in the off hours now and taking care of the family during the day. I hope to have time to return to this at some point soon. In the meantime please feel free to fork or submit PRs. I'll turn github notifications back on again so I don't miss these again.

eacmen commented 4 years ago

Tried signing up for forums but theres some issue where I cant comment / post

Curious if you could link me with your source for the PCB this project is something I wanna dig into and start adding BDM support for other DME's

I do not have the PCB design for this project. It was done by another m3 forum member.

yulxps commented 4 years ago

I am sorry everyone. I am alive, I just have github notifications turned off. The software is not really in a usable state. Other work came up, then tap said he was open to releasing his software. As far as I can tell that hasnt happened yet.

The latest code is in the repo. Right now there is no way to select master/slave chip and there is no way to write to the chip, just hexdump to the screen. Lots of work to be done and unfortunately I am doing my primary job in the off hours now and taking care of the family during the day. I hope to have time to return to this at some point soon. In the meantime please feel free to fork or submit PRs. I'll turn github notifications back on again so I don't miss these again.

I already ported your code on a STM32 Nucleo board. But I have a problem you maybe faced. You say on your commit that you have been able to read chip ID. Sadly none of my write commands are interpreted by eeprom. (But they do if I pull Write Enable pin LOW)

I think I missed something regarding the CPU. What blocks my write commands ? Should I write a specific register before ? How did you manage to read Chip ID ?

As soon as I can read AND write (I can already read) i'll dive into re-writing some code and writing a python simple GUI

Thank you ! (I hope you re-enabled your notifications :p )

yulxps commented 4 years ago

if you have a mail where I can reach you ... I would be happy to discuss about it with you !

yulxps commented 4 years ago

Were you able to read Chip ID and erase EEPROM ?

yulxps commented 4 years ago

Galletto users don't do any hardware manipulation before being able to flash so I assume there are some registers to configure, being granted Supervisor access isn't enough :

https://nam3forum.com/forums/forum/special-interests/coding-tuning/2419-how-to-bdm-mss54-hp-with-fgtech-galletto-4

Do you have any info ?

eacmen commented 4 years ago

I am sorry everyone. I am alive, I just have github notifications turned off. The software is not really in a usable state. Other work came up, then tap said he was open to releasing his software. As far as I can tell that hasnt happened yet. The latest code is in the repo. Right now there is no way to select master/slave chip and there is no way to write to the chip, just hexdump to the screen. Lots of work to be done and unfortunately I am doing my primary job in the off hours now and taking care of the family during the day. I hope to have time to return to this at some point soon. In the meantime please feel free to fork or submit PRs. I'll turn github notifications back on again so I don't miss these again.

I already ported your code on a STM32 Nucleo board. But I have a problem you maybe faced. You say on your commit that you have been able to read chip ID. Sadly none of my write commands are interpreted by eeprom. (But they do if I pull Write Enable pin LOW)

I think I missed something regarding the CPU. What blocks my write commands ? Should I write a specific register before ? How did you manage to read Chip ID ?

As soon as I can read AND write (I can already read) i'll dive into re-writing some code and writing a python simple GUI

Thank you ! (I hope you re-enabled your notifications :p )

So I never got to the stage where I attempted writing anything so I can't really provide any insight. I also never read the chip ID. I assumed that once you were in supervisor BDM mode that writing to the chip would be allowed.

I don't think tap's firmware used chip ID to identify the MSS54 vs MSS54HP. I believe he read some part of the beginning of the chip to get the version string then determine the ECU model from there.

yulxps commented 4 years ago

Got it working, I'll heavily clean up the code and create a python flash script.

ChrisDeBmw commented 4 years ago

That are good news:-) Did you use stm32 HAL code? I have a F3 disco board laying around for testing. Seems that i have to work on the xdf tool.... :)

yulxps commented 4 years ago

That are good news:-) Did you use stm32 HAL code? I have a F3 disco board laying around for testing. Seems that i have to work on the xdf tool.... :)

It's currently a mbed project. I'll rewrite it as native stm32 with ST HAL tomorrow. I'll keep you up to date.

yulxps commented 4 years ago

@ChrisDeBmw what's your F3 board ?

Do you currently use Tap's BDM ?

ChrisDeBmw commented 4 years ago

@ChrisDeBmw what's your F3 board ?

Do you currently use Tap's BDM ?

I have this Board https://www.st.com/en/evaluation-tools/stm32f3discovery.html

In not using bdm yet but im very interested in this project. I’m a software engineer and worked with this board and processor already. This bdm function is only a bit banging thing, right? Tap created a adapted board, but only for connection purposes, or does that any conversion / digital things? I have a kess clone with many little boards and connectors, i think I could connect my board without taps board.

yulxps commented 4 years ago

There are nothing special on tap's shield. (No level shifter or whatever). Don't try to pull to ground or 5V (or even 12v) eeprom or CPU pin, as soon as you can read CPU register, then you're halfway done. Everything else is software. I think I will make a job lot of ~10 BDM to refund my dead DME (fried 1 CPU out of 2 on my MSS54 while working on this ... I repeat, do not play with grounding pin or whatever on your PCB, you will end up like me ...) and then I will release all my code and documentation on my github. Open source, no licence, free.

Where are you from @ChrisDeBmw ?

ChrisDeBmw commented 4 years ago

@julien-camer I'm from germany and dived into the mss54 project over the XDF project. Im working on a tool which can merge all xdf-versions floating around into a database for better bugfixing.

ChrisDeBmw commented 4 years ago

@julien-camer i would buy one of your bdm-adapters

eacmen commented 4 years ago

@ChrisDeBmw what's your F3 board ? Do you currently use Tap's BDM ?

I have this Board https://www.st.com/en/evaluation-tools/stm32f3discovery.html

In not using bdm yet but im very interested in this project. I’m a software engineer and worked with this board and processor already. This bdm function is only a bit banging thing, right? Tap created a adapted board, but only for connection purposes, or does that any conversion / digital things? I have a kess clone with many little boards and connectors, i think I could connect my board without taps board.

Yes BDM is basically implemented using a bit-banging protocol. Its like JTAG before JTAG existed. The reference implementation from Motorola originally used a PC parallel port adapter - that should tell you how old the technology is.

Are you guys trying to directly bit-bang the EEPROM chip or using BDM interface on the CPU?

yulxps commented 4 years ago

I managed to write a BDM from scratch. (with shell functions etc) and made a windows graphical interface in .NET Everything is working I'm waiting for parts and PCB to build a first batch ;)

Made a post on M3cutters

ChrisDeBmw commented 4 years ago

I managed to write a BDM from scratch. (with shell functions etc) and made a windows graphical interface in .NET Everything is working I'm waiting for parts and PCB to build a first batch ;)

Made a post on M3cutters

Will you commit your code in this repo? Or do you create a own for your solution?

YulCmr commented 4 years ago

Don't know why I used my old account to comment here. If anyone wants to reach me, prefer insta @yulcmr

To follow what's going on, visit my git -> github.com/yulcmr

Should be ready soon to send some units. The first one goes to @ChrisDeBmw