View Single Post
Old 02-22-2019, 09:35 PM
DavidBraley DavidBraley is offline
Junior Member
Join Date: Jul 2018
Posts: 3

Originally Posted by NSFW View Post
Did you make any progress with this?

If you need help getting the flash chip into command mode, this C code worked for me:

#define COMMAND_REG_AAA (*((volatile uint16_t*)0xAAA))
#define COMMAND_REG_554 (*((volatile uint16_t*)0x554))

// Switch to flash into ID-query mode.
COMMAND_REG_554 = 0x5555;

// Read the identifier from address zero.
//flashIdentifier = FLASH_IDENTIFIER;
uint16_t manufacturer = FLASH_MANUFACTURER;
uint16_t device = FLASH_DEVICE;
uint32_t id = ((uint32_t)manufacturer << 16) | device;

The data sheet was not clear at all. That code was mostly based on existing code that I found in a GM ECU, and code that someone else showed me from a Lotus ECU.

I think I accidentally erased my ECU's boot block, so I'm working on getting the BDM NT set up to fix it. I'm hoping you guys can get writing to work by the time I get mine wired up.
Thank you so much NSFW for the reply! I think we are going to get this going. I also have a bunch of bin files if you need anything to get that ECU going again.

I will be very interested in seeing the programming fixture you are about to build that uses the USB BDM NT device. Let me know too if you need anything. I have a machine shop here at home and I've been cranking handles now for over 40 years...

Last edited by DavidBraley; 02-22-2019 at 09:37 PM.
Reply With Quote