{"id":28710837,"url":"https://github.com/arm-software/cmsis-view","last_synced_at":"2025-06-14T21:08:23.340Z","repository":{"id":41569153,"uuid":"329862231","full_name":"ARM-software/CMSIS-View","owner":"ARM-software","description":"Repository of CMSIS Software Pack for software event generation and input/output handling.","archived":false,"fork":false,"pushed_at":"2025-05-08T12:30:08.000Z","size":11619,"stargazers_count":37,"open_issues_count":7,"forks_count":22,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-05-08T13:36:23.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://arm-software.github.io/CMSIS-View/latest/index.html","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARM-software.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-15T09:09:56.000Z","updated_at":"2025-04-01T08:14:21.000Z","dependencies_parsed_at":"2023-10-16T10:50:02.488Z","dependency_job_id":"209d0c8d-7a06-4822-a691-ae9a37feb9a5","html_url":"https://github.com/ARM-software/CMSIS-View","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/ARM-software/CMSIS-View","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FCMSIS-View","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FCMSIS-View/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FCMSIS-View/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FCMSIS-View/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARM-software","download_url":"https://codeload.github.com/ARM-software/CMSIS-View/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FCMSIS-View/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259884525,"owners_count":22926446,"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-14T21:08:22.435Z","updated_at":"2025-06-14T21:08:23.316Z","avatar_url":"https://github.com/ARM-software.png","language":"Go","readme":"# CMSIS-View\n\n**CMSIS-View** provides software components and utilities that allow embedded software developers to analyze program execution flows, debug potential issues, and measure code execution times. The data can be observed in real-time in an IDE or can be saved as a log file during program execution.\n\nThis repository contains the source code of:\n\n- [**ARM::CMSIS-View pack**](https://www.keil.arm.com/packs/cmsis-view-arm) that provides the Event Recorder and Fault software components.\n- [**EventList**](./tools/eventlist) command line utility that allows to dump the events on command line.\n- [**Example Projects**](./Examples) that show the usage of the Event Recorder and Fault components.\n\n[CMSIS-View documentation](https://arm-software.github.io/CMSIS-View) explains available functionality and APIs.\n\n\u003e **Note**\n\u003e - CMSIS-View replaces and extends functionality previously provided as part of *Keil::ARM_Compiler* pack.\n\u003e - See [Migrating projects from CMSIS v5 to CMSIS v6](https://learn.arm.com/learning-paths/microcontrollers/project-migration-cmsis-v6) for a guidance on updating existing projects to CMSIS-View.\n\n## Repository toplevel structure\n\n```txt\n    📦\n    ┣ 📂 .github          GitHub Action workflow and configuration\n    ┣ 📂 Documentation    Documentation directory\n    ┣ 📂 EventRecorder    Source code of EventRecorder software component\n    ┣ 📂 Examples         Usage examples\n    ┣ 📂 Fault            Source code of Fault software component\n    ┣ 📂 Schema           Schema files\n    ┗ 📂 tools            EventList command line tool source code\n```\n\n## Generating Software Pack\n\nSome helper scripts are provided to generate the release artifacts from this repository.\n\n### Doxygen Documentation\n\nGenerating the HTML-formatted documentation from its Doxygen-based source is done via\n\n```sh\nCMSIS-View $ ./Documentation/Doxygen/gen_doc.sh\n```\n\nPrerequisites for this script to succeed are:\n\n- Doxygen 1.9.6\n\nAlso see [Documentation README](./documentation/README.md).\n\n### CMSIS-Pack Bundle\n\nThe CMSIS-Pack bundle can be generated with\n\n```sh\nCMSIS-View $ ./gen_pack.sh\n```\n\nPrerequisites for this script to succeed are:\n\n- Generated documentation (see above)\n- 7z/GNU Zip\n- packchk (e.g., via CMSIS-Toolbox)\n- xmllint (optional)\n\n### Version and Changelog Inference\n\nThe version and changelog embedded into the documentation and pack are inferred from the\nlocal Git history. In order to get the full changelog one needs to have a full clone (not\na shallow one) including all release tags.\n\nThe version numbers and change logs are taken from the available annotated tags.\n\n### Release Pack\n\nA release is simply done via the GitHub Web UI. The newly created tag needs to have\nthe pattern `pack/\u003cversion\u003e` where `\u003cversion\u003e` shall be the SemVer `\u003cmajor\u003e.\u003cminor\u003e.\u003cpatch\u003e`\nversion string for the release. The release description is used as the change log\nmessage for the release.\n\nWhen using an auto-generated tag (via Web UI) the release description is used as the\nannotation message for the generated tag. Alternatively, one can prepare the release\ntag in the local clone and add the annotation message independently from creating the\nrelease.\n\nOnce the release is published via the GitHub Web UI the release workflow generates the\ndocumentation and the pack (see above) and attaches the resulting pack archive as an\nadditional asset to the release.\n\n## EventList Utility\n\nThe command line utility to decode EventRecorder log files written in Go.\n\n### Compile and Test\n\nTo build and EventList run `make.sh` script.\n\n```sh\nCMSIS-View/tools/eventlist $ ./make.sh build\nGOOS=windows GOARCH=amd64 go build -v -ldflags '-X \"...\"' -o ./eventlist.exe ./cmd/eventlist\n\nbuild finished successfully!\n\nCMSIS-View/tools/eventlist $ ./make.sh test\ngo test ./...\n?       eventlist/cmd/make      [no test files]\nok      eventlist/cmd/eventlist 7.584s\nok      eventlist/pkg/elf       6.802s\nok      eventlist/pkg/eval      7.458s\nok      eventlist/pkg/event     7.471s\nok      eventlist/pkg/output    7.645s\nok      eventlist/pkg/xml/scvd  6.808s\n```\n\nOne can run cross-builds for other than the own host platform by specifying `-arch \u003carch\u003e`\nand/or `-os \u003cos\u003e` on the `make.sh` command line, see `--help` for details.\n\n### Release\n\nA release for EventList utility is done independently from the CMSIS-View pack via\nthe GitHub Web UI. The release tag must match the pattern `tools/eventlist/\u003cversion\u003e`\nwhere `\u003cversion\u003e` is a SemVer string.\n\nThe GitHub Action release workflow is triggered once a release is published. The\nworkflow builds release bundles for all supported target platforms and attaches\nthem as assets to the release.\n\n## License Terms\n\nCMSIS-View is licensed under [Apache License 2.0](LICENSE).\n\n### Note\n\nIndividual files contain the following tag instead of the full license text.\n\nSPDX-License-Identifier: Apache-2.0\n\nThis enables machine processing of license information based on the SPDX License Identifiers that are here available: http://spdx.org/licenses/\n\n### External Dependencies\n\nThe components listed below are not redistributed with the project but are used internally for building, development, or testing purposes.\n\n| Component | Version | License | Origin | Usage |\n| --------- | ------- | ------- | ------ | ----- |\n|goversioninfo|n/a|[MIT](https://opensource.org/licenses/MIT)|https://github.com/josephspurrier/goversioninfo| Used in [eventlist](./tools/eventlist) to generate MS Windows version info |\n\n## Contributions and Pull Requests\n\nContributions are accepted under Apache 2.0. Only submit contributions where you have authored all of the code.\n\n### Issues, Labels\n\nPlease feel free to raise an issue on GitHub\nto report misbehavior (i.e. bugs)\n\nIssues are your best way to interact directly with the maintenance team and the community.\nWe encourage you to append implementation suggestions as this helps to decrease the\nworkload of the very limited maintenance team.\n\nWe shall be monitoring and responding to issues as best we can.\nPlease attempt to avoid filing duplicates of open or closed items when possible.\nIn the spirit of openness we shall be tagging issues with the following:\n\n- **bug** – We consider this issue to be a bug that shall be investigated.\n\n- **wontfix** - We appreciate this issue but decided not to change the current behavior.\n\n- **out-of-scope** - We consider this issue loosely related to CMSIS. It might be implemented outside of CMSIS. Let us know about your work.\n\n- **question** – We have further questions about this issue. Please review and provide feedback.\n\n- **documentation** - This issue is a documentation flaw that shall be improved in the future.\n\n- **DONE** - We consider this issue as resolved - please review and close it. In case of no further activity, these issues shall be closed after a week.\n\n- **duplicate** - This issue is already addressed elsewhere, see a comment with provided references.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Fcmsis-view","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farm-software%2Fcmsis-view","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Fcmsis-view/lists"}