@@ -25,11 +25,11 @@ set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_LIST_DIR}/cmake/toolchain/arm_${TOOLCHA
2525
2626project (Adafruit_nRF52_Bootloader C ASM)
2727
28- set (NRFX ${CMAKE_CURRENT_LIST_DIR} /lib/nrfx)
29- set (SDK11 ${CMAKE_CURRENT_LIST_DIR} /lib/sdk11/components)
30- set (SDK ${CMAKE_CURRENT_LIST_DIR} /lib/sdk/components)
31- set (SOFTDEVICE ${CMAKE_CURRENT_LIST_DIR} /lib/softdevice)
32- set (TUSB ${CMAKE_CURRENT_LIST_DIR} /lib/tinyusb/src)
28+ set (NRFX_DIR ${CMAKE_CURRENT_LIST_DIR} /lib/nrfx)
29+ set (SDK11_DIR ${CMAKE_CURRENT_LIST_DIR} /lib/sdk11/components)
30+ set (SDK_DIR ${CMAKE_CURRENT_LIST_DIR} /lib/sdk/components)
31+ set (SOFTDEVICE_DIR ${CMAKE_CURRENT_LIST_DIR} /lib/softdevice)
32+ set (TINYUSB_DIR ${CMAKE_CURRENT_LIST_DIR} /lib/tinyusb/src)
3333
3434set (UF2CONV_PY ${CMAKE_CURRENT_LIST_DIR} /lib/uf2/utils/uf2conv.py)
3535set (UF2_FAMILY_ID_BOOTLOADER 0xd663823c)
@@ -42,10 +42,14 @@ add_executable(bootloader)
4242
4343# SD_VERSION can be overwritten by board.cmake
4444if (NOT DEFINED SD_VERSION)
45- set (SD_VERSION 6.1.1)
45+ if (MCU_VARIANT STREQUAL "nrf52833" )
46+ set (SD_VERSION 7.3.0)
47+ else ()
48+ set (SD_VERSION 6.1.1)
49+ endif ()
4650endif ()
4751
48- set (MBR_HEX ${SOFTDEVICE } /mbr/hex/mbr_nrf52_2.4.1_mbr.hex)
52+ set (MBR_HEX ${SOFTDEVICE_DIR } /mbr/hex/mbr_nrf52_2.4.1_mbr.hex)
4953
5054target_sources (bootloader PUBLIC
5155 # src
@@ -57,63 +61,63 @@ target_sources(bootloader PUBLIC
5761 src/images.c
5862 src/boards/boards.c
5963 # nrfx
60- ${NRFX } /drivers/src/nrfx_power.c
61- ${NRFX } /drivers/src/nrfx_nvmc.c
62- ${NRFX } /mdk/system_${MCU_VARIANT} .c
64+ ${NRFX_DIR } /drivers/src/nrfx_power.c
65+ ${NRFX_DIR } /drivers/src/nrfx_nvmc.c
66+ ${NRFX_DIR } /mdk/system_${MCU_VARIANT} .c
6367 # sdk 11
64- ${SDK11 } /libraries/bootloader_dfu/bootloader.c
65- ${SDK11 } /libraries/bootloader_dfu/bootloader_settings.c
66- ${SDK11 } /libraries/bootloader_dfu/bootloader_util.c
67- ${SDK11 } /libraries/bootloader_dfu/dfu_transport_serial.c
68- ${SDK11 } /libraries/bootloader_dfu/dfu_transport_ble.c
69- ${SDK11 } /libraries/bootloader_dfu/dfu_single_bank.c
70- ${SDK11 } /ble/ble_services/ble_dfu/ble_dfu.c
71- ${SDK11 } /ble/ble_services/ble_dis/ble_dis.c
72- ${SDK11 } /drivers_nrf/pstorage/pstorage_raw.c
68+ ${SDK11_DIR } /libraries/bootloader_dfu/bootloader.c
69+ ${SDK11_DIR } /libraries/bootloader_dfu/bootloader_settings.c
70+ ${SDK11_DIR } /libraries/bootloader_dfu/bootloader_util.c
71+ ${SDK11_DIR } /libraries/bootloader_dfu/dfu_transport_serial.c
72+ ${SDK11_DIR } /libraries/bootloader_dfu/dfu_transport_ble.c
73+ ${SDK11_DIR } /libraries/bootloader_dfu/dfu_single_bank.c
74+ ${SDK11_DIR } /ble/ble_services/ble_dfu/ble_dfu.c
75+ ${SDK11_DIR } /ble/ble_services/ble_dis/ble_dis.c
76+ ${SDK11_DIR } /drivers_nrf/pstorage/pstorage_raw.c
7377 # latest sdk
74- ${SDK } /libraries/timer/app_timer.c
75- ${SDK } /libraries/scheduler/app_scheduler.c
76- ${SDK } /libraries/util/app_error.c
77- ${SDK } /libraries/util/app_util_platform.c
78- ${SDK } /libraries/crc16/crc16.c
79- ${SDK } /libraries/hci/hci_mem_pool.c
80- ${SDK } /libraries/hci/hci_slip.c
81- ${SDK } /libraries/hci/hci_transport.c
82- ${SDK } /libraries/util/nrf_assert.c
78+ ${SDK_DIR } /libraries/timer/app_timer.c
79+ ${SDK_DIR } /libraries/scheduler/app_scheduler.c
80+ ${SDK_DIR } /libraries/util/app_error.c
81+ ${SDK_DIR } /libraries/util/app_util_platform.c
82+ ${SDK_DIR } /libraries/crc16/crc16.c
83+ ${SDK_DIR } /libraries/hci/hci_mem_pool.c
84+ ${SDK_DIR } /libraries/hci/hci_slip.c
85+ ${SDK_DIR } /libraries/hci/hci_transport.c
86+ ${SDK_DIR } /libraries/util/nrf_assert.c
8387 # ASM
84- ${NRFX } /mdk/gcc_startup_${MCU_VARIANT} .S
88+ ${NRFX_DIR } /mdk/gcc_startup_${MCU_VARIANT} .S
8589 )
8690target_include_directories (bootloader PUBLIC
8791 src
8892 src/boards
8993 src/boards/${BOARD}
9094 src/cmsis/include
9195 src/usb
92- ${TUSB }
96+ ${TINYUSB_DIR }
9397 # nrfx
94- ${NRFX }
95- ${NRFX } /mdk
96- ${NRFX } /hal
97- ${NRFX } /drivers/include
98- ${NRFX } /drivers/src
98+ ${NRFX_DIR }
99+ ${NRFX_DIR } /mdk
100+ ${NRFX_DIR } /hal
101+ ${NRFX_DIR } /drivers/include
102+ ${NRFX_DIR } /drivers/src
99103 # sdk 11 for cdc/ble dfu
100- ${SDK11 } /libraries/bootloader_dfu
101- ${SDK11 } /libraries/bootloader_dfu/hci_transport
102- ${SDK11 } /drivers_nrf/pstorage
103- ${SDK11 } /ble/common
104- ${SDK11 } /ble/ble_services/ble_dfu
105- ${SDK11 } /ble/ble_services/ble_dis
104+ ${SDK11_DIR } /libraries/bootloader_dfu
105+ ${SDK11_DIR } /libraries/bootloader_dfu/hci_transport
106+ ${SDK11_DIR } /drivers_nrf/pstorage
107+ ${SDK11_DIR } /ble/common
108+ ${SDK11_DIR } /ble/ble_services/ble_dfu
109+ ${SDK11_DIR } /ble/ble_services/ble_dis
106110 # later sdk with updated drivers
107- ${SDK } /libraries/timer
108- ${SDK } /libraries/scheduler
109- ${SDK } /libraries/crc16
110- ${SDK } /libraries/util
111- ${SDK } /libraries/hci/config
112- ${SDK } /libraries/hci
113- ${SDK } /libraries/uart
114- ${SDK } /drivers_nrf/delay
111+ ${SDK_DIR } /libraries/timer
112+ ${SDK_DIR } /libraries/scheduler
113+ ${SDK_DIR } /libraries/crc16
114+ ${SDK_DIR } /libraries/util
115+ ${SDK_DIR } /libraries/hci/config
116+ ${SDK_DIR } /libraries/hci
117+ ${SDK_DIR } /libraries/uart
118+ ${SDK_DIR } /drivers_nrf/delay
115119 # Softdevice
116- ${SOFTDEVICE } /mbr/headers
120+ ${SOFTDEVICE_DIR } /mbr/headers
117121 )
118122
119123# Debug option
@@ -145,7 +149,7 @@ endif ()
145149
146150target_link_options (bootloader PUBLIC
147151 "LINKER:--script=${LD_FILE} "
148- -L${NRFX } /mdk
152+ -L${NRFX_DIR } /mdk
149153 --specs=nosys.specs --specs=nano.specs
150154 )
151155target_compile_options (bootloader PUBLIC
@@ -181,14 +185,14 @@ endif ()
181185if (MCU_VARIANT STREQUAL "nrf52" )
182186 # UART transport
183187 target_sources (bootloader PUBLIC
184- ${SDK } /libraries/uart/app_uart.c
185- ${SDK } /drivers_nrf/uart/nrf_drv_uart.c
186- ${SDK } /drivers_nrf/common/nrf_drv_common.c
188+ ${SDK_DIR } /libraries/uart/app_uart.c
189+ ${SDK_DIR } /drivers_nrf/uart/nrf_drv_uart.c
190+ ${SDK_DIR } /drivers_nrf/common/nrf_drv_common.c
187191 )
188192 target_include_directories (bootloader PUBLIC
189- ${SDK11 } /libraries/util
190- ${SDK } /drivers_nrf/common
191- ${SDK } /drivers_nrf/uart
193+ ${SDK11_DIR } /libraries/util
194+ ${SDK_DIR } /drivers_nrf/common
195+ ${SDK_DIR } /drivers_nrf/uart
192196 )
193197else ()
194198 # USB transport
@@ -199,13 +203,13 @@ else ()
199203 src/usb/usb_desc.c
200204 src/usb/uf2/ghostfat.c
201205 # TinyUSB
202- ${TUSB } /portable/nordic/nrf5x/dcd_nrf5x.c
203- ${TUSB } /common/tusb_fifo.c
204- ${TUSB } /device/usbd.c
205- ${TUSB } /device/usbd_control.c
206- ${TUSB } /class/cdc/cdc_device.c
207- ${TUSB } /class/msc/msc_device.c
208- ${TUSB } /tusb.c
206+ ${TINYUSB_DIR } /portable/nordic/nrf5x/dcd_nrf5x.c
207+ ${TINYUSB_DIR } /common/tusb_fifo.c
208+ ${TINYUSB_DIR } /device/usbd.c
209+ ${TINYUSB_DIR } /device/usbd_control.c
210+ ${TINYUSB_DIR } /class/cdc/cdc_device.c
211+ ${TINYUSB_DIR } /class/msc/msc_device.c
212+ ${TINYUSB_DIR } /tusb.c
209213 )
210214endif ()
211215
@@ -222,10 +226,6 @@ if (MCU_VARIANT STREQUAL "nrf52")
222226 NRF52832_XXAA
223227 S132
224228 )
225- target_include_directories (bootloader PUBLIC
226- ${SOFTDEVICE} /s132_nrf52_6.1.1/s132_nrf52_6.1.1_API/include
227- )
228-
229229elseif (MCU_VARIANT STREQUAL "nrf52833" )
230230 set (SD_NAME s140)
231231 set (DFU_DEV_REV 52833)
@@ -234,10 +234,6 @@ elseif (MCU_VARIANT STREQUAL "nrf52833")
234234 NRF52833_XXAA
235235 S140
236236 )
237- target_include_directories (bootloader PUBLIC
238- ${SOFTDEVICE} /s140_nrf52_6.1.1/s140_nrf52_6.1.1_API/include
239- )
240-
241237elseif (MCU_VARIANT STREQUAL "nrf52840" )
242238 set (SD_NAME s140)
243239 set (DFU_DEV_REV 52840)
@@ -247,16 +243,16 @@ elseif (MCU_VARIANT STREQUAL "nrf52840")
247243 NRF52840_XXAA
248244 S140
249245 )
250- target_include_directories (bootloader PUBLIC
251- ${SOFTDEVICE} /s140_nrf52_6.1.1/s140_nrf52_6.1.1_API/include
252- )
253-
254246else ()
255247 message (FATAL_ERROR "MCU_VARIANT ${MCU_VARIANT} is unknown" )
256248endif ()
257249
258250set (SD_FILENAME ${SD_NAME} _nrf52_${SD_VERSION} )
259- set (SD_HEX ${SOFTDEVICE} /${SD_FILENAME} /${SD_FILENAME} _softdevice.hex)
251+ set (SD_HEX ${SOFTDEVICE_DIR} /${SD_FILENAME} /${SD_FILENAME} _softdevice.hex)
252+
253+ target_include_directories (bootloader PUBLIC
254+ ${SOFTDEVICE_DIR} /${SD_FILENAME} /${SD_FILENAME} _API/include
255+ )
260256
261257if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
262258 target_compile_definitions (bootloader PUBLIC DFU_APP_DATA_RESERVED=${DFU_APP_DATA_RESERVED} )
0 commit comments