{"id":28717066,"url":"https://github.com/micro-ros/micro_ros_vitis_component","last_synced_at":"2025-06-15T03:13:20.217Z","repository":{"id":223438452,"uuid":"757968889","full_name":"micro-ROS/micro_ros_vitis_component","owner":"micro-ROS","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-28T10:18:11.000Z","size":33,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-28T11:38:55.135Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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-ROS.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-15T11:08:29.000Z","updated_at":"2024-06-28T11:38:58.319Z","dependencies_parsed_at":"2024-05-17T07:42:33.675Z","dependency_job_id":"aa55c045-6875-4bb3-9c73-e4005177d41a","html_url":"https://github.com/micro-ROS/micro_ros_vitis_component","commit_stats":null,"previous_names":["micro-ros/micro_ros_vitis_component"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/micro-ROS/micro_ros_vitis_component","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-ROS%2Fmicro_ros_vitis_component","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-ROS%2Fmicro_ros_vitis_component/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-ROS%2Fmicro_ros_vitis_component/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-ROS%2Fmicro_ros_vitis_component/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micro-ROS","download_url":"https://codeload.github.com/micro-ROS/micro_ros_vitis_component/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micro-ROS%2Fmicro_ros_vitis_component/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259914934,"owners_count":22931333,"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":"2025-06-15T03:13:01.307Z","updated_at":"2025-06-15T03:13:20.208Z","avatar_url":"https://github.com/micro-ROS.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- ![banner](.images/banner-dark-theme.png#gh-dark-mode-only)\n![banner](.images/banner-light-theme.png#gh-light-mode-only) --\u003e\n\n# micro-ROS for AMD Vitis\n\nThis package eases the integration of [micro-ROS](https://micro.ros.org/) in a [AMD Vitis](https://www.xilinx.com/products/design-tools/vitis.html). This components targets building the micro-ROS library for different targets or architectures supported by AMD Vitis.\n\n- [micro-ROS for AMD Vitis](#micro-ros-for-amd-vitis)\n  - [Supported targets](#supported-targets)\n    - [General Configuration](#general-configuration)\n    - [MicroBlaze Configuration](#microblaze-configuration)\n  - [Prerequisites](#prerequisites)\n  - [Building the micro-ROS library](#building-the-micro-ros-library)\n  - [Configuring micro-ROS library memory](#configuring-micro-ros-library-memory)\n  - [Adding custom packages to the micro-ROS build](#adding-custom-packages-to-the-micro-ros-build)\n\n## Supported targets\n\n| Target     | `MICROROS_TARGET`  |\n| ---------- | ------------------ |\n| MicroBlaze | `VITIS_MICROBLAZE` |\n| Cortex R5  | `VITIS_CORTEX_R5`  |\n\n### General Configuration\n\nAll targets allow the following CLI arguments:\n\n- `-f`: Force clean and build, even if the library is already built.\n\n### MicroBlaze Configuration\n\nThe MicroBlaze platform allows to configure the following parameters:\n\n- `-mbig-endian`: Enable big-endian mode.\n- `-64bits`: Build for MicroBlaze 64 bits (default is 32 bits).\n\n## Prerequisites\n\n- [AMD Vitis](https://www.xilinx.com/products/design-tools/vitis.html) installed.\n- Valid compiler for the target architecture installed and available in the `PATH`.\n- The following Python packages installed:\n\n```bash\npip3 install colcon-common-extensions catkin_pkg lark-parser empy\n```\n\n- The following packages installed in the system:\n\n```bash\nsudo apt install rsync\n```\n\n## Building the micro-ROS library\n\nNote - If Vitis SDK environment was sourced, the PATH will need to be adjusted.\n\n```bash\nexport PATH=\"/usr/bin\":$PATH\n```\nIn order to generate the micro-ROS library for a specific target, the following command must be executed:\n\n```bash\nMICROROS_TARGET=\u003ctarget\u003e ./build_micro_ros_library.sh\n```\n\nWhere `\u003ctarget\u003e` is the target architecture to build the micro-ROS library for, as specified in the [Supported targets](#supported-targets) section.\n\n## Configuring micro-ROS library memory\n\nAs explained in the [micro-ROS documentation](https://docs.vulcanexus.org/en/latest/rst/tutorials/micro/memory_management/memory_management.html) some of the micro-ROS memory is statically allocated at compile time.\nThis means that the memory configuration must be adjusted to the specific target architecture.\n\nIn order to tune the memory configuration, `colcon.meta` file must be edited according to the fit application requirements.\n\n## Adding custom packages to the micro-ROS build\n\nIn order to include a custom package in the micro-ROS build, just copy the package folder into `library_generation/extra_packages` folder. The build system will automatically detect the package and build it along with the micro-ROS library.\n\nNote that a library rebuild is needed to include the package, this can be achieved by deleting the `libmicroros` generated folder and building your project afterwards.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicro-ros%2Fmicro_ros_vitis_component","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicro-ros%2Fmicro_ros_vitis_component","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicro-ros%2Fmicro_ros_vitis_component/lists"}