diff --git a/docs/en/get-started/index.rst b/docs/en/get-started/index.rst index 148ecfa144..66311ff70b 100644 --- a/docs/en/get-started/index.rst +++ b/docs/en/get-started/index.rst @@ -50,11 +50,16 @@ Hardware: Software: -* **Toolchain** to compile code for {IDF_TARGET_NAME} -* **Build tools** - CMake and Ninja to build a full **Application** for {IDF_TARGET_NAME} -* **ESP-IDF** that essentially contains API (software libraries and source code) for {IDF_TARGET_NAME} and scripts to operate the **Toolchain** -* **Text editor** to write programs (**Projects**) in C, e.g., `Eclipse `_ +You have a choice to either download and install the following software manually + * **Toolchain** to compile code for {IDF_TARGET_NAME} + * **Build tools** - CMake and Ninja to build a full **Application** for {IDF_TARGET_NAME} + * **ESP-IDF** that essentially contains API (software libraries and source code) for {IDF_TARGET_NAME} and scripts to operate the **Toolchain** + +**or** get through the onboarding process using the following official plugins for integrated development environments (IDE) described in separate documents + + * `Eclipse Plugin `_ (`installation link `_) + * `VS Code Extension `_ (`onboarding `_) .. figure:: ../../_static/what-you-need.png :align: center @@ -278,7 +283,7 @@ Step 5. Start a Project Now you are ready to prepare your application for {IDF_TARGET_NAME}. You can start with :example:`get-started/hello_world` project from :idf:`examples` directory in IDF. -Copy :example:`get-started/hello_world` to ``~/esp`` directory: +Copy the project :example:`get-started/hello_world` to ``~/esp`` directory: Linux and macOS ~~~~~~~~~~~~~~~ @@ -406,7 +411,7 @@ This command will compile the application and all ESP-IDF components, then it wi ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin or run 'idf.py -p PORT flash' -If there are no errors, the build will finish by generating the firmware binary .bin file. +If there are no errors, the build will finish by generating the firmware binary .bin files. .. _get-started-flash: @@ -414,7 +419,7 @@ If there are no errors, the build will finish by generating the firmware binary Step 9. Flash onto the Device ============================= -Flash the binaries that you just built onto your {IDF_TARGET_NAME} board by running: +Flash the binaries that you just built (bootloader.bin, partition-table.bin and hello-world.bin) onto your {IDF_TARGET_NAME} board by running: .. code-block:: bash @@ -537,7 +542,7 @@ When flashing, you will see the output log similar to the following: If there are no issues by the end of the flash process, the board will reboot and start up the “hello_world” application. -If you'd like to use the Eclipse IDE instead of running ``idf.py``, check out the :doc:`Eclipse guide `. +If you'd like to use the Eclipse or VS Code IDE instead of running ``idf.py``, check out the :doc:`Eclipse guide `, :doc:`VS Code guide `. .. _get-started-build-monitor: @@ -631,6 +636,7 @@ Related Documents establish-serial-connection eclipse-setup + vscode-setup ../api-guides/tools/idf-monitor toolchain-setup-scratch :esp32: ../get-started-legacy/index diff --git a/docs/en/get-started/vscode-setup.rst b/docs/en/get-started/vscode-setup.rst new file mode 100644 index 0000000000..244f5333d2 --- /dev/null +++ b/docs/en/get-started/vscode-setup.rst @@ -0,0 +1,34 @@ +******************************** +Getting Started with VS Code IDE +******************************** + + +We have official support for VS Code and we aim to provide complete end to end support for all actions related to ESP-IDF namely build, flash, monitor, debug, tracing, core-dump, System Trace Viewer, etc. + +Quick Install Guide +=================== + +Recommended way to install ESP-IDF Visual Studio Code Extension is by downloading it from `VS Code Marketplace `_ or following `Quick Installation Guide `_. + +Supported Features +================== + +* **Onboarding**, will help you to quickly install ESP-IDF and its relevant toolchain with just few clicks. +* **Build**, with one click build and multi target build, you can easily build and deploy your applications. +* **Flash**, with both UART and JTAG flash out of the box. +* **Monitoring** comes with inbuilt terminal where you can trigger IDF Monitor Commands from within VS Code as you are used to in traditional terminals. +* **Debugging**, with out of box hardware debugging and also support for postmortem debugging like core-dump, you can analyze the bugs with convenience. +* **GUI Menu Config**, provides with simplified UI for configuring your chip. +* **App & Heap Tracing**, provides support for collecting traces from your application and simplified UI for analyzing them. +* **System View Tracing Viewer**, aims to read and display the *.svdat* files into trace UI, we also support multiple core tracing views. +* **IDF Size Analysis Overview** presents an UI for binary size analysis. +* **`Rainmaker Cloud `_**, we have inbuilt Rainmaker Cloud support where you can edit/read state of your connected IoT devices easily. +* **Code Coverage**, we have inbuilt code coverage support which shall highlight in color which line have been covered. We also render the existing HTML report directly inside the IDE. + + +Bugs & Feature Requests +======================= + +If you face an issue with certain feature of VS Code or VS Code in general we recommend to ask your question in the `forum `_, or open a `github issue `_ for our dev teams to review. + +We also welcome new feature request, most of the features we have today is result of people asking it to implement, or improve certain aspect of the extension, `raise your feature request on github `_. \ No newline at end of file diff --git a/docs/zh_CN/get-started/index.rst b/docs/zh_CN/get-started/index.rst index 24d85e4b60..291899ab4d 100644 --- a/docs/zh_CN/get-started/index.rst +++ b/docs/zh_CN/get-started/index.rst @@ -395,7 +395,7 @@ Windows 操作系统 第九步:烧录到设备 ============================= -请使用以下命令,将刚刚生成的二进制文件烧录至您的 {IDF_TARGET_NAME} 开发板: +请使用以下命令,将刚刚生成的二进制文件烧录 (bootloader.bin, partition-table.bin 和 hello-world.bin) 至您的 {IDF_TARGET_NAME} 开发板: ``idf.py -p PORT [-b BAUD] flash`` @@ -531,6 +531,7 @@ Windows 操作系统 establish-serial-connection eclipse-setup + vscode-setup ../api-guides/tools/idf-monitor toolchain-setup-scratch :esp32: ../get-started-legacy/index diff --git a/docs/zh_CN/get-started/vscode-setup.rst b/docs/zh_CN/get-started/vscode-setup.rst new file mode 100644 index 0000000000..bd09d0a171 --- /dev/null +++ b/docs/zh_CN/get-started/vscode-setup.rst @@ -0,0 +1 @@ +.. include:: ../../en/get-started/vscode-setup.rst \ No newline at end of file diff --git a/examples/get-started/hello_world/README.md b/examples/get-started/hello_world/README.md index 4fb3c40c13..0539ac7b24 100644 --- a/examples/get-started/hello_world/README.md +++ b/examples/get-started/hello_world/README.md @@ -1,5 +1,52 @@ # Hello World Example -Starts a FreeRTOS task to print "Hello World" +Starts a FreeRTOS task to print "Hello World". -See the README.md file in the upper level 'examples' directory for more information about examples. +(See the README.md file in the upper level 'examples' directory for more information about examples.) + +## How to use example + +Follow detailed instructions provided specifically for this example. + +Select the instructions depending on Espressif chip installed on your development board: + +- [ESP32 Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/index.html) +- [ESP32-S2 Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/get-started/index.html) + + +## Example folder contents + +The project **hello_world** contains one source file in C language [hello_world_main.c](main/hello_world_main.c). The file is located in folder [main](main). + +ESP-IDF projects are build using CMake. The project build configuration is contained in `CMakeLists.txt` files that provide set of directives and instructions describing the project's source files and targets (executable, library, or both). + +Below is short explanation of remaining files in the project folder. + +``` +├── CMakeLists.txt +├── example_test.py Python script used for automated example testing +├── main +│   ├── CMakeLists.txt +│   ├── component.mk Component make file +│   └── hello_world_main.c +├── Makefile Makefile used by legacy GNU Make +└── README.md This is the file you are currently reading +``` + +For more information on structure and contents of ESP-IDF projects, please refer to Section [Build System](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html) of the ESP-IDF Programming Guide. + +## Troubleshooting + +* Program upload failure + + * Hardware connection is not correct: run `idf.py -p PORT monitor`, and reboot your board to see if there are any output logs. + * The baud rate for downloading is too high: lower your baud rate in the `menuconfig` menu, and try again. + +## Technical support and feedback + +Please use the following feedback channels: + +* For technical queries, go to the [esp32.com](https://esp32.com/) forum +* For a feature request or bug report, create a [GitHub issue](https://github.com/espressif/esp-idf/issues) + +We will get back to you as soon as possible.