{"id":28711006,"url":"https://github.com/arm-software/tz-trng","last_synced_at":"2025-06-14T21:08:44.929Z","repository":{"id":74210182,"uuid":"95633878","full_name":"ARM-software/TZ-TRNG","owner":"ARM-software","description":"TrustZone True Number Generator","archived":false,"fork":false,"pushed_at":"2022-04-05T12:41:35.000Z","size":1879,"stargazers_count":33,"open_issues_count":6,"forks_count":23,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-11-20T12:09:54.236Z","etag":null,"topics":["arm","true-number-generator"],"latest_commit_sha":null,"homepage":null,"language":"C","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}},"created_at":"2017-06-28T05:59:16.000Z","updated_at":"2024-08-26T09:11:26.000Z","dependencies_parsed_at":"2024-01-13T15:38:28.868Z","dependency_job_id":"c6b68e11-44ca-4f2b-904d-370c6f3b8dc5","html_url":"https://github.com/ARM-software/TZ-TRNG","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ARM-software/TZ-TRNG","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FTZ-TRNG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FTZ-TRNG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FTZ-TRNG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FTZ-TRNG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARM-software","download_url":"https://codeload.github.com/ARM-software/TZ-TRNG/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FTZ-TRNG/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259884526,"owners_count":22926447,"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","true-number-generator"],"created_at":"2025-06-14T21:08:43.733Z","updated_at":"2025-06-14T21:08:44.915Z","avatar_url":"https://github.com/ARM-software.png","language":"C","readme":"# ARM TrustZone True Number Generator\n\nThis software product contains the following open source components:\n\n* ARM TrustZone TRNG driver.\n* ARM TrustZone TRNG integration test.\n* Characterization reference code.\n\t\n\nContaining:\n\n* READM.md (this file)\n* Software and test build system:\n    build.props\n    proj.ext.cfg\n    TRNG_test.c\n    shared/\n    host/  \n* Software Integrator's Manual   (trustzone_true_random_number_generator_software_integrators_manual_101049_0000_00_en.pdf)\n\nARM TrustZone TRNG supports 32-bit systems.\n\n## License \n\nThis software is provided under the Apache-2.0 license. Contributions to this project are accepted under the same license.\n\t\t\n\t\n## Release details\n\nThis release contains the ARM TrustZone TRNG software.\n\n### Prerequisites:\n\n* To be run on an Ubuntu 14.04 LTS system host for building. \n\n* gcc version 4.7.3 or arm-ds5 compiler are in your PATH.\n\n* If using Linux as a host on the H/W, configure the KERNEL_DIR environment variable to point to your Linux (s).\n\n* The target is running Linux kernel 4.4 or FreeRTOS.\n\nDownload the software bundle from https://github.com/ARM-software/TZ-TRNG.\n\n### Build procedure\n\n**Step 1**: Open a terminal on the Ubuntu system, and use 'cd \u003cpath\u003e' to go to the folder where you unpacked the software bundle from the ARM github url.\n\n**Step 2**: Define environment variables, depending on what the hw system target is running:\n\n* For a target hw system running FreeRTOS:\n```bash\n   export KERNEL_DIR=/path/to/freertos\n```\nor\n\n* For a target hw system running linux:\n```bash\n   export KERNEL_DIR=/path/to/linux\n```\t\t\t\t\n  \n**Step 3**: Build all the binaries (common for FreeRTOS and Linux):\n```bash\n   cd /path/to/tztrng\n   make -C host/src/tztrng_lib/ clean\n   make -C host/src/tztrng_lib/\n   make -C host/src/tests/tztrng_test/ clean \n   make -C host/src/tests/tztrng_test/ \n```\t\t\t\nThe tztrng library is located in:\n```bash\n   host/lib/libcc_tztrng.a        \n```\n\t\nThe integration test executable is located in the following path:\n   - When compiling with gcc: host/bin/tztrng_test.\n   - When compiling with armcc: host/lib/libtztrng_test.a.\n\n\n**Step 4**: Deploy:\n* For a target hw system running linux:\n\n  Copy host/bin/tztrng_test to the target linux file system and exeute:\n  ```bash\n     ./tztrng_test\n  ```\n\n* For a target hw system running FreeRTOS:\n\n  ```bash\n     cp host/lib/libcc_tztrng.a /path/to/your/library/folder\n     cp host/lib/libtztrng_test.a /path/to/your/library/folder\n     cp host/src/tests/tztrng_test/tztrng_test.h /path/to/includes\n  ```\n    \n## Validation\n\n1. Tests run\n\n    See \"Step 4: Deploy\" above.\n\n1. Known issues\n        \n    None\n\n1. Planned enhancements\n        \n    None\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Ftz-trng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farm-software%2Ftz-trng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Ftz-trng/lists"}