nesiac


Namenesiac JSON
Version 0.4.3 PyPI version JSON
download
home_pagehttps://github.com/Eekle/Nesiac/
SummaryMemory usage visualiser for embedded applications
upload_time2024-05-10 13:48:33
maintainerNone
docs_urlNone
authorEekle
requires_python<4.0,>=3.9
licenseMIT
keywords embedded elf binary memory
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Overview

Nesiac is a terminal tool for visualising memory usage in embedded programs.

As an example when run on the STM32 "HID_Standalone" project for STM32H747I-DISCO board:

![image](https://github.com/Eekle/Nesiac/assets/96976531/e59df990-cb21-43a8-91d9-fda814f4189c)

# Installation

Nesiac may be installed with pip via:

`python -m pip install nesiac`

The `nesiac` executable will then be made available in your python executables directory, which should be on your path.

# Usage

Nesiac requires two files to do its analysis:

- An ELF file for section and symbol info
- A map file (in GCC style) for memory region info

If Nesiac is given a single path as argument, that path should be a directory containing exactly one `.elf` and one `.map` file. In that case, Nesiac will use those files for analysis.

Alternatively those paths may be overriden with the `-e,--elf-file` and `-m,--map-file` arguments.

Exporting a map file from GCC may be enabled with the `-Wl,-Map=<FILE>` flag.

If you are using a linker that cannot generate GCC style map files, then you can provide a dummy map file with the region info in the correct format:

```
Memory Configuration

Name             Origin             Length             Attributes
FLASH            0x0000000008000000 0x0000000000100000 xr
RAM              0x0000000024000000 0x0000000000020000 xrw
ITCMRAM          0x0000000000000000 0x0000000000010000 xrw
*default*        0x0000000000000000 0xffffffffffffffff
```

# Languages

Nesiac will demangle C++ and Rust symbols when it finds them.

![image](https://github.com/Eekle/Nesiac/assets/96976531/56d88964-cc35-405e-8396-6c1106c357b0)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Eekle/Nesiac/",
    "name": "nesiac",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "embedded, elf, binary, memory",
    "author": "Eekle",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/40/d8/0ed956a950a1632463cd8ea1197815e09fe7d4e03525f5123925a7be42c4/nesiac-0.4.3.tar.gz",
    "platform": null,
    "description": "# Overview\n\nNesiac is a terminal tool for visualising memory usage in embedded programs.\n\nAs an example when run on the STM32 \"HID_Standalone\" project for STM32H747I-DISCO board:\n\n![image](https://github.com/Eekle/Nesiac/assets/96976531/e59df990-cb21-43a8-91d9-fda814f4189c)\n\n# Installation\n\nNesiac may be installed with pip via:\n\n`python -m pip install nesiac`\n\nThe `nesiac` executable will then be made available in your python executables directory, which should be on your path.\n\n# Usage\n\nNesiac requires two files to do its analysis:\n\n- An ELF file for section and symbol info\n- A map file (in GCC style) for memory region info\n\nIf Nesiac is given a single path as argument, that path should be a directory containing exactly one `.elf` and one `.map` file. In that case, Nesiac will use those files for analysis.\n\nAlternatively those paths may be overriden with the `-e,--elf-file` and `-m,--map-file` arguments.\n\nExporting a map file from GCC may be enabled with the `-Wl,-Map=<FILE>` flag.\n\nIf you are using a linker that cannot generate GCC style map files, then you can provide a dummy map file with the region info in the correct format:\n\n```\nMemory Configuration\n\nName             Origin             Length             Attributes\nFLASH            0x0000000008000000 0x0000000000100000 xr\nRAM              0x0000000024000000 0x0000000000020000 xrw\nITCMRAM          0x0000000000000000 0x0000000000010000 xrw\n*default*        0x0000000000000000 0xffffffffffffffff\n```\n\n# Languages\n\nNesiac will demangle C++ and Rust symbols when it finds them.\n\n![image](https://github.com/Eekle/Nesiac/assets/96976531/56d88964-cc35-405e-8396-6c1106c357b0)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Memory usage visualiser for embedded applications",
    "version": "0.4.3",
    "project_urls": {
        "Homepage": "https://github.com/Eekle/Nesiac/",
        "Repository": "https://github.com/Eekle/Nesiac/"
    },
    "split_keywords": [
        "embedded",
        " elf",
        " binary",
        " memory"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "450abbd94d65ac488b347f82b8c85016856d51d84acbd168721fe9b035dabc87",
                "md5": "67d502fb4087ade4de9bd24b21862928",
                "sha256": "69e1b0e39775aa1bbb66690e3b650b26fbb4903e2d11caeb1d6be99168236da8"
            },
            "downloads": -1,
            "filename": "nesiac-0.4.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "67d502fb4087ade4de9bd24b21862928",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 10108,
            "upload_time": "2024-05-10T13:48:32",
            "upload_time_iso_8601": "2024-05-10T13:48:32.222763Z",
            "url": "https://files.pythonhosted.org/packages/45/0a/bbd94d65ac488b347f82b8c85016856d51d84acbd168721fe9b035dabc87/nesiac-0.4.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "40d80ed956a950a1632463cd8ea1197815e09fe7d4e03525f5123925a7be42c4",
                "md5": "29000061236da9c9340038e526f8155d",
                "sha256": "65d350f45e99741c588f643dc10b1079357e9b28b748f23b485b93686395454e"
            },
            "downloads": -1,
            "filename": "nesiac-0.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "29000061236da9c9340038e526f8155d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 7800,
            "upload_time": "2024-05-10T13:48:33",
            "upload_time_iso_8601": "2024-05-10T13:48:33.831261Z",
            "url": "https://files.pythonhosted.org/packages/40/d8/0ed956a950a1632463cd8ea1197815e09fe7d4e03525f5123925a7be42c4/nesiac-0.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-10 13:48:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Eekle",
    "github_project": "Nesiac",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "nesiac"
}
        
Elapsed time: 0.35189s