{"id":22377142,"url":"https://github.com/micro-os-plus/xpack-study-projects","last_synced_at":"2025-03-26T18:19:00.611Z","repository":{"id":54979292,"uuid":"316570206","full_name":"micro-os-plus/xpack-study-projects","owner":"micro-os-plus","description":"xPack based µOS++ experimental projects","archived":false,"fork":false,"pushed_at":"2021-04-11T20:58:35.000Z","size":16044,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T23:41:47.181Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/micro-os-plus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-27T18:09:16.000Z","updated_at":"2021-03-18T16:58:39.000Z","dependencies_parsed_at":"2022-08-14T08:00:56.388Z","dependency_job_id":null,"html_url":"https://github.com/micro-os-plus/xpack-study-projects","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/micro-os-plus%2Fxpack-study-projects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-os-plus%2Fxpack-study-projects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-os-plus%2Fxpack-study-projects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-os-plus%2Fxpack-study-projects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micro-os-plus","download_url":"https://codeload.github.com/micro-os-plus/xpack-study-projects/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245708992,"owners_count":20659626,"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":[],"created_at":"2024-12-04T22:12:56.100Z","updated_at":"2025-03-26T18:19:00.584Z","avatar_url":"https://github.com/micro-os-plus.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xPack based µOS++ experimental projects\n\nThese projects are used to evaluate various solutions for the new\nµOS++ modular structure, based on xPacks.\n\nFor now there are two projects, one intended to run without an RTOS,\nand one using the RTOS.\n\n- https://github.com/micro-os-plus/xpack-study-projects\n\n## How to test\n\n### Prerequisites\n\nIf you don't have the xPack tools on your machine, follow the steps in the\n[prerequisites](https://xpack.github.io/install/) page.\n\nFor the moment building and running the native build configurations\nis possible only on macOS and GNU/Linux.\n\nBuilding the embedded Arm and RISC-V build configurations should be possible\non all platforms, since the xPack toolchains are cross-platform, but\nCMake has a problem starting ninja on Windows, so for the moment only\nmacOS and GNU/Linux are available.\n\nRunning the STM32F4DISCOVERY under QEMU should also be possible on all\nplatforms, but QEMU has some issues starting under xpm, and will be fixed\nin the next release.\n\nThe projects were tested on:\n\n- macOS 10.15 / clang 12  (GitHub Actions)\n- Ubuntu 20 / gcc 9.3 (GitHub Actions)\n- Ubuntu 18 / gcc 7.5 (GitHub Actions)\n- Raspberry Pi OS 64-bit (Debian 10 buster) / gcc 8\n\n### Update xpm\n\nIf you already have xpm installed, be sure you use the most recent version.\n\n```sh\nnpm install -g xpm@latest\n```\n\nIt must be 0.8.1 or later.\n\n### Start with a clean slate\n\nRemove any previous local copy of the project:\n\n```sh\nrm -rf \"${HOME}/Work/xpack-study-projects.git\"\n```\n\nPlease note that this will also remove the local repositories clones\npossibly installed in a previous run;\nif you contributed code to these local repos,\nbe sure you first submit Pull Requests, and\ndo not delete them yet.\n\n### Clone the GitHub repo\n\n```sh\nmkdir -p \"${HOME}/Work\"\n\ngit clone https://github.com/micro-os-plus/xpack-study-projects.git \\\n  \"${HOME}/Work/xpack-study-projects.git\"\n```\n\nFor development purposes, use the `develop` branch:\n\n```sh\ngit clone --branch develop https://github.com/micro-os-plus/xpack-study-projects.git \\\n  \"${HOME}/Work/xpack-study-projects.git\"\n```\n\n### Proceed with the tests\n\nGo to the [blinky-rtos/README](blinky-rtos/README.md) and follow the\ninstructions there.\n\nSame for [blinky-no-rtos/README](blinky-no-rtos/README.md).\n\n## Install writable source dependencies for development\n\nThe dependencies installed by `xpm install` are read only.\n\nFor development use cases, when the content must be writable, clone\nthe original repos and link via the central packages repo.\n\n```sh\ncurl -L \"https://raw.githubusercontent.com/micro-os-plus/build-helper-xpack/xpack/scripts/clone-and-link-all-git-repos.sh\" | bash\n```\n\nThis script will clone the `xpack-develop` branches from all µOS++\nsource Git repos\nin `${HOME}/Work/micro-os-plus-xpack-repos/`.\n\nIf needed, the script can be executed separately, with an\noptional argument, the destination folder, which can be\nanywhere in the home folder.\n\nThe script also executes the `xpm install` command in each folder,\nto create a link from the central xPacks repository\n(in users's home folder) to the writable repo clone.\n\nThe next step is to replace the links from projects to the\nread-only folders in the central xPacks repo with links to the writable\nfolders.\n\nTo simplify things, each project has a named script, that can be\ninvoked with `xpm run link-deps`.\n\n## Eclipse\n\nThe default way to build these project is via command line commands,\nas presented before.\n\nFor those who prefer graphical tools, it is also possible to use\nEclipse.\n\nDownload a new **Eclipse IDE for Embedded C/C++ Developers** from:\n\n- https://www.eclipse.org/downloads/packages/\n\nStart Eclipse with a fresh workspace in a temporary folder. **DO NOT** use\nan existing workspace, to have a clean slate.\n\nImport the projects \u0026 build\n\n- Import \u003e General \u003e Existing Projects into Workspace\n- Next \u003e\n- Select root directory: Browse... `${HOME}/Work/xpack-study-projects.git/blinky-rtos`\n- Projects: `blinky-rtos` \u0026 `blinky-no-rtos`\n- disable: Copy projects\n- Finish\n\nNote: the Eclipse configurations might occasionally not be up-to-date.\n\n## Feedback\n\nAny feedback is highly appreciated.\n\nPlease use the project\n[forum](https://www.tapatalk.com/groups/xpack/xpack-based-os-experimental-projects-t116.html)\ninstead of private messages, such that the\ndiscussions to be public and be seen by more people.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicro-os-plus%2Fxpack-study-projects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicro-os-plus%2Fxpack-study-projects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicro-os-plus%2Fxpack-study-projects/lists"}