| # Copyright 2021 The Pigweed Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| # use this file except in compliance with the License. You may obtain a copy of |
| # the License at |
| # |
| # https://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations under |
| # the License. |
| |
| import("//build_overrides/pigweed.gni") |
| |
| declare_args() { |
| # pw_package/stm32cube_xx install directories |
| dir_pw_third_party_stm32cube_f0 = "" |
| dir_pw_third_party_stm32cube_f1 = "" |
| dir_pw_third_party_stm32cube_f2 = "" |
| dir_pw_third_party_stm32cube_f3 = "" |
| dir_pw_third_party_stm32cube_f4 = "" |
| dir_pw_third_party_stm32cube_f7 = "" |
| dir_pw_third_party_stm32cube_g0 = "" |
| dir_pw_third_party_stm32cube_g4 = "" |
| dir_pw_third_party_stm32cube_h7 = "" |
| dir_pw_third_party_stm32cube_l0 = "" |
| dir_pw_third_party_stm32cube_l1 = "" |
| dir_pw_third_party_stm32cube_l4 = "" |
| dir_pw_third_party_stm32cube_l5 = "" |
| dir_pw_third_party_stm32cube_wb = "" |
| dir_pw_third_party_stm32cube_wl = "" |
| |
| # The currently selected stm32cube_xx package |
| # This can be selected by the target by doing something like: |
| # dir_pw_third_party_stm32cube = dir_pw_third_party_stm32cube_f4 |
| dir_pw_third_party_stm32cube = "" |
| |
| # The Product specified in as much detail as possible. |
| # i.e. "stm32f429zit", "stm32l552ze", "stm32f207zg", etc. |
| pw_third_party_stm32cube_PRODUCT = "" |
| |
| # pw_source_set with `stm32{family}xx_hal_conf.h` |
| # The default uses the in-tree `stm32{family}xx_hal_conf_template.h`. |
| pw_third_party_stm32cube_CONFIG = |
| "$dir_pw_third_party/stm32cube:hal_config_template" |
| |
| # pw_source_set containing timebase |
| # The default uses the in-tree `stm32{family}xx_hal_timebase_tim_template.c` |
| pw_third_party_stm32cube_TIMEBASE = |
| "$dir_pw_third_party/stm32cube:hal_timebase_template" |
| |
| # pw_source_set containing cmsis init logic |
| # The default uses the in-tree `system_stm32{family}xx.c` |
| pw_third_party_stm32cube_CMSIS_INIT = |
| "$dir_pw_third_party/stm32cube:cmsis_init_template" |
| |
| # pw_source_set containing the core initization logic. This normally includes |
| # a `startup_stm32{...}.s` + a dependent `pw_linker_script`. The default |
| # `core_init_template` uses the upstream startup and linker script matching |
| # $pw_third_party_stm32cube_PRODUCT. If set to "", you must provide your own |
| # linker/startup logic somewhere else in the build. |
| pw_third_party_stm32cube_CORE_INIT = |
| "$dir_pw_third_party/stm32cube:core_init_template" |
| } |