commit | 242a27cc3b3033898b4ead86d16dfef765cfe5b4 | [log] [tgz] |
---|---|---|
author | Ewout van Bekkum <ewout@google.com> | Mon Dec 20 08:59:35 2021 -0800 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jan 10 18:19:04 2022 +0000 |
tree | 2fe4df742fa5c75a34d55114bdd30c17d21a3348 | |
parent | d56a6386ca2422ce7ee50f0e917e5b2b6e100257 [diff] |
pw_preprocessor: Add internal Cortex-M arch defines Instead of forking build rules to be arch specific, which does not scale well with the number of CortexM arches, use a common place to determine the arch macros which can be used by other macros. Note that these defines are private and internal to Pigweed and should not be used by downstream projects, they are expected to be moved and renamed in the near future. The defines default to the format used by CMSIS, GCC, Clang, etc. but they follow a module compile time configuration paradigm so different toolchains can also make the following defines work: - _PW_ARCH_ARM_V6M - _PW_ARCH_ARM_V7M - _PW_ARCH_ARM_V7EM - _PW_ARCH_ARM_V8M_BASELINE - _PW_ARCH_ARM_V8M_MAINLINE - _PW_ARCH_ARM_V8_1M_MAINLINE Lastly a helper is provided if any of the above have a value of 1: - _PW_ARCH_ARM_CORTEX_M Also updates pw_boot_cortex_m, pw_cpu_exception_cortex_m, and pw_interrupt_cortex_m to use this source of architecture selection deprecating the previously independent build targets. Change-Id: Ie0ed3fb976ea3520c4f7f84debf3d598cf5ca559 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/75540 Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com> Reviewed-by: Keir Mierle <keir@google.com> Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/