• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2025 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load("@pigweed//pw_build:compatibility.bzl", "incompatible_with_mcu")
16load("@rules_rust//rust:defs.bzl", "rust_binary")
17
18package(default_visibility = ["//visibility:public"])
19
20rust_binary(
21    name = "kernel",
22    srcs = ["kernel_cortex_m_entry.rs"],
23    edition = "2021",
24    tags = ["kernel"],
25    target_compatible_with = select({
26        "//pw_build/constraints/chipset:mps2-an505": [],
27        "//pw_kernel/target/rp:rp235x": [],
28        "//conditions:default": ["@platforms//:incompatible"],
29    }),
30    deps = [
31        "//pw_kernel/kernel",
32        "//pw_kernel/subsys/console:console_backend",
33        "//pw_kernel/target",
34        "//pw_kernel/target:linker_script",
35        "@rust_crates//:cortex-m-rt",
36        "@rust_crates//:cortex-m-semihosting",
37    ],
38)
39
40rust_binary(
41    name = "kernel_host",
42    srcs = ["kernel_host.rs"],
43    edition = "2021",
44    tags = ["kernel"],
45    target_compatible_with = incompatible_with_mcu(),
46    deps = [
47        "//pw_kernel/kernel",
48        "//pw_kernel/subsys/console:console_backend",
49        "//pw_kernel/target",
50    ],
51)
52