Skip to content

Commit 5e307d8

Browse files
committed
Give firmwares distinctive names
1 parent a566102 commit 5e307d8

File tree

1 file changed

+41
-32
lines changed

1 file changed

+41
-32
lines changed

CMakeLists.txt

Lines changed: 41 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,44 @@ set(PIN_AUDIO_PWM 41 CACHE STRING "Pin for PWM audio")
7171

7272
# See below, -DMEMSIZE=<size in KB> will configure umac's memory size,
7373
# overriding defaults.
74+
set(MEMSIZE 128 CACHE STRING "Memory size, in KB")
75+
76+
if (USE_HSTX)
77+
add_compile_definitions(USE_VGA_RES=1)
78+
add_compile_definitions(HSTX_CKP=${HSTX_CKP} HSTX_D0P=${HSTX_D0P} HSTX_D1P=${HSTX_D1P} HSTX_D2P=${HSTX_D2P})
79+
set(VIDEO_SRC src/video_hstx.c)
80+
else()
81+
add_compile_definitions(GPIO_VID_BASE=${VIDEO_PIN})
82+
set(VIDEO_SRC src/video_vga.c)
83+
endif()
84+
85+
if (USE_VGA_RES)
86+
add_compile_definitions(USE_VGA_RES=1)
87+
add_compile_definitions(DISP_WIDTH=640)
88+
add_compile_definitions(DISP_HEIGHT=480)
89+
set(RES "640x480")
90+
else()
91+
add_compile_definitions(DISP_WIDTH=512)
92+
add_compile_definitions(DISP_HEIGHT=342)
93+
set(RES "512x342")
94+
endif()
95+
96+
if (USE_PSRAM)
97+
add_compile_definitions(PIN_PSRAM_CS=${PSRAM_CS} USE_PSRAM=1)
98+
set(OPT_PSRAM "-psram")
99+
else()
100+
add_compile_definitions(USE_PSRAM=0)
101+
set(OPT_PSRAM "")
102+
endif()
103+
104+
set(FIRMWARE "pico-mac-${PICO_BOARD}-${MEMSIZE}k-${RES}${OPT_PSRAM}")
105+
74106

75107
# initialize the SDK based on PICO_SDK_PATH
76108
# note: this must happen before project()
77109
include(pico_sdk_import.cmake)
78110

79-
project(firmware)
111+
project(${FIRMWARE})
80112

81113
# initialize the Raspberry Pi Pico SDK
82114
pico_sdk_init()
@@ -103,9 +135,9 @@ set(UMAC_SOURCES
103135
${UMAC_MUSASHI_PATH}/softfloat/softfloat.c
104136
)
105137

106-
set(MEMSIZE 128 CACHE STRING "Memory size, in KB")
107138
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb -g3 -O3 -DPICO -DMUSASHI_CNF=\\\"../include/m68kconf.h\\\" -DUMAC_MEMSIZE=${MEMSIZE}")
108139

140+
109141
if (USE_SD)
110142
add_compile_definitions(USE_SD=1)
111143
set(FF_DISABLE_RTC ${PICO_RP2350}) # RP2350 doesn't have RTC, so disable it
@@ -115,23 +147,6 @@ if (USE_SD)
115147
add_compile_definitions(SD_TX=${SD_TX} SD_RX=${SD_RX} SD_SCK=${SD_SCK} SD_CS=${SD_CS} SD_MHZ=${SD_MHZ})
116148
endif()
117149

118-
if (USE_HSTX)
119-
add_compile_definitions(USE_VGA_RES=1)
120-
add_compile_definitions(HSTX_CKP=${HSTX_CKP} HSTX_D0P=${HSTX_D0P} HSTX_D1P=${HSTX_D1P} HSTX_D2P=${HSTX_D2P})
121-
set(VIDEO_SRC src/video_hstx.c)
122-
else()
123-
add_compile_definitions(GPIO_VID_BASE=${VIDEO_PIN})
124-
set(VIDEO_SRC src/video_vga.c)
125-
endif()
126-
if (USE_VGA_RES)
127-
add_compile_definitions(USE_VGA_RES=1)
128-
add_compile_definitions(DISP_WIDTH=640)
129-
add_compile_definitions(DISP_HEIGHT=480)
130-
else()
131-
add_compile_definitions(DISP_WIDTH=512)
132-
add_compile_definitions(DISP_HEIGHT=342)
133-
endif()
134-
135150
add_compile_definitions(PIN_USB_HOST_DP=${PIN_USB_HOST_DP})
136151
add_compile_definitions(PIN_USB_HOST_DM=${PIN_USB_HOST_DM})
137152
add_compile_definitions(PICO_DEFAULT_PIO_USB_DP_PIN=${PIN_USB_HOST_DP})
@@ -147,12 +162,6 @@ if (NOT UART_RX STREQUAL "")
147162
add_compile_definitions(PICO_DEFAULT_UART_RX_PIN=${UART_RX})
148163
endif()
149164

150-
if (USE_PSRAM)
151-
add_compile_definitions(PIN_PSRAM_CS=${PSRAM_CS} USE_PSRAM=1)
152-
else()
153-
add_compile_definitions(USE_PSRAM=0)
154-
endif()
155-
156165
if (USE_AUDIO)
157166
add_subdirectory(external/pico-extras/src/rp2_common/pico_audio_i2s)
158167
add_subdirectory(external/pico-extras/src/common/pico_audio)
@@ -162,7 +171,7 @@ if (USE_AUDIO)
162171
endif()
163172

164173
if (TARGET tinyusb_device)
165-
add_executable(firmware
174+
add_executable(${FIRMWARE}
166175
src/main.c
167176
${VIDEO_SRC}
168177
src/kbd.c
@@ -185,9 +194,9 @@ if (TARGET tinyusb_device)
185194
add_custom_target(prepare_umac
186195
DEPENDS ${UMAC_MUSASHI_PATH}/m68kops.c
187196
)
188-
add_dependencies(firmware prepare_umac)
197+
add_dependencies(${FIRMWARE} prepare_umac)
189198

190-
target_link_libraries(firmware
199+
target_link_libraries(${FIRMWARE}
191200
pico_stdlib
192201
pico_multicore
193202
tinyusb_host
@@ -199,7 +208,7 @@ if (TARGET tinyusb_device)
199208
${EXTRA_AUDIO_LIB}
200209
)
201210

202-
target_include_directories(firmware PRIVATE
211+
target_include_directories(${FIRMWARE} PRIVATE
203212
${CMAKE_CURRENT_LIST_DIR}/include
204213
${PICO_TINYUSB_PATH}/hw
205214
${PICO_TINYUSB_PATH}/src
@@ -210,13 +219,13 @@ if (TARGET tinyusb_device)
210219
)
211220

212221
if (NOT USE_HSTX)
213-
pico_generate_pio_header(firmware ${CMAKE_CURRENT_LIST_DIR}/src/pio_video.pio)
222+
pico_generate_pio_header(${FIRMWARE} ${CMAKE_CURRENT_LIST_DIR}/src/pio_video.pio)
214223
endif()
215224

216-
pico_enable_stdio_uart(firmware 1)
225+
pico_enable_stdio_uart(${FIRMWARE} 1)
217226

218227
# Needed for UF2:
219-
pico_add_extra_outputs(firmware)
228+
pico_add_extra_outputs(${FIRMWARE})
220229

221230
elseif(PICO_ON_DEVICE)
222231
message(WARNING "not building firmware because TinyUSB submodule is not initialized in the SDK")

0 commit comments

Comments
 (0)