@@ -33,11 +33,11 @@ INC_CYW43 := \
33
33
-isystem lib/cyw43-driver/firmware \
34
34
-isystem lib/cyw43-driver/src \
35
35
-isystem lib/lwip/src/include \
36
- -isystem sdk/src/rp2_common/pico_async_context/include/ \
36
+ -isystem sdk/src/rp2_common/pico_async_context/include/ \
37
37
-isystem sdk/src/rp2_common/pico_cyw43_arch/include/ \
38
38
-isystem sdk/src/rp2_common/pico_cyw43_driver/include/ \
39
39
-isystem sdk/src/rp2_common/pico_lwip/include/ \
40
- -isystem sdk/src/rp2_common/pico_rand/include/ \
40
+ -isystem sdk/src/rp2_common/pico_rand/include/ \
41
41
42
42
CFLAGS_CYW43 := -DCYW43_LWIP=1 -DPICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1 -DCYW43_USE_SPI -DIGNORE_GPIO25 -DIGNORE_GPIO23 -DIGNORE_GPIO24 -DCYW43_LOGIC_DEBUG=0 -DCYW43_NETUTILS=1
43
43
SRC_SDK_CYW43 := \
@@ -105,6 +105,7 @@ INC += \
105
105
-isystem sdk/src/common/pico_util/include/ \
106
106
-isystem sdk/src/rp2040/hardware_regs/include/ \
107
107
-isystem sdk/src/rp2040/hardware_structs/include/ \
108
+ -isystem sdk/src/rp2_common/cmsis/ \
108
109
-isystem sdk/src/rp2_common/hardware_adc/include/ \
109
110
-isystem sdk/src/rp2_common/hardware_base/include/ \
110
111
-isystem sdk/src/rp2_common/hardware_claim/include/ \
@@ -113,16 +114,19 @@ INC += \
113
114
-isystem sdk/src/rp2_common/hardware_dma/include/ \
114
115
-isystem sdk/src/rp2_common/hardware_flash/include/ \
115
116
-isystem sdk/src/rp2_common/hardware_gpio/include/ \
117
+ -isystem sdk/src/rp2_common/hardware_interp/include/ \
116
118
-isystem sdk/src/rp2_common/hardware_irq/include/ \
117
119
-isystem sdk/src/rp2_common/hardware_i2c/include/ \
118
120
-isystem sdk/src/rp2_common/hardware_pio/include/ \
119
121
-isystem sdk/src/rp2_common/hardware_pll/include/ \
122
+ -isystem sdk/src/rp2_common/hardware_pwm/include/ \
120
123
-isystem sdk/src/rp2_common/hardware_resets/include/ \
121
124
-isystem sdk/src/rp2_common/hardware_rtc/include/ \
122
125
-isystem sdk/src/rp2_common/hardware_spi/include/ \
123
126
-isystem sdk/src/rp2_common/hardware_sync/include/ \
124
127
-isystem sdk/src/rp2_common/hardware_timer/include/ \
125
128
-isystem sdk/src/rp2_common/hardware_uart/include/ \
129
+ -isystem sdk/src/rp2_common/hardware_vreg/include/ \
126
130
-isystem sdk/src/rp2_common/hardware_watchdog/include/ \
127
131
-isystem sdk/src/rp2_common/hardware_xosc/include/ \
128
132
-isystem sdk/src/rp2_common/pico_multicore/include/ \
@@ -131,7 +135,7 @@ INC += \
131
135
-isystem sdk/src/rp2_common/pico_printf/include/ \
132
136
-isystem sdk/src/rp2_common/pico_float/include/ \
133
137
-isystem sdk/src/rp2_common/pico_platform/include/ \
134
- -isystem sdk/src/rp2_common/pico_runtime/printf/ include/ \
138
+ -isystem sdk/src/rp2_common/pico_runtime/include/ \
135
139
-isystem sdk/src/rp2_common/pico_bootrom/include/ \
136
140
-isystem sdk/src/rp2_common/pico_unique_id/include/ \
137
141
$(INC_CYW43 ) \
@@ -141,7 +145,7 @@ INC += \
141
145
-I$(BUILD )
142
146
143
147
# Pico specific configuration
144
- CFLAGS += -DRASPBERRYPI -DPICO_ON_DEVICE=1 -DPICO_NO_BINARY_INFO=0 -DPICO_TIME_DEFAULT_ALARM_POOL_DISABLED=0 -DPICO_DIVIDER_CALL_IDIV0=0 -DPICO_DIVIDER_CALL_LDIV0=0 -DPICO_DIVIDER_HARDWARE=1 -DPICO_DOUBLE_ROM=1 -DPICO_FLOAT_ROM=1 -DPICO_MULTICORE=1 -DPICO_BITS_IN_RAM=0 -DPICO_DIVIDER_IN_RAM=0 -DPICO_DOUBLE_PROPAGATE_NANS=0 -DPICO_DOUBLE_IN_RAM=0 -DPICO_MEM_IN_RAM=0 -DPICO_FLOAT_IN_RAM=0 -DPICO_FLOAT_PROPAGATE_NANS=1 -DPICO_NO_FLASH=0 -DPICO_COPY_TO_RAM=0 -DPICO_DISABLE_SHARED_IRQ_HANDLERS=0 -DPICO_NO_BI_BOOTSEL_VIA_DOUBLE_RESET=0
148
+ CFLAGS += -DRASPBERRYPI -DPICO_ON_DEVICE=1 -DPICO_NO_BINARY_INFO=0 -DPICO_TIME_DEFAULT_ALARM_POOL_DISABLED=0 -DPICO_DIVIDER_CALL_IDIV0=0 -DPICO_DIVIDER_CALL_LDIV0=0 -DPICO_DIVIDER_HARDWARE=1 -DPICO_DOUBLE_ROM=1 -DPICO_FLOAT_ROM=1 -DPICO_MULTICORE=1 -DPICO_BITS_IN_RAM=0 -DPICO_DIVIDER_IN_RAM=0 -DPICO_DOUBLE_PROPAGATE_NANS=0 -DPICO_DOUBLE_IN_RAM=0 -DPICO_MEM_IN_RAM=0 -DPICO_FLOAT_IN_RAM=0 -DPICO_FLOAT_PROPAGATE_NANS=1 -DPICO_NO_FLASH=0 -DPICO_COPY_TO_RAM=0 -DPICO_DISABLE_SHARED_IRQ_HANDLERS=0 -DPICO_NO_BI_BOOTSEL_VIA_DOUBLE_RESET=0 -DDVI_1BPP_BIT_REVERSE=0
145
149
OPTIMIZATION_FLAGS ?= -O3
146
150
# TinyUSB defines
147
151
CFLAGS += -DTUD_OPT_RP2040_USB_DEVICE_ENUMERATION_FIX=1 -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
@@ -172,8 +176,8 @@ DISABLE_WARNINGS = -Wno-stringop-overflow -Wno-cast-align
172
176
CFLAGS += $(INC ) -Wall -Werror -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS ) $(CFLAGS_MOD ) $(COPT ) $(DISABLE_WARNINGS ) -Werror=missing-prototypes
173
177
174
178
CFLAGS += \
175
- -march=armv6-m \
176
- -mthumb \
179
+ -march=armv6-m \
180
+ -mthumb \
177
181
-mabi=aapcs-linux \
178
182
-mcpu=cortex-m0plus \
179
183
-msoft-float \
@@ -195,13 +199,15 @@ SRC_SDK := \
195
199
src/common/pico_time/time.c \
196
200
src/common/pico_time/timeout_helper.c \
197
201
src/common/pico_util/pheap.c \
202
+ src/common/pico_util/queue.c \
198
203
src/rp2_common/hardware_adc/adc.c \
199
204
src/rp2_common/hardware_claim/claim.c \
200
205
src/rp2_common/hardware_clocks/clocks.c \
201
206
src/rp2_common/hardware_dma/dma.c \
202
207
src/rp2_common/hardware_flash/flash.c \
203
208
src/rp2_common/hardware_gpio/gpio.c \
204
209
src/rp2_common/hardware_i2c/i2c.c \
210
+ src/rp2_common/hardware_interp/interp.c \
205
211
src/rp2_common/hardware_irq/irq.c \
206
212
src/rp2_common/hardware_pio/pio.c \
207
213
src/rp2_common/hardware_pll/pll.c \
@@ -210,6 +216,7 @@ SRC_SDK := \
210
216
src/rp2_common/hardware_sync/sync.c \
211
217
src/rp2_common/hardware_timer/timer.c \
212
218
src/rp2_common/hardware_uart/uart.c \
219
+ src/rp2_common/hardware_vreg/vreg.c \
213
220
src/rp2_common/hardware_watchdog/watchdog.c \
214
221
src/rp2_common/hardware_xosc/xosc.c \
215
222
src/rp2_common/pico_bootrom/bootrom.c \
@@ -223,6 +230,7 @@ SRC_SDK := \
223
230
src/rp2_common/pico_printf/printf.c \
224
231
src/rp2_common/pico_runtime/runtime.c \
225
232
src/rp2_common/pico_stdio/stdio.c \
233
+ src/rp2_common/pico_stdlib/stdlib.c \
226
234
src/rp2_common/pico_unique_id/unique_id.c \
227
235
$(SRC_SDK_CYW43 ) \
228
236
@@ -240,12 +248,24 @@ SRC_C += \
240
248
background.c \
241
249
peripherals/pins.c \
242
250
lib/crypto-algorithms/sha256.c \
251
+ lib/PicoDVI/software/libdvi/dvi.c \
252
+ lib/PicoDVI/software/libdvi/dvi_serialiser.c \
253
+ lib/PicoDVI/software/libdvi/dvi_timing.c \
254
+ lib/PicoDVI/software/libdvi/tmds_encode.c \
243
255
lib/tinyusb/src/portable/raspberrypi/rp2040/dcd_rp2040.c \
244
256
lib/tinyusb/src/portable/raspberrypi/rp2040/rp2040_usb.c \
245
257
mphalport.c \
246
258
$(SRC_CYW43 ) \
247
259
$(SRC_LWIP ) \
248
260
261
+ ifeq ($(CIRCUITPY_PICODVI ) ,1)
262
+ SRC_C += \
263
+ bindings/picodvi/__init__.c \
264
+ bindings/picodvi/Framebuffer.c \
265
+ common-hal/picodvi/Framebuffer.c \
266
+
267
+ endif
268
+
249
269
ifeq ($(CIRCUITPY_SSL ) ,1)
250
270
CFLAGS += -isystem $(TOP ) /mbedtls/include
251
271
SRC_MBEDTLS := $(addprefix lib/mbedtls/library/, \
@@ -359,6 +379,7 @@ SRC_S_UPPER = sdk/src/rp2_common/hardware_divider/divider.S \
359
379
sdk/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S \
360
380
sdk/src/rp2_common/pico_mem_ops/mem_ops_aeabi.S \
361
381
sdk/src/rp2_common/pico_standard_link/crt0.S \
382
+ lib/PicoDVI/software/libdvi/tmds_encode_asm.S \
362
383
363
384
OBJ = $(PY_O ) $(SUPERVISOR_O ) $(addprefix $(BUILD ) /, $(SRC_C:.c=.o ) )
364
385
OBJ += $(addprefix $(BUILD ) /, $(SRC_SDK:.c=.o ) )
@@ -405,13 +426,19 @@ SRC_QSTR += $(SRC_C) $(SRC_SUPERVISOR) $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_M
405
426
406
427
all : $(BUILD ) /firmware.uf2
407
428
408
- LINK_LD := $(firstword $(wildcard boards/$(BOARD ) /link.ld link.ld) )
409
- $(BUILD ) /firmware.elf : $(OBJ ) $(LINK_LD )
429
+ BOARD_LD := $(wildcard boards/$(BOARD ) /link.ld)
430
+
431
+ ifneq ($(BOARD_LD ) ,)
432
+ LINKER_SCRIPTS = -Wl,-T,$(BOARD_LD)
433
+ endif
434
+
435
+ LINKER_SCRIPTS += -Wl,-T,link.ld
436
+
437
+ $(BUILD ) /firmware.elf : $(OBJ ) $(BOARD_LD ) link.ld
410
438
$(STEPECHO ) " LINK $@ "
411
439
$(Q ) echo $(OBJ ) > $(BUILD ) /firmware.objs
412
440
$(Q ) echo $(PICO_LDFLAGS ) > $(BUILD ) /firmware.ldflags
413
- $(Q )$(CC ) -o $@ $(CFLAGS ) @$(BUILD ) /firmware.ldflags -Wl,-T,$(LINK_LD ) -Wl,-Map=$@ .map -Wl,-cref -Wl,--gc-sections @$(BUILD ) /firmware.objs -Wl,-lc
414
- $(Q )$(SIZE ) $@ | $(PYTHON ) $(TOP ) /tools/build_memory_info.py $(LINK_LD ) $(BUILD )
441
+ $(Q )$(CC ) -o $@ $(CFLAGS ) @$(BUILD ) /firmware.ldflags $(LINKER_SCRIPTS ) -Wl,--print-memory-usage -Wl,-Map=$@ .map -Wl,-cref -Wl,--gc-sections @$(BUILD ) /firmware.objs -Wl,-lc
415
442
416
443
$(BUILD ) /firmware.bin : $(BUILD ) /firmware.elf
417
444
$(STEPECHO ) " Create $@ "
0 commit comments