myildirim10 / CANopenNode-Easy-Port

This project was made to more easily "port" the CANopenNode open source library. Contains sample projects made with STM32, ESP32, TI (TMS320F28335), Infineon (XMC4800)
6 stars 3 forks source link

undefined reference to CO_eeprom_readBlock etc. #1

Closed tjb81 closed 11 months ago

tjb81 commented 11 months ago

Hi, great project, just what i have ben looking for! but i have a problem when linking the .elf file at the very end. do you have any ideas?

it looks like all undefined reference errors. it is because the ESP32 does not have eeprom, but flash? I am using an ESP32-S3 (have tried others as well), and platform.io. i get the following errors (edited for size): it looks like all undefined reference errors. it is because the ESP32 does not have eeprom, but flash?

Linking .pio\build\az-delivery-Node-MCU\firmware.elf c:/users/timothyblack/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\az-delivery-Node-MCU\lib9de\libCANopen.a(CO_storageEeprom.c.o):(.literal.restoreEeprom+0x0): undefined reference to CO_eeprom_writeBlock .pio\build\az-delivery-Node-MCU\lib9de\libCANopen.a(CO_storageEeprom.c.o):(.literal.restoreEeprom+0x4): undefined reference to CO_eeprom_readBlock .pio\build\az-delivery-Node-MCU\lib9de\libCANopen.a(CO_storageEeprom.c.o):(.literal.storeEeprom+0x0): undefined reference to CO_eeprom_getCrcBlock .pio\build\az-delivery-Node-MCU\lib9de\libCANopen.a(CO_storageEeprom.c.o):(.literal.CO_storageEeprom_init+0x8): undefined reference to CO_eeprom_init pio\build\az-delivery-Node-MCU\lib9de\libCANopen.a(CO_storageEeprom.c.o):(.literal.CO_storageEeprom_init+0xc): undefined reference to CO_eeprom_getAddr .pio\build\az-delivery-Node-MCU\lib9de\libCANopen.a(CO_storageEeprom.c.o): in function restoreEeprom: lib/CANopen/stack/storage/CO_storageEeprom.c:54: undefined reference to CO_eeprom_writeBlock ... lib/CANopen/stack/storage/CO_storageEeprom.c:94: undefined reference toCO_eeprom_writeBlock lib/CANopen/stack/storage/CO_storageEeprom.c:101: undefined reference to CO_eeprom_readBlock lib/CANopen/stack/storage/CO_storageEeprom.c:54: undefined reference to CO_eeprom_writeBlock lib/CANopen/stack/storage/CO_storageEeprom.c:52: undefined reference to CO_eeprom_getCrcBlock lib/CANopen/stack/storage/CO_storageEeprom.c:61: undefined reference to CO_eeprom_writeBlock lib/CANopen/stack/storage/CO_storageEeprom.c:62: undefined reference to CO_eeprom_readBlock lib/CANopen/stack/storage/CO_storageEeprom.c:135: undefined reference to CO_eeprom_init lib/CANopen/stack/storage/CO_storageEeprom.c:157: undefined reference to CO_eeprom_getAddr lib/CANopen/stack/storage/CO_storageEeprom.c:161: undefined reference to CO_eeprom_readBlock lib/CANopen/stack/storage/CO_storageEeprom.c:182: undefined reference to CO_eeprom_getAddr lib/CANopen/stack/storage/CO_storageEeprom.c:212: undefined reference to CO_eeprom_readBlock collect2.exe: error: ld returned 1 exit status *** [.pio\build\az-delivery-Node-MCU\firmware.elf] Error 1

Thanks!

tjb81 commented 11 months ago

so it looks like i was using an older file or CO_config.h which had the storage set to 0x01. now i can compile!