CY7C64713 Hex2Bix CyConsole LgEEPROM Absolute Address Code Download Problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 I am using a Cy7C64713 FX1 device in which my object (HEX) file is being generated by the KEIL uVision, I am converting this appropriately and programming the FX1 boot EEPROM using the CyConsole LgEEPROM option. This works fine and the FX1 boots and operates as expected.

   

In my code there is a reserved constant declared in the code space that is specifically allocated in the last code space address (0x1FFF) for specific project reasons that I cannot disclose here. This is done using a linker command line to allocate this to the correct code space address and I have checked this in the object (HEX) file output.

   

When I create the object (IIC) file using the hex2bix tool (hex2bix.exe -c 0x41 -f 0xc2 -i -o OUTPUT.IIC INPUT.HEX) and inspect the raw binary OUTPUT.IIC file I can see my absolute address constant with the appropriate address prior to it .

   

After I have download the OUTPUT.IIC file using the CyConsole LgEEPROM and disconnect the EEPROM and read it back using an EEPROM programmer I can see that my absolute address constant is just appended to the code therefore it has not been placed at the correct EEPROM address.

   

Does anyone know what the IIC file format is as I wish to understand if this is correct or if the CyConsole LgEEPROM download tool is the issue. Alternatively am I creating the IIC file correctly?

   

     

   

     

0 Likes
2 Replies
Anonymous
Not applicable

 Hi AJAI,

   

I also tried out something similar to you had done. And I also failed and I came to ypur this post as well. There is nothing wrong with IIC file creating. The IIC file format is having a some data encoding format, wth program data length, the start address and actual program data. When we are downloading to the EEPROM, download process will copy the IIC file with that data encoding format(finally eeprom contains data idential to the IIC file). Your declared constant also copied to the EEPROM with that address encoding format. So your constant will not copied into that absolute address.

   

But I could avoid this problem by using another way. I'm using a FX2 device. First I downloaded vend_aux.hex and issued a verdor specific command to write to that exact EEPROM location, with my constant data. And it works fine. But drawback is I have to write an application for that. Cypress provides "CyUSB.dll" and with API function to write into USB endpoints.

   

But now this information will not help you since this is 4 years back question.. Just FYI.

   

Regards,

   

Vishwa Shanika.

0 Likes
Anonymous
Not applicable

 Hi ,

   

There is nothing wrong in the procedure of creating the iic file. I am not sure how you are linking the variable in the project.

   

When using the "CyConsole LgEEPROM" it loads the vend_ax example and then copies the iic file contents to EEPROM. you have to write the information realted to your variable before the last record.

   

"80 01 e6 00 00"

   

 

   

Regards,

   

Vikas.

0 Likes