Embedded Connectivity
Intel network controllers, Firmware, and drivers support systems
871 Discussions

EEPROMACCESSTOOL build issue

ucantieni
Novice
470 Views

(This is a copy of a question I posted in Ethernet Products forum, it was suggested to ask for help here instead)

 

Hi,

I'm trying to program the NVM of i226 on an ARM system with eeprom access tool.

In a first step I'm trying to get the tool to run on a x86_64 laptop on ubuntu22.04, with the latest download of `572162-eepromaccesstool-0.8.0.zip`.

When trying to build the tool using `make`, I face the following issue:

 

```

gcc -DCONFIG_GENERIC_IOMAP -DMODULE -DVIRTUAL -DNTEST -g -Wall -c testfuncs.c
gcc -DCONFIG_GENERIC_IOMAP -DMODULE -DVIRTUAL -DNTEST -g -Wall -c PciEeprom.c
gcc -DCONFIG_GENERIC_IOMAP -DMODULE -DVIRTUAL -DNTEST -g -Wall -c HelperFunctions.c
gcc -DCONFIG_GENERIC_IOMAP -DMODULE -DVIRTUAL -DNTEST -g -Wall -c main.c
gcc testfuncs.o PciEeprom.o HelperFunctions.o main.o -o EepromAccessTool -DCONFIG_GENERIC_IOMAP
/usr/bin/ld: PciEeprom.o:/home/ME/tmp/572162-eepromaccesstool-0.8.0/eepromaccesstool-0.8.0/include/HelperFunctions.h:113: multiple definition of `NvmFunctions'; testfuncs.o:/home/ME/tmp/572162-eepromaccesstool-0.8.0/eepromaccesstool-0.8.0/include/HelperFunctions.h:113: first defined here
/usr/bin/ld: HelperFunctions.o:/home/ME/tmp/572162-eepromaccesstool-0.8.0/eepromaccesstool-0.8.0/include/HelperFunctions.h:113: multiple definition of `NvmFunctions'; testfuncs.o:/home/ME/tmp/572162-eepromaccesstool-0.8.0/eepromaccesstool-0.8.0/include/HelperFunctions.h:113: first defined here
/usr/bin/ld: main.o:/home/ME/tmp/572162-eepromaccesstool-0.8.0/eepromaccesstool-0.8.0/include/HelperFunctions.h:113: multiple definition of `NvmFunctions'; testfuncs.o:/home/ME/tmp/572162-eepromaccesstool-0.8.0/eepromaccesstool-0.8.0/include/HelperFunctions.h:113: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:61: EepromAccessTool] Error 1

```

 

I seem to be missing something, any ideas?

 

Thanks!

0 Kudos
2 Replies
Diego_INTEL
Moderator
411 Views

Hello @ucantieni,

 

Thank you for contacting Intel Embedded Community.

 

From the EEPROM Access Tool User’s Guide, document #634290, you may try the following:

 

"4.2 Running the EEPROM Access Tool

Follow these steps:

1. Navigate to the source directory. This directory should contain a Makefile, an include directory and the C source files.

2. To begin compiling using the provided Makefile, enter the make command:

make

This command may produce a warning similar to the following:

make: warning: Clock skew detected. Your build may be incomplete

To eliminate this warning, run a sequence of commands similar to the following:

make clean touch -r * make

3. To run the EEPROM Access Tool, enter the command, replacing arglist with the specific argument list that tells the EEPROM Access Tool what functionality should occur.

sudo ./EepromAccessTool [arglist]

For additional information, refer to the sections that follow."

 

Best regards,

 

@Diego_INTEL 

0 Kudos
ucantieni
Novice
311 Views

Hello @Diego_INTEL 

 

Thanks for your reply.

 

In the meantime, we also tried to build the tool on the actual ARM platform we're using with the same result. Build was attempted according to the User Manual you cited.

 

This appears to be an error during linking, which suggest some files are missing / incomplete.

 

In the user manual, it states "Obtain all of the necessary source files for the tool. For relevant source code, contact your Intel
representative". Do I need anything else than what's contained in "572162-eepromaccesstool-0.8.0.zip"?

 

Kind regards,

UC

 

0 Kudos
Reply