diff options
author | Armando Montanez <amontanez@google.com> | 2020-03-04 11:51:32 -0800 |
---|---|---|
committer | CQ Bot Account <commit-bot@chromium.org> | 2020-03-05 23:38:31 +0000 |
commit | 1d00120b0216347d33a8eabbcfec0fd592b39189 (patch) | |
tree | c2af5b371184d55f31b6b486d98a783c18d3875b /README.md | |
parent | 2e93c90de37eb3ac9ddf439d422f5c94dc31619e (diff) | |
download | pigweed-1d00120b0216347d33a8eabbcfec0fd592b39189.tar.gz |
Update readme and extend Pigweed documentation
Trims setup information out of the README.md, and pushes setup and
developer guides into their own pages.
Change-Id: I7fc80213e6a00c270fc9c664c8a7f54a19c05778
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 83 |
1 files changed, 9 insertions, 74 deletions
@@ -1,9 +1,10 @@ # Pigweed -Pigweed is a collection of embedded-focused libraries, called “modules”. -These modules are designed for small-footprint MMU-less microcontrollers like -the ST Micro STM32L452 or the Nordic NRF82832. The modules are designed to -facilitate easy integration into existing codebases. +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. Pigweed is in the early stages of development, and should be considered experimental. We’re continuing to evolve the platform and add new modules. We @@ -14,73 +15,7 @@ that we expect everyone who interacts with the project to respect. # Getting Started -```bash -$ git clone sso://pigweed.googlesource.com/pigweed/pigweed ~/pigweed -$ cd ~/pigweed -# Only need to run auth-login once per machine. -$ pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py auth-login -$ . pw_env_setup/bootstrap.sh -``` - -You can use `. pw_env_setup/setup.sh` in place of `. pw_env_setup/bootstrap.sh`. -Both should work every time, but `bootstrap.sh` tends to remove and reinstall -things at the expense of time whereas `setup.sh` assumes things have -already been installed and only sets environment variables. - -If you're using Homebrew and you get an error saying -`module 'http.client' has no attribute 'HTTPSConnection'` then your -Homebrew Python was not set up to support SSL. Ensure it's installed with -`brew install openssl` and then run -`brew uninstall python && brew install python`. After that things should work. - -The environment setup script will pull down the versions of tools necessary -to build Pigweed and add them to your environment. You can then build with -GN, CMake, or Bazel. You can also confirm you're getting the right versions -of tools—they should be installed under `.cipd/`. - -**Build for the host with GN** -```bash -$ which gn -~/pigweed/.cipd/pigweed.ensure/gn -$ gn gen out/host -$ ninja -C out/host -``` - -**Build for the host with CMake** -```bash -$ which cmake -~/pigweed/.cipd/pigweed.ensure/bin/cmake -$ cmake -B out/cmake-host -S . -G Ninja -$ ninja -C out/cmake-host -``` - -**Build for the host with Bazel** -```bash -$ which bazel -~/pigweed/.cipd/pigweed.ensure/bazel -$ bazel test //... -``` - -**Build for the STM32F429 Discovery board** -```bash -$ gn gen --args='pw_target_config = "//targets/stm32f429i-disc1/target_config.gni"' out/disco -$ ninja -C out/disco -$ pw test --root out/disco/ --runner stm32f429i_disc1_unit_test_runner -``` - -**Build upstream Pigweed documentation** -```bash -$ gn gen --args='pw_target_config = "//targets/docs/target_config.gni"' out/docs -$ ninja -C out/docs -$ google-chrome out/docs/gen/docs/html/index.html -``` - -The CMake and Bazel builds do not yet support building for hardware. - -To flash firmware to an STM32 Discovery development board (and run `pw test`) -from macOS, you need to install OpenOCD. Install Homebrew using the latest -instructions at https://brew.sh/, then install OpenOCD with -`brew install openocd`. - -If any of this doesn't work please -[file a bug](https://bugs.chromium.org/p/pigweed/issues/entry). +If you'd like to get set up with Pigweed, please visit the +[setup guide](docs/setup.md), and then check out the +[Pigweed developer's guide](docs/developer_guide.md) for more information on how +to get the most out of Pigweed. |