cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(spi_project )
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(spi_master
spi_master.c
)
pico_enable_stdio_usb(spi 1)
# Pull in basic dependencies
target_link_libraries(spi_master pico_stdlib hardware_spi)
I changed the above CMakeLists to:
cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(spi_master )
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(spi_master
spi_master.c
)
pico_enable_stdio_usb(spi 1)
# Pull in basic dependencies
target_link_libraries(spi_master pico_stdlib hardware_spi)
# create map/bin/hex file etc.
pico_add_extra_outputs(spi_master)
# add url via pico_set_program_url
example_auto_set_url(spi_master)
and still get:
mike@thorin:~/pico/test/build$ make
[ 2%] Built target bs2_default
[ 5%] Built target bs2_default_library
[ 6%] Building C object CMakeFiles/test.dir/main.c.o
/home/mike/pico/test/main.c:37:13: error: conflicting types for 'spi_init'; have 'uint(spi_inst_t *, uint)' {aka 'unsigned int(struct spi_inst *, unsigned int)'}
37 | extern uint spi_init(spi_inst_t *spi, uint baudrate);
| ^~~~~~~~
In file included from /home/mike/pico/test/main.c:29:
/home/mike/pico/test/xspi.h:178:10: note: previous declaration of 'spi_init' with type 'uint16_t(spi_inst_t *, uint16_t)' {aka 'short unsigned int(struct spi_inst *, short unsigned int)'}
178 | uint16_t spi_init(spi_inst_t *spi, uint16_t baudrate);
| ^~~~~~~~
make[2]: *** [CMakeFiles/test.dir/build.make:76: CMakeFiles/test.dir/main.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2
CMakeFiles/test.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
include(pico_sdk_import.cmake)
project(spi_project )
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(spi_master
spi_master.c
)
pico_enable_stdio_usb(spi 1)
# Pull in basic dependencies
target_link_libraries(spi_master pico_stdlib hardware_spi)
I changed the above CMakeLists to:
cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(spi_master )
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(spi_master
spi_master.c
)
pico_enable_stdio_usb(spi 1)
# Pull in basic dependencies
target_link_libraries(spi_master pico_stdlib hardware_spi)
# create map/bin/hex file etc.
pico_add_extra_outputs(spi_master)
# add url via pico_set_program_url
example_auto_set_url(spi_master)
and still get:
mike@thorin:~/pico/test/build$ make
[ 2%] Built target bs2_default
[ 5%] Built target bs2_default_library
[ 6%] Building C object CMakeFiles/test.dir/main.c.o
/home/mike/pico/test/main.c:37:13: error: conflicting types for 'spi_init'; have 'uint(spi_inst_t *, uint)' {aka 'unsigned int(struct spi_inst *, unsigned int)'}
37 | extern uint spi_init(spi_inst_t *spi, uint baudrate);
| ^~~~~~~~
In file included from /home/mike/pico/test/main.c:29:
/home/mike/pico/test/xspi.h:178:10: note: previous declaration of 'spi_init' with type 'uint16_t(spi_inst_t *, uint16_t)' {aka 'short unsigned int(struct spi_inst *, short unsigned int)'}
178 | uint16_t spi_init(spi_inst_t *spi, uint16_t baudrate);
| ^~~~~~~~
make[2]: *** [CMakeFiles/test.dir/build.make:76: CMakeFiles/test.dir/main.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2
make: *** [Makefile:91: all] Error 2
Statistics: Posted by MikeD2 — Sat May 10, 2025 6:42 pm