Last updated:
0 purchases
puncoverriscv 0.2.3
puncover
Analyzes RISCV C/C++ binaries for code size, static variables and stack usages. It
creates a report with disassembler and call-stack analysis per directory, file,
or function.This project based on https://github.com/HBehrens/puncover, but only support arch riscv.
Add -fstask-usage to your gcc build flag. By Heiko Behrens - MIT license, copyright © 2014-2017
Installation and Usage
Install with pip:
pip install puncover_riscv
Run it by passing the binary to analyze:
puncover_riscv --elf_file project.elf
...
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Open the link in your browser to view the analysis.
Running Tests Locally
To run the tests locally, you need to install the development dependencies:
install pyenv: https://github.com/pyenv/pyenv
curl https://pyenv.run | bash
install all the python environments, using this bashism (this can take a few
minutes):
for _py in $(<.python-version ); do pyenv install ${_py}; done
install the development dependencies:
pip install -r requirements-dev.txt
Then you can run the tests with:
tox
Publishing Release
Update the version in puncover_riscv/__version__.py.
Commit the version update:
.. code-block:: bash
git add . && git commit -m “Bump version to x.y.z”
Create an annotated tag:
.. code-block:: bash
git tag -a {-m=,}x.y.z
Push the commit and tag:
.. code-block:: bash
git push && git push –tags
Either wait for the GitHub Action to complete and download the release
artifact for uploading: https://github.com/Egahp/puncover_riscv/actions OR Build
the package locally: python setup.py sdist bdist_wheel
Upload the package to PyPI:
.. code-block:: bash
twine upload dist/*
Create GitHub releases:
- gh release create --generate-notes x.y.z
- attach the artifacts to the release too: gh release upload x.y.z dist/*
Release Script
See scripts/release.sh for a script that automates the above steps.
Contributing
Contributions are welcome! Please open an issue or pull request on GitHub.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.