{"id":20712318,"url":"https://github.com/elmot/h7-wake-on-lan","last_synced_at":"2025-03-11T06:28:27.824Z","repository":{"id":41862271,"uuid":"510099587","full_name":"elmot/h7-wake-on-lan","owner":"elmot","description":"STM32 NUCLEO-H745ZI-Q Wake-On-LAN demo","archived":false,"fork":false,"pushed_at":"2022-07-04T18:11:02.000Z","size":3571,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T21:26:59.557Z","etag":null,"topics":["arm","clion","clion-cmake","clion-embedded","clion-ide","cmake","gcc","network","nucleo-board","stm32","stm32h7"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elmot.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":"2022-07-03T18:06:50.000Z","updated_at":"2022-07-03T18:16:19.000Z","dependencies_parsed_at":"2022-08-27T19:24:34.881Z","dependency_job_id":null,"html_url":"https://github.com/elmot/h7-wake-on-lan","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmot%2Fh7-wake-on-lan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmot%2Fh7-wake-on-lan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmot%2Fh7-wake-on-lan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmot%2Fh7-wake-on-lan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elmot","download_url":"https://codeload.github.com/elmot/h7-wake-on-lan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242984549,"owners_count":20217042,"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":["arm","clion","clion-cmake","clion-embedded","clion-ide","cmake","gcc","network","nucleo-board","stm32","stm32h7"],"created_at":"2024-11-17T02:19:15.915Z","updated_at":"2025-03-11T06:28:27.797Z","avatar_url":"https://github.com/elmot.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"CLion example project for STM32H745 MCU and NUCLEO-H745ZI-Q board\n====\nExample project for [STM32H745 Nucleo-144](https://www.st.com/en/evaluation-tools/nucleo-h755zi-q.html) board.\nOnly CM7 is actually used.\n\n**This example is specially made for multi-core MCUs, like some of STM32H7xx chips**\n\n**Single-core STM32 MCUs are [supported out-of-the-box](https://www.jetbrains.com/help/clion/embedded-development.html)**\n\n\n\nTools required\n====\n* [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html) and STM32H7 software pack\n* [CLion 2022.2+](https://www.jetbrains.com/clion/) and it's bundled `Embedded Development Support` plugin\n* [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm)\n* [STM32CubeIDE](https://www.st.com/en/development-tools/stm32cubeide.html)\n* (Windows only) [MinGW](https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/)\n\nSteps to make a similar project\n====\n1. Install and configure all the required tools. See [CLion Quick start guide](https://www.jetbrains.com/help/clion/clion-quick-start-guide.html)\n2. Start STM32CubeMX and make a new project.\n    * **Note I. On the `Project Manager` tab, `Toolchain/IDE` field must be set to `STM32CubeIDE`**\n    * **Note II. Do not use space, international, or special characters for project name or path**\n3. Generate the project code. STM32CubeMX will create a project folder with two separate subprojects\n4. Download and put [CMakeLists.txt for this gist](https://gist.github.com/elmot/c48f756c5443c4a003978db94392e00d) to the projects root\n5. Now check all the `TODO` comments in the `CMakeLists.txt` file and put actual values instead.\n   [TODO tool window](https://www.jetbrains.com/help/clion/todo-tool-window.html)\n6. Open the root project in [CLion](https://www.jetbrains.com/help/clion/opening-reopening-and-closing-projects.html).\n7. Your CMake project will be parsed. If there are errors, correct them and select `Tools -\u003e CMake -\u003e Reset Cache and Reload Prpject` from the main menu.\n   Repeat until everything is fixed and the CMakeLists is successfully parsed.\n8. Create `Run Configurations` for both core binaries - CM4 and CM7. \n    1. Select create new [Embedded GDB Server](https://www.jetbrains.com/help/clion/embedded-gdb-server.html) run configuration.\n    2. Select `Target` and `Executable`for correaponding core.\n    4. Set `tcp::\u003cport number\u003e` to `'target remote' args` field.\n       The port number may be virtually any in range 1024..65535 but it must nt clash with the conterpart project port number.\n       Use the same number below\n    5. Locate `ST-LINK_gdbserver` executable and select for as `GDB server`\n       The executable resides in the in `STM32CubeIDE` installation folder,\n       `plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.????/tools/bin/` subfolder.\n       Actual name varies from version to version, and exact name can't be provided\n    6. Locate `STM32_Programmer_CLI` executable similar way, but the folder expected to be\n       `plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.???/tools/bin/` then add\n       *path to the folder* as a `-cp` key value to `GDB Server args` field\n    7. Add `-t -d -p \u003cport number\u003e -m \u003ccore num\u003e` keys to `GDB Server args` field.\n        * The `\u003ccore num\u003e` parameter is `0` for Cortex-M7 or `3` for Cortex-M4 kernels. Other MCU models may support other numbers.\n        * Final arguments form is `-cp \u003cSTM32_Programmer_CLI bin folder path\u003e -t -d -p \u003cport number\u003e -m \u003ccore num\u003e`\n9. Try to build both executables. If something goes wrong, fix your `CMakeLists.txt` and sources.\n10. Click `Debug` for both executables. The firmware for both kernels should be flashed and started.\n11. Enjoy your newly-created project.\n\nEthernet support(lwip)\n=============\n\n[Follow the guide with respect that we're working with CLion](https://community.st.com/s/article/How-to-create-project-for-STM32H7-with-Ethernet-and-LwIP-stack-working)\n\nNotes:\n---\n\n* Additional memory mapping is done via [user-defined linker script](CM7/STM32H745ZITX_USER.ld)\n* Some lines a","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felmot%2Fh7-wake-on-lan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felmot%2Fh7-wake-on-lan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felmot%2Fh7-wake-on-lan/lists"}