diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-09-20 14:28:06 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-09-20 14:28:06 +1000 |
| commit | 7827873e16c3900c8492871e141780bafccb638d (patch) | |
| tree | b1067758fae220d74fed2e3083567d72d67549e0 | |
| parent | 0ea358ab8157d743dc07f12bde5fb34d03a02522 (diff) | |
| download | tangara-fw-7827873e16c3900c8492871e141780bafccb638d.tar.gz | |
Freshed up building instructions, move to a better-named file.
| -rw-r--r-- | BUILDING.md (renamed from README.md) | 40 |
1 files changed, 20 insertions, 20 deletions
@@ -6,7 +6,8 @@ SPDX-License-Identifier: CC0-1.0 # Building and flashing -1. Make sure you've got all of the submodules in this repo correctly initialised; +1. Make sure you've got all of the submodules in this repo correctly initialised: + ``` git submodule update --init --recursive ``` @@ -15,34 +16,28 @@ git submodule update --init --recursive the ESP-IDF tools. You can consult the [ESP-IDF docs](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html) for more detailed instructions, but the TL;DR is that you'll want to run something like this: + ``` -./lib/esp-adf/esp-idf/install.sh esp32 +./lib/esp-idf/install.sh esp32 ``` 3. As a final piece of setup, you will need to source the env file in this repo to correctly set up your environment for building. + ``` . ./.env ``` -**For VSCode:** -When using the Espressif IDF extension, you may want to set the following in your settings.json file: -``` - "idf.espAdfPath": "${workspaceFolder}/lib/esp-adf", - "idf.espAdfPathWin": "${workspaceFolder}/lib/esp-adf", - "idf.espIdfPath": "${workspaceFolder}/lib/esp-adf/esp-idf", - "idf.espIdfPathWin": "${workspaceFolder}/lib/esp-adf/esp-idf" -``` +There is also a `.env.fish` for fish users. 4. You can now build the project using `idf.py build`. Or to flash the project onto your board, something like: + ``` idf.py -p /dev/ttyUSB0 -b 115200 flash ``` -(give or take the correct serial port) -Remember that you will need to boot your ESP32 into software download mode -before you will be able to flash. +(give or take the correct serial port) # Running tests @@ -59,11 +54,20 @@ To add new tests to a components, you must: 2. Include the component in the test build and list of testable components, in `test/CMakeLists.txt`. -# clangd setup + +# VSCode setup + +When using the Espressif IDF extension, you may want to set the following in your settings.json file: +``` + "idf.espIdfPath": "${workspaceFolder}/lib/esp-idf", + "idf.espIdfPathWin": "${workspaceFolder}/lib/esp-idf" +``` + +# LSP (clangd) setup A regular build will generate `build/compile_commands.json`, which clangd will automatically pick up. However, there are a couple of additional steps to get -everything to place nicely. +everything to play nicely. First, you will need to download the xtensa clang toolchain. You can do this via ESP-IDF by running `idf_tools.py install xtensa-clang` @@ -96,8 +100,4 @@ CompileFlags: Compiler: /Users/YOU/.espressif/tools/xtensa-clang/esp-clang/bin/clang++ ``` -You should then get proper LSP integration via clangd, give or take a couple of -oddities (e.g. for some reason, my install still can't see `stdio.h`. NBD tho.) - -Expect this integration to improve sometime in the near future, per [this forum -thread](https://esp32.com/viewtopic.php?f=13&t=29563). +You should then get proper LSP integration via clangd. |
