Open zarboz opened 4 years ago
@zarboz did you have any sort of feedback from @eacmen about the schematics & gerber ?
Thanks
@julien-camer there was some updates in his forum post but nothing here
@zarboz unfortunately m3forum is down since few weeks now ... :/
@eacmen are you still alive ?
@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
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.
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.
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 )
if you have a mail where I can reach you ... I would be happy to discuss about it with you !
Were you able to read Chip ID and erase EEPROM ?
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 :
Do you have any info ?
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.
Got it working, I'll heavily clean up the code and create a python flash script.
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.... :)
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.
@ChrisDeBmw what's your F3 board ?
Do you currently use Tap's BDM ?
@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.
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 ?
@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.
@julien-camer i would buy one of your bdm-adapters
@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?
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
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?
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
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