1*61c4878aSAndroid Build Coastguard Worker# Copyright 2021 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerload("//pw_build:merge_flags.bzl", "flags_from_dict") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Worker# -------------------- 20*61c4878aSAndroid Build Coastguard Worker# --- OS Platforms --- 21*61c4878aSAndroid Build Coastguard Worker# -------------------- 22*61c4878aSAndroid Build Coastguard Worker 23*61c4878aSAndroid Build Coastguard Workerplatform( 24*61c4878aSAndroid Build Coastguard Worker name = "freertos", 25*61c4878aSAndroid Build Coastguard Worker constraint_values = [ 26*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/rtos:freertos", 27*61c4878aSAndroid Build Coastguard Worker "@platforms//os:none", 28*61c4878aSAndroid Build Coastguard Worker ], 29*61c4878aSAndroid Build Coastguard Worker) 30*61c4878aSAndroid Build Coastguard Worker 31*61c4878aSAndroid Build Coastguard Workerplatform( 32*61c4878aSAndroid Build Coastguard Worker name = "embos", 33*61c4878aSAndroid Build Coastguard Worker constraint_values = [ 34*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/rtos:embos", 35*61c4878aSAndroid Build Coastguard Worker "@platforms//os:none", 36*61c4878aSAndroid Build Coastguard Worker ], 37*61c4878aSAndroid Build Coastguard Worker) 38*61c4878aSAndroid Build Coastguard Worker 39*61c4878aSAndroid Build Coastguard Workerplatform( 40*61c4878aSAndroid Build Coastguard Worker name = "threadx", 41*61c4878aSAndroid Build Coastguard Worker constraint_values = [ 42*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/rtos:threadx", 43*61c4878aSAndroid Build Coastguard Worker "@platforms//os:none", 44*61c4878aSAndroid Build Coastguard Worker ], 45*61c4878aSAndroid Build Coastguard Worker) 46*61c4878aSAndroid Build Coastguard Worker 47*61c4878aSAndroid Build Coastguard Worker# -------------------------- 48*61c4878aSAndroid Build Coastguard Worker# --- Hardware Platforms --- 49*61c4878aSAndroid Build Coastguard Worker# -------------------------- 50*61c4878aSAndroid Build Coastguard Workerplatform( 51*61c4878aSAndroid Build Coastguard Worker name = "lm3s6965evb", 52*61c4878aSAndroid Build Coastguard Worker constraint_values = [ 53*61c4878aSAndroid Build Coastguard Worker "@pw_toolchain//constraints/arm_mcpu:cortex-m3", 54*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/chipset:lm3s6965evb", 55*61c4878aSAndroid Build Coastguard Worker "@platforms//cpu:armv7-m", 56*61c4878aSAndroid Build Coastguard Worker "@platforms//os:none", 57*61c4878aSAndroid Build Coastguard Worker "@rust_crates//:no_std", 58*61c4878aSAndroid Build Coastguard Worker ], 59*61c4878aSAndroid Build Coastguard Worker flags = flags_from_dict({ 60*61c4878aSAndroid Build Coastguard Worker "@pigweed//pw_log/rust:pw_log_backend": "//pw_rust/examples/tokenized_logging:pw_log_backend", 61*61c4878aSAndroid Build Coastguard Worker "@pigweed//pw_sys_io:backend": "//pw_sys_io_baremetal_lm3s6965evb", 62*61c4878aSAndroid Build Coastguard Worker }), 63*61c4878aSAndroid Build Coastguard Worker) 64*61c4878aSAndroid Build Coastguard Worker 65*61c4878aSAndroid Build Coastguard Workerplatform( 66*61c4878aSAndroid Build Coastguard Worker name = "nrf52833", 67*61c4878aSAndroid Build Coastguard Worker constraint_values = [ 68*61c4878aSAndroid Build Coastguard Worker "@pw_toolchain//constraints/arm_mcpu:cortex-m0", 69*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/chipset:nrf52833", 70*61c4878aSAndroid Build Coastguard Worker "@platforms//cpu:armv6-m", 71*61c4878aSAndroid Build Coastguard Worker "@platforms//os:none", 72*61c4878aSAndroid Build Coastguard Worker ], 73*61c4878aSAndroid Build Coastguard Worker) 74*61c4878aSAndroid Build Coastguard Worker 75*61c4878aSAndroid Build Coastguard Worker# Primarily a QEMU supported m0 target for rust development, based on the 76*61c4878aSAndroid Build Coastguard Worker# nRF51822. 77*61c4878aSAndroid Build Coastguard Workerplatform( 78*61c4878aSAndroid Build Coastguard Worker name = "microbit", 79*61c4878aSAndroid Build Coastguard Worker constraint_values = [ 80*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/board:microbit", 81*61c4878aSAndroid Build Coastguard Worker "@rust_crates//:no_std", 82*61c4878aSAndroid Build Coastguard Worker "@platforms//os:none", 83*61c4878aSAndroid Build Coastguard Worker # We have no pw_sys_io backend for this platform. 84*61c4878aSAndroid Build Coastguard Worker ], 85*61c4878aSAndroid Build Coastguard Worker parents = [":nrf52833"], 86*61c4878aSAndroid Build Coastguard Worker) 87*61c4878aSAndroid Build Coastguard Worker 88*61c4878aSAndroid Build Coastguard Worker# ---------------------- 89*61c4878aSAndroid Build Coastguard Worker# --- Misc Platforms --- 90*61c4878aSAndroid Build Coastguard Worker# ---------------------- 91*61c4878aSAndroid Build Coastguard Worker 92*61c4878aSAndroid Build Coastguard Workerplatform( 93*61c4878aSAndroid Build Coastguard Worker name = "none", 94*61c4878aSAndroid Build Coastguard Worker constraint_values = ["@platforms//os:none"], 95*61c4878aSAndroid Build Coastguard Worker) 96