Skip to content

Commit 0d4f945

Browse files
authored
Merge pull request #2962 from hathach/zephyr-support
Initial Zephyr support
2 parents 37e6f49 + 882cb14 commit 0d4f945

File tree

141 files changed

+825
-685
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+825
-685
lines changed

.github/workflows/build.yml

+21
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,24 @@ jobs:
137137

138138
- name: Build
139139
run: python3 tools/build.py --one-per-family --toolchain iar $BUILD_ARGS
140+
141+
# ---------------------------------------
142+
# Zephyr
143+
# ---------------------------------------
144+
zephyr:
145+
if: github.event_name == 'push'
146+
runs-on: ubuntu-latest
147+
steps:
148+
- name: Checkout TinyUSB
149+
uses: actions/checkout@v4
150+
151+
- name: Setup Zephyr project
152+
uses: zephyrproject-rtos/action-zephyr-setup@v1
153+
with:
154+
app-path: examples
155+
toolchains: arm-zephyr-eabi
156+
157+
- name: Build
158+
run: |
159+
west build -b pca10056 -d examples/device/cdc_msc/build examples/device/cdc_msc -- -DRTOS=zephyr
160+
west build -b pca10056 -d examples/device/msc_dual_lun/build examples/device/msc_dual_lun -- -DRTOS=zephyr

.idea/cmake.xml

+4-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
#set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
44
include(${CMAKE_CURRENT_SOURCE_DIR}/../hw/bsp/family_support.cmake)

examples/build_system/cmake/toolchain/arm_gcc.cmake

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
if (RTOS STREQUAL zephyr)
2+
return()
3+
endif ()
4+
15
if (NOT DEFINED CMAKE_C_COMPILER)
26
set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
37
endif ()

examples/build_system/cmake/toolchain/common.cmake

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ include(CMakePrintHelpers)
44
# Common
55
# ----------------------------------------------------------------------------
66
set(CMAKE_SYSTEM_NAME Generic)
7+
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_CPU})
78
set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
89

910
# Look for includes and libraries only in the target system prefix.
@@ -13,8 +14,8 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
1314
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
1415

1516
# pass TOOLCHAIN_CPU to
16-
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_SYSTEM_PROCESSOR)
17-
include(${CMAKE_CURRENT_LIST_DIR}/../cpu/${CMAKE_SYSTEM_PROCESSOR}.cmake)
17+
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_CPU)
18+
include(${CMAKE_CURRENT_LIST_DIR}/../cpu/${CMAKE_SYSTEM_CPU}.cmake)
1819

1920
# ----------------------------------------------------------------------------
2021
# Compile flags

examples/device/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../hw/bsp/family_support.cmake)
44

examples/device/audio_4_channel_mic/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/audio_4_channel_mic_freertos/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/audio_test/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/audio_test_freertos/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/audio_test_multi_rate/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/board_test/CMakeLists.txt

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

@@ -15,18 +15,23 @@ if(FAMILY STREQUAL "espressif")
1515
return()
1616
endif()
1717

18-
add_executable(${PROJECT})
18+
if (RTOS STREQUAL zephyr)
19+
set(EXE_NAME app)
20+
else()
21+
set(EXE_NAME ${PROJECT})
22+
add_executable(${EXE_NAME})
23+
endif()
1924

2025
# Example source
21-
target_sources(${PROJECT} PUBLIC
26+
target_sources(${EXE_NAME} PRIVATE
2227
${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
2328
)
2429

2530
# Example include
26-
target_include_directories(${PROJECT} PUBLIC
31+
target_include_directories(${EXE_NAME} PUBLIC
2732
${CMAKE_CURRENT_SOURCE_DIR}/src
2833
)
2934

3035
# Configure compilation flags and libraries for the example without RTOS.
3136
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
32-
family_configure_device_example(${PROJECT} noos)
37+
family_configure_device_example(${EXE_NAME} ${RTOS})

examples/device/cdc_dual_ports/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/cdc_msc/CMakeLists.txt

+12-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22
#set_property(GLOBAL PROPERTY USE_FOLDERS ON)
33

44
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
@@ -16,20 +16,25 @@ if(FAMILY STREQUAL "espressif")
1616
return()
1717
endif()
1818

19-
add_executable(${PROJECT})
19+
if (RTOS STREQUAL zephyr)
20+
set(EXE_NAME app)
21+
else()
22+
set(EXE_NAME ${PROJECT})
23+
add_executable(${EXE_NAME})
24+
endif()
2025

2126
# Example source
22-
target_sources(${PROJECT} PUBLIC
27+
target_sources(${EXE_NAME} PRIVATE
2328
${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
2429
${CMAKE_CURRENT_SOURCE_DIR}/src/msc_disk.c
2530
${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
2631
)
2732

2833
# Example include
29-
target_include_directories(${PROJECT} PUBLIC
34+
target_include_directories(${EXE_NAME} PUBLIC
3035
${CMAKE_CURRENT_SOURCE_DIR}/src
3136
)
3237

33-
# Configure compilation flags and libraries for the example... see the corresponding function
34-
# in hw/bsp/FAMILY/family.cmake for details.
35-
family_configure_device_example(${PROJECT} noos)
38+
# Configure compilation flags and libraries for the example without RTOS.
39+
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
40+
family_configure_device_example(${EXE_NAME} ${RTOS})

examples/device/cdc_msc/prj.conf

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CONFIG_GPIO=y
2+
CONFIG_FPU=y
3+
CONFIG_NO_OPTIMIZATIONS=y
4+
CONFIG_UART_INTERRUPT_DRIVEN=y
5+
CONFIG_NRFX_POWER=y
6+
CONFIG_NRFX_UARTE0=y

examples/device/cdc_msc_freertos/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/cdc_uac2/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/dfu/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/dfu_runtime/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/dynamic_configuration/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/hid_boot_interface/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/hid_composite/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/hid_composite_freertos/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/hid_generic_inout/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/hid_multiple_interface/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/midi_test/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/midi_test_freertos/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/msc_dual_lun/CMakeLists.txt

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

@@ -15,20 +15,25 @@ if(FAMILY STREQUAL "espressif")
1515
return()
1616
endif()
1717

18-
add_executable(${PROJECT})
18+
if (RTOS STREQUAL zephyr)
19+
set(EXE_NAME app)
20+
else()
21+
set(EXE_NAME ${PROJECT})
22+
add_executable(${EXE_NAME})
23+
endif()
1924

2025
# Example source
21-
target_sources(${PROJECT} PUBLIC
26+
target_sources(${EXE_NAME} PRIVATE
2227
${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
2328
${CMAKE_CURRENT_SOURCE_DIR}/src/msc_disk_dual.c
2429
${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
2530
)
2631

2732
# Example include
28-
target_include_directories(${PROJECT} PUBLIC
33+
target_include_directories(${EXE_NAME} PUBLIC
2934
${CMAKE_CURRENT_SOURCE_DIR}/src
3035
)
3136

3237
# Configure compilation flags and libraries for the example without RTOS.
3338
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
34-
family_configure_device_example(${PROJECT} noos)
39+
family_configure_device_example(${EXE_NAME} ${RTOS})

examples/device/msc_dual_lun/prj.conf

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CONFIG_GPIO=y
2+
CONFIG_FPU=y
3+
CONFIG_NO_OPTIMIZATIONS=y
4+
CONFIG_UART_INTERRUPT_DRIVEN=y
5+
CONFIG_NRFX_POWER=y
6+
CONFIG_NRFX_UARTE0=y

examples/device/net_lwip_webserver/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_LIST_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/uac2_headset/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/uac2_speaker_fb/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/usbtmc/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/video_capture/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/video_capture/src/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ static void fill_color_bar(uint8_t* buffer, unsigned start_position) {
185185

186186
#endif
187187

188-
void video_send_frame(void) {
188+
static void video_send_frame(void) {
189189
static unsigned start_ms = 0;
190190
static unsigned already_sent = 0;
191191

examples/device/video_capture_2ch/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/device/webusb_serial/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/dual/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../hw/bsp/family_support.cmake)
44

examples/dual/host_hid_to_device_cdc/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/dual/host_info_to_device_cdc/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/host/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../hw/bsp/family_support.cmake)
44

examples/host/bare_api/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

examples/host/cdc_msc_hid/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.20)
22

33
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
44

0 commit comments

Comments
 (0)