How to program EEPROM with ADAV4601 + USB Serial Converter
Hi,
I'm working with the ADAV4601 on our own PCB which is set up just like the eval board. I'm using the USB Serial Converter from the eval kit wiring I2C directly from the USB-EV bridge board to our development board I2C bus which connects our host micro, DSP and EEPROM.
I have set this up as if it was the EvalBoard4xxx in the hardware configuration window. I'm successfully developing with Sigma Studio (3.1 - not sure what my key is for downloading the latest) and I don't have any problem communicating with the DSP. I'm rather stuck when it comes to getting the flow onto the EEPROM, though. Despite experimenting with the USBSerialConvAddress block I can't seem to be able to use Sigma Studio to download the data to the EEPROM and I don't know how to use the files it generates in order to program an EEPROM directly using a Dataman programmer - the programmer wants Intel hex, raw hex or binary files rather than the comma-delimited ASCII representation of hex that Sigma Studio generates.
Ultimately (I hope) our embedded software engineers will write something to sort this out but it would be useful to be able to make my development flows persistent in the meantime. Any help will be very much appreciated!
Thanks,
Matthew
Audio Signal Processors
i2c
eeprom
sigmastudio
SigmaDSP Audio Processors
adav4601
Show More
Hello, and sorry for the late reply. The ADAV4601 and other ADAV devices were, until recently, supported by a group within ADI called the ATV group (ATV stands for "Advanced TV"). Recently, the ADAV devices were shifted to the Digital Audio product line, which means they now fall under the same support umbrella as SigmaDSP. So, technically, I will now be the support contact for those ADAV products, but since this is a new responsibility for me, please forgive the fact that I will learning as I go.
I don't see a clear description of the EEPROM data format listed in the ADAV4601 datasheet, so I will have to ask around to see if the message formats match those of the ADAU1701 and ADAU1442 (the SigmaDSPs in SigmaStudio that have proper self-boot EEPROM generation support). I will reply here once I have an answer so we can continue forward with this issue.
Hi,
Thanks for the response. I was getting the impression that the ADAV4601 was somehow a different case to the other DSPs, now I know why. Totally understand that you need to get up to speed on it!
Our software engineers are struggling somewhat with how to get the flow programmed. We want to avoid having the flow data in the main MCU program - ultimately we plan to have our MCU transfer the flow data from a file on USB flash to the EEPROM. The main hurdle to overcome is converting the Sigma Studio compiler output to this raw binary file for programming the EEPROM. Is there an easy way to do this, such as any PC software? I imagine other people will have wanted to do this, if only for production EEPROM programming (which we will be doing eventually).
The best information I have found on the ADAV4601 EEPROM format is in the document "ADAV4xxx_Programming_Guide_V1.3.pdf page 153. We still need help generating that file though.
I've been messing around with this a little in SigmaStudio - it's certainly hard to accomplish much without an eval board! I actually haven't been able to get to the point where SigmaStudio generates and EEPROM data file. Have you figured that out?
For SigmaDSPs that support self-boot (the ADAU1701, for example), after compilation, you right click the DSP in the Hardware Configuration tab and select the "Write Latest Compilation to EEPROM" button, which starts the routine to generate the EEPROM.hex file and download the binary to the EEPROM itself. The EEPROM.hex file shows up in an output folder.
Are you able to get that far? I don't see any "Write Latest Compilation to EEPROM" button, so I'm not sure how the file is generated in the first place.
As a last resort, you could always use the "Export System Files" command as a starting point for generating your own EEPROM data file generator. In particular, the TxBuffer_IC_1.dat file contains all of the RAM/register writes that would need to be included in the EEPROM boot sequence. Of course, you'd have to write some sort of parser to extract the right data and then convert the data to an EEPROM data file format your flash programmer can read.
Hi,
It sounds like you are running into the same issues as we have! I certainly haven't found out how to get Sigma Studio to generate an EEPROM file directly. At the moment we are trying to write some software to parse the exported program data and parameter data files into a C array for the micro to program the EEPROM with. We had this working for another product but we had problems before, it seemed that whenever I changed the flow it broke the process and it took quite some time to get a new flow into production code. I'd love to find an easier way that facilitated flow development and evaluation.
Please let me know if you find out anything further!
I contacted a former ATV applications engineer in Ireland and I will respond once he has provided more information. If you need any other information (board schematics/layout/BOM) let me know.
Apparently there is a LabVIEW software package that was created to control the ADAV4601 and generate an EEPROM file. I have requested this software from the Ireland side. Once I receive it, I will compile an executable so you will be able to run the software on your PC.
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.