summaryrefslogtreecommitdiff
path: root/cmd/sbc_harness/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/sbc_harness/CMakeLists.txt')
-rw-r--r--cmd/sbc_harness/CMakeLists.txt45
1 files changed, 38 insertions, 7 deletions
diff --git a/cmd/sbc_harness/CMakeLists.txt b/cmd/sbc_harness/CMakeLists.txt
index e30101d..6e722d7 100644
--- a/cmd/sbc_harness/CMakeLists.txt
+++ b/cmd/sbc_harness/CMakeLists.txt
@@ -1,6 +1,6 @@
# cmd/sbc_harness/CMakeLists.txt - Build script for main sbc_harness.uf2 firmware file
#
-# Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com>
+# Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
# SPDX-License-Identifier: AGPL-3.0-or-later
if (PICO_PLATFORM STREQUAL "rp2040")
@@ -11,21 +11,41 @@ add_library(sbc_harness_objs OBJECT
main.c
usb_keyboard.c
tusb_log.c
+
+ fs_harness_flash_bin.c
+ fs_harness_uptime_txt.c
)
target_include_directories(sbc_harness_objs PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config)
target_include_directories(sbc_harness_objs PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(sbc_harness_objs PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(sbc_harness_objs
pico_runtime
pico_stdio_uart
hardware_flash
+ hardware_watchdog
libmisc
+ libfmt
libusb
libdhcp
- libhw
+ libhw_cr
+ lib9p_srv
+ lib9p_util
+)
+pico_minimize_runtime(sbc_harness_objs
+ INCLUDE PRINTF PRINTF_MINIMAL PRINTF_LONG_LONG PRINTF_PTRDIFF_T
+)
+target_compile_definitions(sbc_harness_objs PRIVATE
+ #PICO_USE_FASTEST_SUPPORTED_CLOCK=1
+
+ # Calculated by `./3rd-party/pico-sdk/src/rp2_common/hardware_clocks/scripts/vcocalc.py --cmake-only 170`
+ PLL_SYS_REFDIV=2
+ PLL_SYS_VCO_FREQ_HZ=1530000000
+ PLL_SYS_POSTDIV1=3
+ PLL_SYS_POSTDIV2=3
+ SYS_CLK_HZ=170000000
)
-pico_minimize_runtime(sbc_harness_objs)
suppress_tinyusb_warnings()
@@ -36,10 +56,6 @@ add_stack_analysis(sbc_harness_stack.c sbc_harness_objs)
# Link #########################################################################
add_executable(sbc_harness)
-set_source_files_properties("$<TARGET_OBJECTS:sbc_harness_objs>" PROPERTIES
- EXTERNAL_OBJECT true
- GENERATED true
-)
target_sources(sbc_harness PRIVATE
sbc_harness_stack.c
"$<TARGET_OBJECTS:sbc_harness_objs>"
@@ -47,7 +63,22 @@ target_sources(sbc_harness PRIVATE
target_link_libraries(sbc_harness
pico_standard_link
)
+target_link_options(sbc_harness PRIVATE "$<TARGET_PROPERTY:sbc_harness_objs,LINK_OPTIONS>")
pico_add_extra_outputs(sbc_harness) # create .map/.bin/.hex/.uf2 files in addition to .elf
pico_set_program_url(sbc_harness "https://git.lukeshu.com/sbc-harness")
+# Embed ########################################################################
+
+target_embed_sources(sbc_harness_objs sbc_harness static.h
+ static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS.md
+ static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/agpl-3.0.txt
+ static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/pico-sdk.bsd3.txt
+ static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/printf.mit.txt
+ static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/tinyusb.mit.txt
+ static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/newlib.txt
+ static/Documentation/harness_rom_bin.txt
+ static/Documentation/harness_flash_bin.txt
+ static/Documentation/harness_uptime_txt.txt
+)
+
endif()