Commit Graph

12 Commits

Author SHA1 Message Date
Armando Montanez
1ee925c8ed pw_toolchain: ARM clang toolchain
Initial work to get clang building ARM firmware.

Current state:
 - Does not work on Windows; no clang toolchain yet.
 - Almost all tests pass.
 - FreeListHeap tests that don't zero-initilize the buffer fail in qemu
   and crash on STM32F429I-DISC1. (pwbug/315)

Change-Id: I39559511f19571c26930a868406d6ee1b514c412
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/13144
Commit-Queue: Armando Montanez <amontanez@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
2021-02-05 18:38:51 +00:00
Alexei Frolov
d3e5cb710d s/pw_hdlc_lite/pw_hdlc/g
This renames the hdlc_lite module to just HDLC to accommodate for future
development.

Change-Id: Ic96502a9f41d3a10179435347d4e8615bc3ae844
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/29042
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
2021-01-11 21:16:53 +00:00
Alexei Frolov
eb94e96186 pw_rpc: Move system_server backends into targets
Backends for the pw_rpc/system_server facade were defined in the pw_rpc
module, preventing targets from customizing their server configurations
and channels. This change moves the backends into the respective target
directories. Additionally, pw_unit_test's RPC main is updated to use the
system server.

Change-Id: I670e13dd178ab8a7fc8dfa8fade3f82a46d5208c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/28500
Reviewed-by: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Alexei Frolov <frolv@google.com>
2021-01-06 17:42:18 +00:00
Wyatt Hepler
d49f8fe3f3 BUILD.gn files: Improve import formatting
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>
2020-10-15 18:12:55 +00:00
Ewout van Bekkum
0f82b333c1 targets: move early_boot.c to boot.cc
Alters the existing targets to use a boot.cc file instead of the
existing early_boot.c.

The name was updated to reflect the fact that it now contains a
pw_boot_PostMain() hook which is after early boot.

C++ was selected over C to give more language flexibility.

Change-Id: I18ca0b8720bf083d4f644f1ca994e8fd7adc89b6
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/16702
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
2020-08-26 03:24:30 +00:00
Ewout van Bekkum
712cbfb017 lm3s6965evb-qemu: move early_boot into targets/*
Updates targets/lm3s6965evb-qemu/* and its sys_io counterpart to
match targets/stm32f429i-disc1/* by moving the early boot and
vector tables out of sys_io.

Change-Id: If1f82d5bd242807d9c4914d207b7f332291de8cf
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/16700
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
2020-08-25 21:07:13 +00:00
Chenghan Zhou
6e9924a77d stm32f429i target: early_boot.c refactor
Change-Id: Id7c03621a1bfe1fd3fdb6b6e8bfbd71703edbabd
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/14261
Reviewed-by: Alexei Frolov <frolv@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Chenghan Zhou <chenghanzh@google.com>
2020-07-23 15:40:00 +00:00
Armando Montanez
82bbce4aeb Remove legacy_target.gni
Transition to args is done, so this import is no longer needed.

Change-Id: Id42e06ec9fcc16eace2cc7ef51a5dacaf012147a
2020-06-16 09:50:59 -07:00
Armando Montanez
fd5de70b76 Add Pigweed GCC-ARM toolchains
Updates ARM toolchains and gets both the stm32f429i-disc1 and qemu
targets building again.

Change-Id: Ib0607bc498f8a331c3cde763da5ed3812ba595ba
2020-06-16 09:50:59 -07:00
Armando Montanez
fb3d3fba79 Don't declare pigweed variables as globals
Require targets to explicitly import pigweed variable definitions. This
moves out some necessary logic from the BUILDCONFIG.gn file.

Change-Id: If9c9fe5a680cc9d897a0e8a55889873be618ed84
2020-06-16 09:50:59 -07:00
Rob Mohr
a0ba54f648 Roll GN to 239533d
This caused gn format to flag many things which were also fixed.

Change-Id: Ie1d9081a1b08047bec52c60f54d2a94366be1ba6
2020-02-28 01:33:18 +00:00
Armando Montanez
0874558cf3 docs: Add 'targets' section
Creates a new section in the docs for target documentation, and adds
some documentation for the stm32f429i-disc1 target.

Change-Id: I0ffbfa56a97458d850834fc0f670b32885b0d2b5
2019-12-12 21:15:16 +00:00