{"id":13720996,"url":"https://github.com/zephyrproject-rtos/eclipse-plugin","last_synced_at":"2025-05-08T22:07:35.456Z","repository":{"id":42652545,"uuid":"215090416","full_name":"zephyrproject-rtos/eclipse-plugin","owner":"zephyrproject-rtos","description":"Zephyr Eclipse Plugin","archived":false,"fork":false,"pushed_at":"2022-03-29T21:24:19.000Z","size":396,"stargazers_count":16,"open_issues_count":22,"forks_count":18,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-08T22:07:27.688Z","etag":null,"topics":["development","ide","tools"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zephyrproject-rtos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-14T16:17:41.000Z","updated_at":"2024-12-18T14:53:21.000Z","dependencies_parsed_at":"2022-09-08T16:52:41.648Z","dependency_job_id":null,"html_url":"https://github.com/zephyrproject-rtos/eclipse-plugin","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Feclipse-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Feclipse-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Feclipse-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Feclipse-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zephyrproject-rtos","download_url":"https://codeload.github.com/zephyrproject-rtos/eclipse-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253154975,"owners_count":21862622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development","ide","tools"],"created_at":"2024-08-03T01:01:10.975Z","updated_at":"2025-05-08T22:07:35.435Z","avatar_url":"https://github.com/zephyrproject-rtos.png","language":"Java","funding_links":[],"categories":["Tools"],"sub_categories":["Editors \u0026 IDEs"],"readme":"# Eclipse Plug-in for Zephyr Project\n\n## Overview\n\nThis contains a set of Eclipse plug-ins which extends Eclipse CDT to support\napplication development on Zephyr RTOS, including building and target hardware\ndebugging.\n\n## How to Install\n\n#### Prerequisites\n\nThe minimum requirements for running the plugins are:\n\n* Java SE 8 Update 212 or later\n* Eclipse 2019-12 (4.14.0) with CDT 9.10.0\n\nAlso, please make sure the development host is setup to build Zephyr\napplication by following the [Getting Started](https://docs.zephyrproject.org/latest/getting_started/index.html)\nguide.\n\n#### Installing the Plugin\n\nThe plugin can be installed via update sites in Eclipse.\n\n1. Go to `Help` in the menu bar, and select `Install New Software`.\n2. Click the `Add` button to add a new update site:\n   * Name: `zephyr-eclipse`\n   * URL: https://builds.zephyrproject.org/eclipse-plugin/\n3. Select the newly added update site.\n4. Select `Zephyr Project` and `Zephyr Project Development Support` and\n   click `Next`.\n5. Follow the instructions on the wizards to install the plugin.\n6. Restart Eclipse when asked to do so.\n\n#### Updating the Plugin\n\nGo to `Help` in the menu bar, and select `Check for Updates`.\n\n## How to Use\n\n#### Create a New Project for Zephyr Application\n\nProject creation is similar to creating other project type under Eclipse.\nThis will create a `Hello World` project.\n\n1. Go to `File`, `New` and `Project...`\n2. In the dialog, select `Zephyr Application` under `Zephyr Project`.\n3. Click `Next`\n4. Type in the name for the project.\n5. Under `Zephyr Base Path (ZEPHYR_BASE)`, put in (or browse to) the path\n   to the Zephyr tree.\n6. Click `Next`\n7. Select the toolchain variant to be used with this project. Depending on\n   the selection, different set of options will need to be set. These options\n   are the same one as described in the\n   [Getting Started - Set Up a Toolchain](https://docs.zephyrproject.org/latest/getting_started/index.html#set-up-a-toolchain).\n8. Click `Next`\n9. Type in the board name of the targat hardware.\n   * Or click on the check box and select one below.\n10. Click `Finish`\n11. A new project is created under Eclipse.\n12. It is recommended to use the `C/C++` perspective.\n    1. Go to `Window`, `Perspective`, `Open Perspective`, and `Other...`.\n    2. Select `C/C++` and click `Ok`.\n\n#### Building the Project\n\n* Right click on the project name under `Project Explorer` and select\n  `Build Project`.\n\n#### Run Emulator\n\n1. Right click on the project name under `Project Explorer` and select\n   `Run As`, and `Run Configurations...`.\n2. Right click on `Zephyr Emulator Target`, and `New`.\n   * Or, select a previously created configuration.\n3. In the newly created configuration, make sure the project is the correct\n   one.\n4. Click `Run`\n5. The `Console` view will contain the output of the emulator.\n6. Click the red square `Terminate` to stop the emulator.\n\n#### Flash to Hardware\n\n1. Right click on the project name under `Project Explorer` and select\n   `Run As`, and `Run Configurations...`.\n2. Right click on `Zephyr Hardware Target`, and `New`.\n   * Or, select a previously created configuration.\n3. In the newly created configuration, make sure the project is the correct\n   one.\n4. Click `Run`\n5. The `Console` view will contain the output of the flashing process.\n\n#### Debugging on Emulator\n\n1. Right click on the project name under `Project Explorer` and select\n   `Debug As`, and `Debug Configurations...`.\n2. Right click on `Zephyr Emulator Target`, and `New`.\n   * Or, select a previously created configuration.\n3. In the newly created configuration, make sure the project is the correct\n   one, and the `C/C++ Application` points to the correct ELF file.\n4. In the `Debugger` tab:\n   * The `GDB Command` should be pre-populated with the GDB project\n     discovered by CMake. If not, select the correct GDB program corresponding\n     to the target.\n   * Port number is pre-populated according to the target type.\n     Change if it is not correct.\n5. Click `Debug` and the debug session should start.\n6. Follow Eclipse's debugging workflow to debug the application.\n\n#### Debugging on Hardware\n\n1. Right click on the project name under `Project Explorer` and select\n   `Debug As`, and `Debug Configurations...`.\n2. Right click on `Zephyr Hardware Target`, and `New`.\n   * Or, select a previously created configuration.\n3. In the newly created configuration, make sure the project is the correct\n   one, and the `C/C++ Application` points to the correct ELF file.\n4. In the `Main` tab, default is to also flash the image to the target.\n   This can be skipped with the appropriate option.\n5. In the `Debugger` tab:\n   * The `GDB Command` should be pre-populated with the GDB project\n     discovered by CMake. If not, select the correct GDB program corresponding\n     to the target.\n   * Port number is pre-populated according to the target type.\n     Change if it is not correct.\n6. Click `Debug` and the debug session should start.\n7. Follow Eclipse's debugging workflow to debug the application.\n\n## How to Build\n\n#### Prerequisites\n\nThe minimum requirements for building the plugins are:\n\n* Java SE 11.0.3\n* Maven 3.3.9 or later (except 3.6.1)\n\n#### Running Maven\n\n```bash\n$ mvn clean package\n```\n\nThe resulting p2 repository is at `maven/repository/target/repository`.\n\n## OpenOCD and Thread awareness\n\nThe OpenOCD in the Zephyr SDK can export information on threads for GDB.\nTo utilize this capability, `CONFIG_OPENOCD_SUPPORT` must be enabled in\nthe project configuration file to export information on threads.\nAlso, the board's openocd configuration file must have the following line:\n\n```\n$_TARGETNAME configure -rtos auto\n```\n\nThis line tells OpenOCD to search for exported information on threads.\n\nWith the correct configuration mentioned above, information on available\nthreads will be displayed in Eclipse's debug perspective.\n\n## Troubleshooting\n\n* Eclipse is not responding after clicking Finish at project creation.\n\n\u003e Due to the Zephyr source tree being linked within the project,\n\u003e it may take some time for Eclipse to traverse the whole tree.\n\u003e For example, after running sanity check, the output folder contains\n\u003e a large amount of files for Eclipse to traverse.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzephyrproject-rtos%2Feclipse-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzephyrproject-rtos%2Feclipse-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzephyrproject-rtos%2Feclipse-plugin/lists"}