- Serial eeprom programmer serial#
- Serial eeprom programmer full#
- Serial eeprom programmer code#
- Serial eeprom programmer Pc#
But I cannot (to my knowledge) simulate reading an already written EEPROM, so I can't simulate first writing the EEPROM and then reading it to check a) that all the data is there and b) all the data is where I expect them to be. I have longer term goals and projects as well, but this radio was my excuse for finally getting into Arduino.
Serial eeprom programmer code#
I have built the circuitry, but I want to know that the code works. For this purpose I have purchased several EEPROMs. I decided to practice on EEPROMs that I purchased, rather than accidentally destroying the radio. But I also have a text file with the addresses and bytes in hex format.
This OEM radio is quite a popular alternative to the garish aftermarket stuff we can buy.
The cure for this is to collect a dump file for the radio, then burn it onto the radio's EEPROM. As it turns out, this radio was never commissioned, so instead of asking me for a passcode, it requests a diagnostic tool. The car is a 1995 model, but the radio is a 2014 OEM from another manufacturer. The background is this: I purchased a radio for my car. I have already checked that these two are compatible for my application. I couldn't get the FM24V01, so I purchased 24LC128 instead. What are you trying to do with your project? What does the radio have to do with the transfer of data into an EEPROM or FRAM? Where does this data file reside, what format is it in, and how do you plan to transfer the data to the Arduino?Īre you still working with Proteus? Do you have an EEPROM and an Arduino? Can you read and write data to and from the EEPROM using the Wire library commands? You can work up to large block writes and optimized speed with the Christensen library after you work through the basics of byte read/write or small transfers of 4 byte blocks which will always work with page boundaries.Īnd I really need to get my radio working. Which one are you trying to fill with data? The FRAM does not have page boundaries, the EEPROM does. The link is to a FRAM storage device FM24V01-G Serial-I2C FRAM while FM24C128 is a conventional EEPROM. Specifically, the first chip I have to program is an FM24C128. I would like to make an EEPROM programmer. How, explicitly, and where do I give the address(es) that I need to upload to, and how, explicitly, do I specify the data in the above sketch? How many bytes can I upload at a time?ĭo I create an array with data bytes in hex format? Do I break it up into smaller chunks? If so, how small? (I know the sketch also breaks data up in chunks, but does it break up an entire array into chunks of 32 bits?) Do I create a counter to count down the addresses and put them in a loop? That is because no data has been given yet. If I compile and export this, nothing happens. Uint8_t eepStatus = eep.begin(extEEPROM::twiClock400kHz) //go fast! so the sketch doesn't do unnecessary EEPROM writes every time it's reset.Ĭonst uint32_t totalKBytes = 64 //for read and write test functionsĮxtEEPROM eep(kbits_256, 2, 64) //device size, number of devices, page sizeĬonst uint8_t btnStart = 6 //start button Wire a button from digital pin 6 to ground, this is used as a start button
Serial eeprom programmer full#
Writes the EEPROM full of 32-bit integers and reads them back to verify. Here is the J Christensen example, as per you recommendations: //Test extEEPROM library. And I really need to get my radio working. OK, pardon me for being really new and really dumb (I am, after all, but a humble mechanical engineer), but I am failing to understand anything I see. The program should also be working for 24128 as 24C512 and 24C128 are pin-compatible and TWI-bus compatible chips.
Serial eeprom programmer serial#
Serial.println(x, HEX) //show value on Serial Monitor shows: 23 Wire.requestFrom(eeDeviceAddress, 1) //read 1 byte data from location 1234 and save in bufferīyte x = Wire.read() //bring data byte from buffer into x Wire.endTransmission() //end all the above queued data and STOPĭelay(5) //wait for the data byte to get written into EEPROM location Wire.write(dataByte) //data byte 23h fro the location 1234h Wire.write(adrLocUbyte) //select (point) EEPROM location 1234h
Wire.beginTransmission(eeDeviceAddress) //select EEPROM by doing a roll call Store (write) 0x23 into location 0x1234 of the EEPROM read it back, and show it on Serail Monitor and LCD. Build the following circuit between UNO, 24C128, and I2C LCD. You may collect an Arduino UNO which will hopefully answer your above questions.Ģ.
Serial eeprom programmer Pc#