GM E38 E67 E40 Kernel/Bootloader Development Extravaganza

Disassembly, Reassembly, Tools and devleopment. Going deep with Hardware and Software.
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by Tazzi »

Not really anything interesting in terms of new developments, so below may bore some!

To make applications like Tunerpro, MDI (Multiple Document Interface) forms need to be utilized so that multiple forms can all display inside of the application at one.
Generally in VS, you can declare your primary form as the MDI Parent. This means any child forms added will display inside the application viewing area only, and will automatically terminate when the application closes.

Now.. silly me, has made the application based on a tabbed GUI form. When I try add a child form to it.. it is hidden behind the tabbed GUI and is inaccessible. :thumbdown:

But I have managed to find a workaround. Its not technically utilizing MDI but adds a custom form to a panel which is still limited to the application space. :thumbup:
The downfall of this is the application needs to handle closing all of these new forms and basically doing what the input features of a MDI parent does.

So for now.. its done my way. But I think I will be forced to do it the proper way to take advantage of built in functions such as cascaded forms to neatly display items.
MDI Child.PNG
MDI Child.PNG (26.6 KiB) Viewed 2371 times
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by ironduke »

julespatch wrote:Surely you would never go wireless when programming.
I've been programming GM vehicles for years with the GM MDI and GM sps programming software..

It's definitely not a requirement, especially for something as niche as this, but it is very nice to be able to drive up into the workbay, plug in the MDI then walk over to the desktop for a programming session.. Seems a LOT of these new GM recalls are programming only fixes..

No battery charge on the tablet to worry about, no uncoiling the cable and trying to be gentle with the prone to failure mini usb socket in the mdi, no trying to balance the tablet on the seat or center console, no trying to steady your hand while using the tiny little touchpad, etc.. Using wireless also negates the concern for having a battery charger or laptop charger connected while programming as issues with the ground between all of them can let magic smoke escape from modules..

I haven't tried it with Tazzi's program yet, but it seems well written enough to handle it with ease.. Maybe not for cloning, or even OS writing but calibrations for sure..
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by Tazzi »

Clone for both E38 and E67 now takes place from C000 to end of file.
Everything prior to C000 is all boot code which is the same on all ECUs.

This has obviously cut down 0xC000 of data to write so full clone is a tad faster :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by ironduke »

Tazzi wrote:Clone for both E38 and E67 now takes place from C000 to end of file.
Everything prior to C000 is all boot code which is the same on all ECUs.

This has obviously cut down 0xC000 of data to write so full clone is a tad faster :thumbup:
Nice!!! this might mean it's slightly safer too since your not erasing the boot anymore either.. :thumbup:

P.s. Are the logs supposed to do anything at this point? Don't need them now that you figured out why mine was kicking out of bootloader, just curious since I couldn't get them to work..
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by Tazzi »

ironduke wrote: Nice!!! this might mean it's slightly safer too since your not erasing the boot anymore either.. :thumbup:

P.s. Are the logs supposed to do anything at this point? Don't need them now that you figured out why mine was kicking out of bootloader, just curious since I couldn't get them to work..
The logs are not fully implemented yet. They are on the todo list for finishing.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by ironduke »

Sorry for these multiple posts.. lol..

Just read a bin, modified it and wrote it back wireless no problem..

Quick question though.. Is there any kind of check on the ecu to see if it wrote ok? like a checksum of the flash in the ecu against a checksum of the file that was sent?? Does your kernel support something like that? Don't know if you check each packet? to make sure it was received or check at the end?? I think GM software checks at the end, not sure if you follow suit?
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by Tazzi »

ironduke wrote:Sorry for these multiple posts.. lol..

Just read a bin, modified it and wrote it back wireless no problem..

Quick question though.. Is there any kind of check on the ecu to see if it wrote ok? like a checksum of the flash in the ecu against a checksum of the file that was sent?? Does your kernel support something like that? Don't know if you check each packet? to make sure it was received or check at the end?? I think GM software checks at the end, not sure if you follow suit?
Take a look at the flash log on the bottom right of the screen. When flashing completes, it will then verify the file matches with CRC/Sum checks.

You'll see it will mention its CRC of both file and ECU :D
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by ironduke »

Tazzi wrote:
ironduke wrote:Sorry for these multiple posts.. lol..

Just read a bin, modified it and wrote it back wireless no problem..

Quick question though.. Is there any kind of check on the ecu to see if it wrote ok? like a checksum of the flash in the ecu against a checksum of the file that was sent?? Does your kernel support something like that? Don't know if you check each packet? to make sure it was received or check at the end?? I think GM software checks at the end, not sure if you follow suit?
Take a look at the flash log on the bottom right of the screen. When flashing completes, it will then verify the file matches with CRC/Sum checks.

You'll see it will mention its CRC of both file and ECU :D
Doh!!!! I was looking in the console for that!!!! my apologies!!!! lmao.. This is why you have the important jobs!!!
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by Tazzi »

New version up: v1.0.3.19755

-Boot block no longer erased/written on clone.
-Max retry count added to erase routine
-Max retry count added to write routine
-Other small minor changes.

Update following this will be a major redesign to implement MDI correctly.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tre-Cool
Posts: 265
Joined: Tue Oct 16, 2012 12:17 pm
cars: VY SS UTE, VX Drag Car
Location: Perth
Contact:

Re: GM E38 E67 Kernel/Bootloader Development Extravaganza

Post by Tre-Cool »

Can you add the T43 controller, even if experimental and I'll try a few reads. can do on bench and in car.

also does anyone have an e67 bin file from a LSA motor?

just tried to read an e38 with a hpt custom OS:

[03:53:50:538] Operating System: 1250232
[03:53:50:540] Unsupported Operating System currently on ECU or does not match loaded file ECU type. Write routine cancelled (No programming has occurred).


Can't write over it at all.
Post Reply