Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rp2040 connect with unity tests fails to build #33

Open
torntrousers opened this issue Apr 9, 2022 · 2 comments
Open

rp2040 connect with unity tests fails to build #33

torntrousers opened this issue Apr 9, 2022 · 2 comments

Comments

@torntrousers
Copy link

Hi, I'm trying to add unity tests to an rp2040 connect project.

I take the basic blink example: https://github.com/platformio/platform-raspberrypi/tree/develop/examples/arduino-blink

and that builds and runs fine.

Then I add this empty uinty test in the test folder:

#include <Arduino.h>
#include <unity.h>

void setup() {

    delay(2000);
    UNITY_BEGIN(); // start unit testing

}

void loop() {
    UNITY_END(); // stop unit testing
}

and running that fails with:

> Executing task: C:\Users\tornt\.platformio\penv\Scripts\platformio.exe test <

Verbose mode can be enabled via `-v, --verbose` option
Collected 1 items

Processing * in nanorp2040connect environment
------------------------------------------------------------------------------------------------------------------------------------------------------------------Building...
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from test\test_main.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      | 
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from test\tmp_pio_test_transport.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      | 
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from .pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HttpClient.h:8,
                 from .pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HTTPClient.cpp:5:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      | 
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from .pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\URLEncoder.h:8,
                 from .pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\URLEncoder.cpp:5:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from .pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\WebSocketClient.h:7,
                 from .pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\WebSocketClient.cpp:6:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from .pio\libdeps\nanorp2040connect\PubSubClient\src\PubSubClient.h:10,
                 from .pio\libdeps\nanorp2040connect\PubSubClient\src\PubSubClient.cpp:8:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\nina_pins.h:8,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\nina_pins.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\variant.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Interrupts.cpp:19:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Serial.cpp:23:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Tone.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\USB\PluggableUSBDevice.cpp:18:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\USB\USBCDC.cpp:19:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\USB\USBSerial.cpp:18:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/macros.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\double_tap_usb_boot.cpp:6:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\double_tap_usb_boot.cpp:2:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   56 | #define TIMER_BASE 0x40054000
      |                    ^~~~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
   33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
      |                                      ^~~~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
   66 |     return timer_hw->timerawl;
      |            ^~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   56 | #define TIMER_BASE 0x40054000
      |                    ^~~~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
   33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
      |                                      ^~~~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
  110 |     uint32_t hi = timer_hw->timerawh;
      |                   ^~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   56 | #define TIMER_BASE 0x40054000
      |                    ^~~~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
   33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
      |                                      ^~~~~~~~~~
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
  111 |     return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
      |                                 ^~~~~~~~
.pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HTTPClient.cpp: In member function 'int HttpClient::startRequest(const char*, const char*, const char*, int, 
const byte*)':
.pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HTTPClient.cpp:87:61: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   87 |             if (!iClient->connect(iServerName, iServerPort) > 0)
      |                                                             ^
.pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HTTPClient.cpp:87:17: note: add parentheses around left hand side expression to silence this warning
   87 |             if (!iClient->connect(iServerName, iServerPort) > 0)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 (                                          )
.pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HTTPClient.cpp:97:64: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   97 |             if (!iClient->connect(iServerAddress, iServerPort) > 0)
      |                                                                ^
.pio\libdeps\nanorp2040connect\ArduinoHttpClient\src\HTTPClient.cpp:97:17: note: add parentheses around left hand side expression to silence this warning
   97 |             if (!iClient->connect(iServerAddress, iServerPort) > 0)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 (                                             )
.pio\libdeps\nanorp2040connect\PubSubClient\src\PubSubClient.cpp: In member function 'boolean PubSubClient::publish_P(const char*, const uint8_t*, unsigned int, boolean)':
.pio\libdeps\nanorp2040connect\PubSubClient\src\PubSubClient.cpp:523:16: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  523 |     return (rc == expectedLength);
      |             ~~~^~~~~~~~~~~~~~~~~
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\arm_hal_random.c:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\main.cpp:20:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\pinToIndex.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\timer.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\wiring_analog.cpp:23:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\wiring_digital.cpp:23:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\wiring_pulse.cpp:1:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino/Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\wiring_shift.cpp:23:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
In file included from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/pinmode_arduino.h:23,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\Arduino.h:26,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\wiring_private.h:29,
                 from C:\Users\tornt\.platformio\packages\framework-arduino-mbed\cores\arduino\wiring.cpp:23:
C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT/mbed_config.h:310: warning: "UNITY_INCLUDE_CONFIG_H" redefined
  310 | #define UNITY_INCLUDE_CONFIG_H
                 // defined by library:utest
      |
<command-line>: note: this is the location of the previous definition
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintNumberUnsigned':
unity.c:(.text.UnityPrintNumberUnsigned+0x0): multiple definition of `UnityPrintNumberUnsigned'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintNumberUnsigned+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintNumber':
unity.c:(.text.UnityPrintNumber+0x0): multiple definition of `UnityPrintNumber'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintNumber+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintNumberHex':
unity.c:(.text.UnityPrintNumberHex+0x0): multiple definition of `UnityPrintNumberHex'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintNumberHex+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrint':
unity.c:(.text.UnityPrint+0x0): multiple definition of `UnityPrint'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrint+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: warning: size of symbol `Unity' changed from 132 in .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o) to 160 in C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o)
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintLen':
unity.c:(.text.UnityPrintLen+0x0): multiple definition of `UnityPrintLen'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintLen+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintNumberByStyle':
unity.c:(.text.UnityPrintNumberByStyle+0x0): multiple definition of `UnityPrintNumberByStyle'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintNumberByStyle+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintMask':
unity.c:(.text.UnityPrintMask+0x0): multiple definition of `UnityPrintMask'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintMask+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityPrintFloat':
unity.c:(.text.UnityPrintFloat+0x0): multiple definition of `UnityPrintFloat'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityPrintFloat+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityConcludeTest':
unity.c:(.text.UnityConcludeTest+0x0): multiple definition of `UnityConcludeTest'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityConcludeTest+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertBits':
unity.c:(.text.UnityAssertBits+0x0): multiple definition of `UnityAssertBits'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertBits+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualNumber':
unity.c:(.text.UnityAssertEqualNumber+0x0): multiple definition of `UnityAssertEqualNumber'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualNumber+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualIntArray':
unity.c:(.text.UnityAssertEqualIntArray+0x0): multiple definition of `UnityAssertEqualIntArray'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualIntArray+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualFloatArray':
unity.c:(.text.UnityAssertEqualFloatArray+0x0): multiple definition of `UnityAssertEqualFloatArray'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualFloatArray+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertFloatsWithin':
unity.c:(.text.UnityAssertFloatsWithin+0x0): multiple definition of `UnityAssertFloatsWithin'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertFloatsWithin+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertFloatSpecial':
unity.c:(.text.UnityAssertFloatSpecial+0x0): multiple definition of `UnityAssertFloatSpecial'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertFloatSpecial+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertNumbersWithin':
unity.c:(.text.UnityAssertNumbersWithin+0x0): multiple definition of `UnityAssertNumbersWithin'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertNumbersWithin+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualString':
unity.c:(.text.UnityAssertEqualString+0x0): multiple definition of `UnityAssertEqualString'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualString+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualStringLen':
unity.c:(.text.UnityAssertEqualStringLen+0x0): multiple definition of `UnityAssertEqualStringLen'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualStringLen+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualStringArray':
unity.c:(.text.UnityAssertEqualStringArray+0x0): multiple definition of `UnityAssertEqualStringArray'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualStringArray+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityAssertEqualMemory':
unity.c:(.text.UnityAssertEqualMemory+0x0): multiple definition of `UnityAssertEqualMemory'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityAssertEqualMemory+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityFail':
unity.c:(.text.UnityFail+0x0): multiple definition of `UnityFail'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityFail+0x0): first 
defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityIgnore':
unity.c:(.text.UnityIgnore+0x0): multiple definition of `UnityIgnore'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityIgnore+0x0): 
first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityDefaultTestRun':
unity.c:(.text.UnityDefaultTestRun+0x0): multiple definition of `UnityDefaultTestRun'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityDefaultTestRun+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityBegin':
unity.c:(.text.UnityBegin+0x0): multiple definition of `UnityBegin'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityBegin+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o): in function `UnityEnd':
unity.c:(.text.UnityEnd+0x0): multiple definition of `UnityEnd'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):unity.c:(.text.UnityEnd+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o):(.rodata.UnityStrErr64+0x0): multiple definition of `UnityStrErr64'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):(.rodata.UnityStrErr64+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o):(.rodata.UnityStrErrDouble+0x0): multiple definition of `UnityStrErrDouble'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):(.rodata.UnityStrErrDouble+0x0): first defined here
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs\libmbed.a(unity.o):(.rodata.UnityStrErrFloat+0x0): multiple definition of `UnityStrErrFloat'; .pio\build\nanorp2040connect\libUnityTestLib.a(unity.c.o):(.rodata.UnityStrErrFloat+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\nanorp2040connect\firmware.elf] Error 1
================================================================== [FAILED] Took 10.36 seconds ==================================================================

Test    Environment        Status    Duration
------  -----------------  --------  ------------
*       nanorp2040connect  FAILED    00:00:10.362
============================================================= 1 failed, 0 succeeded in 00:00:10.362 ============================================================= 
The terminal process "C:\Users\tornt\.platformio\penv\Scripts\platformio.exe 'test'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

What am I doing wrong?

TIA!

@torntrousers
Copy link
Author

I found this and this and trying the suggestion in there:

C:\Users\tornt\.platformio\packages\framework-arduino-mbed\variants\NANO_RP2040_CONNECT\libs>..\..\..\..\..\..\.platformio\packages\toolchain-gccarmnoneeabi\bin\arm-none-eabi-ar.exe dv libmbed.a unity.o unity_handler.o
..\..\..\..\..\..\.platformio\packages\toolchain-gccarmnoneeabi\bin\arm-none-eabi-ar.exe: creating libmbed.a
No member named `unity.o'
No member named `unity_handler.o'

and now the build fails with:

Processing * in nanorp2040connect environment
--------------------------------------------------------------------------------------------------------------------------------------------------Building...
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: ERROR: Pico 
second stage bootloader must be 256 bytes in size
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol _entry_point; defaulting to 0000000010000000
c:/users/tornt/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: .pio\build\nanorp2040connect\libFrameworkArduinoVariant.a(double_tap_usb_boot.cpp.o): in function `_GLOBAL__sub_I.00101_dt':
double_tap_usb_boot.cpp:(.text.startup._GLOBAL__sub_I.00101_dt+0x2a): undefined reference to `rom_func_lookup'

...

collect2.exe: error: ld returned 1 exit status
*** [.pio\build\nanorp2040connect\firmware.elf] Error 1
=========================================================== [FAILED] Took 1.25 seconds ===========================================================

Is that something to do with me having a Windows environment perhaps?

@torntrousers
Copy link
Author

torntrousers commented Apr 19, 2022

Actually, previously I think I must have messed up the arm-none-eabi-ar.exe dv libmbed.a unity.o unity_handler.o command, trying that now and the suggestion from https://community.platformio.org/t/cannot-build-tests/22066/2 does get the Unity tests working on the rp2040.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant