Login Register

Vida CEM swapping

A mid-size luxury crossover SUV, the Volvo XC90 made its debut in 2002 at the Detroit Motor Show. Recognized for its safety, practicality, and comfort, the XC90 is a popular vehicle around the world. The XC90 proved to be very popular, and very good for Volvo's sales numbers, since its introduction in model year 2003 (North America). P2 platform.
Post Reply
oscilloscope
Posts: 285
Joined: 20 May 2022
Year and Model: 2005
Location: uk
Has thanked: 27 times
Been thanked: 11 times

Re: Vida CEM swapping

Post by oscilloscope »

dikidera wrote: 03 Dec 2022, 15:30 I actually did. Dumping them was easy(the internal on-chip rom and external flash of the ecm) from the Hilton commands. It's writing that is the core issue. You need your own code to run on the IC, but at the same time, satisfy the condition as to not reset the chip.
Have you tried using hardware like IOT terminal to read & write the ecm , of course if its covered by that?

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

IO terminal can, and does in fact support all the things I wanted to do, write+read of CEM,ECM(basically anything with a SH7055 chip) as well as immobilizer stuff. Like I said, everything, all the bells and whistles.

However as you might expect, it's paid and not cheap. I am not a fan of black boxes, I always want to know HOW something works.

oscilloscope
Posts: 285
Joined: 20 May 2022
Year and Model: 2005
Location: uk
Has thanked: 27 times
Been thanked: 11 times

Post by oscilloscope »

dikidera wrote: 04 Dec 2022, 14:35 IO terminal can, and does in fact support all the things I wanted to do, write+read of CEM,ECM(basically anything with a SH7055 chip) as well as immobilizer stuff. Like I said, everything, all the bells and whistles.

However as you might expect, it's paid and not cheap. I am not a fan of black boxes, I always want to know HOW something works.
I did figure it was something along them sort of lines ,
I know exactly what you mean.
I have all them tools for my job. Yes they do the job quickly and right.
To add.
I am currently working trying to create a script for the iprogpro which can perform the volvo synchronization's, Yes, they are already available but i want to do my own , although failing badly , as the IDE's native help section is in Russian which is not my first language.
But try and try I must!

I totally understand.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Is the synchronization the practice of coding in a new ECU in the CEM? Thats what my google FU revealed at least.

oscilloscope
Posts: 285
Joined: 20 May 2022
Year and Model: 2005
Location: uk
Has thanked: 27 times
Been thanked: 11 times

Post by oscilloscope »

dikidera wrote: 04 Dec 2022, 15:29 Is the synchronization the practice of coding in a new ECU in the CEM? Thats what my google FU revealed at least.
No synchronisation is kind of like a subaction when the key is turned. The cem - ecm-abs module all have to be ",in sych" , if they are not the car will not start and throw up a immo fault. But it's not a immo fault.

In regards to what I do from time to time , is to take a dump from the cem eeprom & the ecu eeprom , and have the abs serial and then marry them all together.

In regards to the later cars which would probably carry the sid807evo. There was a synchronisation software avaliable but it has been withdrawn by the company codecard. The most latest cars I don't know if they still use the same synchronisation method. it maybe something else.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Well, as I said, it's the first time I've heard of that, so I am not familiar and have no idea what it entails.

What I do know is that with the help of a member(not sure if he would like to be mentioned) who was kind enough to provide me with a SBL copy I managed to run my own little kernel.

Code: Select all

void main(void) {
    UBC.UBCR.BIT.UBID = 1; //disable UBC
    MSTCR.WRITE = 0x3C04; // disable H-UDI(not sure if needed but did either way
    WDT.WRITE.RSTCSR = 0xA500; //disable WDT
    WDT.WRITE.RSTCSR = 0x5A00;
    volatile int t = WDT.READ.TCSR.BIT.OVF; //again not sure if needed, going by the docs
    WDT.WRITE.TCSR = 0;
    while(1)
    {
        waitn(WAITN_CALCN(55000)); //56300 microseconds is the upper limit at which our Port B needs to be toggled to satisfy the external watchdog so we go with a more conservative 55000.
        PB.DR.WORD ^= 0x8000; // 1:1 from Subaru. 
    }
A little fun fact is that Volvo were not fully experienced with Denso? Their watchdog function was called manually and interspersed in the whole code, rather than using a timer interrupt. Well, whatever, these are events from 15+ years ago, the world was a different place back then and Denso was used only a few years.

oscilloscope
Posts: 285
Joined: 20 May 2022
Year and Model: 2005
Location: uk
Has thanked: 27 times
Been thanked: 11 times

Post by oscilloscope »

dikidera wrote: 06 Dec 2022, 16:55 Well, as I said, it's the first time I've heard of that, so I am not familiar and have no idea what it entails.

What I do know is that with the help of a member(not sure if he would like to be mentioned) who was kind enough to provide me with a SBL copy I managed to run my own little kernel.

Code: Select all

void main(void) {
    UBC.UBCR.BIT.UBID = 1; //disable UBC
    MSTCR.WRITE = 0x3C04; // disable H-UDI(not sure if needed but did either way
    WDT.WRITE.RSTCSR = 0xA500; //disable WDT
    WDT.WRITE.RSTCSR = 0x5A00;
    volatile int t = WDT.READ.TCSR.BIT.OVF; //again not sure if needed, going by the docs
    WDT.WRITE.TCSR = 0;
    while(1)
    {
        waitn(WAITN_CALCN(55000)); //56300 microseconds is the upper limit at which our Port B needs to be toggled to satisfy the external watchdog so we go with a more conservative 55000.
        PB.DR.WORD ^= 0x8000; // 1:1 from Subaru. 
    }
A little fun fact is that Volvo were not fully experienced with Denso? Their watchdog function was called manually and interspersed in the whole code, rather than using a timer interrupt. Well, whatever, these are events from 15+ years ago, the world was a different place back then and Denso was used only a few years.
It's cool no worries.,

That's whats this you have created ? , what does it ment too do ? Also the comment in the code that has H-UDI , maybe it was HUDI I'm sure I have seen that in a renesas book or programmer somewhere 🤔

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

It was a simple test to see what I needed to do to get the kernel running without interruption.

oscilloscope
Posts: 285
Joined: 20 May 2022
Year and Model: 2005
Location: uk
Has thanked: 27 times
Been thanked: 11 times

Post by oscilloscope »

dikidera wrote: 07 Dec 2022, 03:09 It was a simple test to see what I needed to do to get the kernel running without interruption.
Very cool , out of curiosity does the denso ecm have a renesas mcu? I would try and satisfy my curiousity but i can't check while on holiday.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Yes, it's a SH7055 chip.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post