Age | Commit message (Collapse) | Author |
|
Moves the armv7m implementation of pw_cpu_exception to
pw_cpu_exception_cortex_m since much of the logic can be shared between
ARMv8-M and ARMv7-M. Symbol names are also updated to reflect current
naming style for extern "C" symbols. Old names will be removed in
pwrev/31060.
Warning, symbol renames are breaking!
pw_CpuExceptionEntry -> pw_cpu_exception_Entry
pw_CpuExceptionDefaultHandler -> pw_cpu_exception_DefaultHandler
Change-Id: I7ab99ac7637c436ba959d7546043090c66fe4215
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/30922
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
|
|
Extends pw_cpu_exception_armv7m's LogCpuState() to analyze the provided
CPU context to provide insight into the cause of the exception.
Change-Id: I8f706d0e88fefb5a9205435d819abfeee530407c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/29380
Commit-Queue: Armando Montanez <amontanez@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
|
|
Run python -m pw_status.update_style to migrate to the new
Status::Code() functions from the Status::CODE variables.
Change-Id: I8757cf1f46586c04cd822c01f9868de7d3ea0583
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/24481
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
|
|
- Mark Status::Ok() and StatusWithSize::Ok() as deprecated.
- Replace Status::Ok() with OkStatus().
- Replace StatusWithSize::Ok() with StatusWithSize().
Change-Id: If7192282446bf6d7f90990bb0b4f1b1b89a9228a
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/29003
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Keir Mierle <keir@google.com>
|
|
- Define CMake cache variables (similar to gn args) for facade backends.
- Create simple initial toolchain files for GCC and Clang.
- Misc updates to pigweed.cmake and pw_build/CMakeLists.txt.
- Add or expand various CMakeLists.txt files.
- Watch CMake files in watch.py to support using CMake in pw watch.
Change-Id: I490d157485d02811a11f6a3589a0508ea1851f58
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/22840
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Keir Mierle <keir@google.com>
|
|
Moves the check for whether or not to build/run the
pw_cpu_exception_armv7m tests so they're inside that module's build
file.
Change-Id: I6814ab7c2a64add5250f325cafcc0de3c27b64b4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/23082
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Armando Montanez <amontanez@google.com>
|
|
This updates generated protobuf targets to use the format
<target>.<generator> instead of <target>_<generator> to improve
readability.
Change-Id: I52d1e398d5bbece7f79ae87e9a1df7fdce880a6b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/22222
Reviewed-by: Wyatt Hepler <hepler@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Alexei Frolov <frolv@google.com>
|
|
- Add documentation for facades and the pw_facade template.
- Document the module config pattern.
- Remove the need for the facade_name argument to pw_facade.
Change-Id: I77529583967cfdb4f47ee87313982b1259ca036e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/22045
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
|
|
The "# gn-format disable" comments are no longer necessary. Delete these
comments and reformat with a Vim macro and gn format.
Change-Id: Ia62c40ad73eef91187d0d443d6e3b0fa723e5aa9
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/21380
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
|
|
- Update labels so they use consistent naming. Instead of the
copy-and-pasted `chapter` prefix, name labels with a prefix consistent
with what they point to:
- "module-" for module
- "target-" for targets
- "docs-" for general documentation
- Remove the unnecessary highlight and default-domain directives.
Neither is necessary since the Pigweed docs always specify the
language in code snippets and other directives.
Change-Id: I55c34e9ec919f6f4670e5d3d008e0edf5fecf05b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/19328
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
|
|
- Update Status::CODE style to Status::Code() using
pw_status/update_style.py.
- Make minor adjustments to the pw_assert tests to get them passing.
Change-Id: Ie54c3c605178fd1e42c7cedbcff324115f3ed279
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/19165
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
|
|
Captures the HFSR and SHCSR registers in the cpu state block.
Change-Id: Ibe50cf88b5c2472b01e1b8221441f5769aac56b6
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/17884
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: Armando Montanez <amontanez@google.com>
|
|
Adds a function to log captured CPU state directly via pw_log.
Change-Id: If87f599066a098d283905478b9e3b151d3bb5693
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/15902
Commit-Queue: Armando Montanez <amontanez@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
|
|
Adds a proto defintion that mirrors the contents of an ARMv7-M CPU state
object, and a function that dumps the state as that proto.
Change-Id: Ic2badc6d2741de30c345ef7336f1f3bc53a4ed56
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/15901
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Armando Montanez <amontanez@google.com>
|
|
The pw_cpu_exception facade is comprised of three parts: the part
implemented by the architecture, and the part implemented by the
application, and some supporting libraries that make it easier to dump
CPU state. Since these are provided independently, the facade has been
split into three facades:
1. entry
2. handler
3. support
Change-Id: I48c92f42b208f79596740f1bec59ed3d29e277a8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/11646
Commit-Queue: Armando Montanez <amontanez@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
|
|
Replace pw::span with std::span and "pw_span/span.h" with <span>
throughout the codebase.
Change-Id: Ib1fa873168b6093794e861611d750fcad6285d6c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/12801
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Rob Mohr <mohrr@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
|
|
Updates ARM toolchains and gets both the stm32f429i-disc1 and qemu
targets building again.
Change-Id: Ib0607bc498f8a331c3cde763da5ed3812ba595ba
|
|
This change creates a toolchain that configures the docs target and adds
it to the default build.
Change-Id: Ib2a8387253eef809f94411780174377e0d23e1a9
|
|
Require targets to explicitly import pigweed variable definitions. This
moves out some necessary logic from the BUILDCONFIG.gn file.
Change-Id: If9c9fe5a680cc9d897a0e8a55889873be618ed84
|
|
This change replaces the implicit overrides of the default GN target
types in BUILDCONFIG.gn with explicit pw_* versions. This is done to
allow Pigweed to build within larger GN projects without modifying their
BUILDCONFIG files.
Change-Id: I1d1e41d5e9bde8fe076f7031f3c2b98b9630ff70
|
|
This CL reworks toolchains to be defined as scopes composing configs and
toolchain args. This allows individual targets to add configs to or
remove configs from the defaults.
Change-Id: I105a231f3e2de35499e1617241f3eeb42ef3248d
|
|
Removes an unrelated dependency that ended up in
pw_cpu_exception_armv7m.
Change-Id: I16982949c5ff5c37625d111096d5db9708202764
|
|
- Adds a test that ensures nested faults are correctly handled.
- Properly clears CFSR and HFSR registers when handling exceptions.
- Fixes a typo useage -> usage.
Verified test passes on the stm32f429i-disc1 target.
Change-Id: Ib00f5d9f5ff59bba101b451415f6bd75076d4863
|
|
Rename pw_dumb_io facade and backends to use the more deliberate name
pw_sys_io moving forward.
Change-Id: I968480715967ab8de491856afa1b7692b973ed7e
|
|
This caused gn format to flag many things which were also fixed.
Change-Id: Ie1d9081a1b08047bec52c60f54d2a94366be1ba6
|
|
- Override built-in targets, which gives more flexibility than
set_defaults.
- Provide the default C++ in the toolchain, which can be overridden by
explicitly specifying a config on a target.
- Remove the C++17 default flags from public configs, since it is no
longer needed.
Change-Id: If211bada971c46cef83909bf15811a4f2c1eb7fd
|
|
- Automatically add simple modules with pw_auto_add_simmple_module.
- Define libraries in a module with pw_add_module_library.
- Define tests and test groups with pw_add_test and
pw_add_test_to_groups.
- Tests execute with full Ninja dependency resolution, as in the GN
build.
- Add CMakeLists.txt for existing modules.
- Currently there is no support for targets, but these libraries would
be trivial to integrate with an existing CMake build.
Change-Id: If73d8b61bce88f91141737eb773f1ebce3a7676e
|
|
This change introduces pw_cpu_exception, a facade that provides a
high-level interface for handling CPU exceptions.
Change-Id: I1f98ac82dd54040448b2e2ac32a392c49cb6dfba
|