Skip to content

Commit b126190

Browse files
committed
build pico platform host and pico platform rp2040
1 parent c493a3a commit b126190

File tree

23 files changed

+69
-26
lines changed

23 files changed

+69
-26
lines changed

src/cmake/rp2_common.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pico_add_subdirectory(common/pico_usb_reset_interface_headers)
1616

1717
# PICO_CMAKE_CONFIG: PICO_BARE_METAL, Flag to exclude anything except base headers from the build, type=bool, default=0, group=build
1818
if (NOT PICO_BARE_METAL)
19+
pico_add_subdirectory(common/pico_async_context)
1920
pico_add_subdirectory(common/pico_bit_ops_headers)
2021
pico_add_subdirectory(common/pico_binary_info)
2122
pico_add_subdirectory(common/pico_divider_headers)
@@ -124,7 +125,6 @@ if (NOT PICO_BARE_METAL)
124125
pico_add_subdirectory(rp2_common/pico_i2c_slave)
125126

126127
# networking libraries - note dependency order is important
127-
pico_add_subdirectory(rp2_common/pico_async_context)
128128
pico_add_subdirectory(rp2_common/pico_btstack)
129129
pico_add_subdirectory(rp2_common/pico_cyw43_driver)
130130
pico_add_subdirectory(rp2_common/pico_mbedtls)

src/rp2_common/pico_async_context/BUILD.bazel renamed to src/common/pico_async_context/BUILD.bazel

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,57 +20,81 @@ cc_library(
2020
"include/pico/async_context_base.h",
2121
],
2222
includes = ["include"],
23-
target_compatible_with = compatible_with_rp2(),
2423
deps = [
2524
"//src/common/pico_time",
26-
"//src/rp2_common:pico_platform",
27-
],
25+
] + select({
26+
"//bazel/constraint:host": [
27+
"//src/host/pico_platform",
28+
],
29+
"//conditions:default": [
30+
"//src/rp2_common:pico_platform",
31+
],
32+
}),
2833
)
2934

3035
cc_library(
3136
name = "pico_async_context_freertos",
3237
srcs = ["async_context_freertos.c"],
3338
hdrs = ["include/pico/async_context_freertos.h"],
3439
includes = ["include"],
35-
target_compatible_with = compatible_with_rp2() + incompatible_with_config(
40+
target_compatible_with = incompatible_with_config(
3641
"//bazel/constraint:pico_freertos_unset",
3742
),
3843
deps = [
3944
":pico_async_context_base",
4045
"//bazel/config:PICO_FREERTOS_LIB",
4146
"//src/common/pico_sync",
4247
"//src/common/pico_time",
43-
"//src/rp2_common:pico_platform",
44-
"//src/rp2_common/hardware_irq",
45-
],
48+
] + select({
49+
"//bazel/constraint:host": [
50+
"//src/host/pico_platform",
51+
"//src/host/hardware_irq",
52+
],
53+
"//conditions:default": [
54+
"//src/rp2_common:pico_platform",
55+
"//src/rp2_common/hardware_irq",
56+
],
57+
}),
4658
)
4759

4860
cc_library(
4961
name = "pico_async_context_poll",
5062
srcs = ["async_context_poll.c"],
5163
hdrs = ["include/pico/async_context_poll.h"],
5264
includes = ["include"],
53-
target_compatible_with = compatible_with_rp2(),
5465
deps = [
5566
":pico_async_context_base",
5667
"//src/common/pico_sync",
5768
"//src/common/pico_time",
58-
"//src/rp2_common:pico_platform",
59-
],
69+
] + select({
70+
"//bazel/constraint:host": [
71+
"//src/host/pico_platform",
72+
],
73+
"//conditions:default": [
74+
"//src/rp2_common:pico_platform",
75+
],
76+
}),
6077
)
6178

6279
cc_library(
6380
name = "pico_async_context_threadsafe_background",
6481
srcs = ["async_context_threadsafe_background.c"],
6582
hdrs = ["include/pico/async_context_threadsafe_background.h"],
6683
includes = ["include"],
67-
target_compatible_with = compatible_with_rp2(),
6884
deps = [
6985
":pico_async_context_base",
7086
"//src/common/pico_sync",
7187
"//src/common/pico_time",
72-
"//src/rp2_common:pico_platform",
73-
"//src/rp2_common/hardware_irq",
74-
"//src/rp2_common/pico_multicore",
75-
],
88+
] + select({
89+
"//bazel/constraint:host": [
90+
"//src/host/pico_platform",
91+
"//src/host/hardware_irq",
92+
"//src/host/pico_multicore",
93+
],
94+
"//conditions:default": [
95+
"//src/rp2_common:pico_platform",
96+
"//src/rp2_common/hardware_irq",
97+
"//src/rp2_common/pico_multicore",
98+
],
99+
}),
76100
)

src/rp2_common/pico_async_context/CMakeLists.txt renamed to src/common/pico_async_context/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ pico_add_library(pico_async_context_threadsafe_background)
1515
target_sources(pico_async_context_threadsafe_background INTERFACE
1616
${CMAKE_CURRENT_LIST_DIR}/async_context_threadsafe_background.c
1717
)
18-
pico_mirrored_target_link_libraries(pico_async_context_threadsafe_background INTERFACE pico_async_context_base)
18+
pico_mirrored_target_link_libraries(pico_async_context_threadsafe_background INTERFACE pico_async_context_base hardware_claim hardware_irq pico_multicore)
1919

2020
pico_add_library(pico_async_context_freertos)
2121
target_sources(pico_async_context_freertos INTERFACE
2222
${CMAKE_CURRENT_LIST_DIR}/async_context_freertos.c
2323
)
24-
pico_mirrored_target_link_libraries(pico_async_context_freertos INTERFACE pico_async_context_base)
24+
pico_mirrored_target_link_libraries(pico_async_context_freertos INTERFACE pico_async_context_base hardware_claim hardware_irq)

src/rp2_common/pico_async_context/include/pico/async_context_freertos.h renamed to src/common/pico_async_context/include/pico/async_context_freertos.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ typedef struct async_context_freertos async_context_freertos_t;
4444
#endif
4545
#endif
4646

47+
// On PICO_PLATFORM=host don't have ISR.
48+
#if !PICO_ON_DEVICE
49+
#ifndef portCHECK_IF_IN_ISR
50+
#define portCHECK_IF_IN_ISR() (0)
51+
#endif
52+
#endif
53+
4754
/**
4855
* \brief Configuration object for async_context_freertos instances.
4956
*/

0 commit comments

Comments
 (0)