nesiac


Namenesiac JSON
Version 0.4.2 PyPI version JSON
download
home_pagehttps://github.com/Eekle/Nesiac/
SummaryMemory usage visualiser for embedded applications
upload_time2023-10-10 06:49:24
maintainer
docs_urlNone
authorEekle
requires_python>=3.9,<4.0
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": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "embedded,elf,binary,memory",
    "author": "Eekle",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/f6/82/0d54dfe055f03270072b16d5bfb17650f0ac314305f62e05fdab56c183e2/nesiac-0.4.2.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.2",
    "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": "fd0a7b75981d18ecbed9d77de74ed55c014ca02ba8dd4554684b15a483f514f5",
                "md5": "410957298db9a56d9ca2ff4bdbb19b71",
                "sha256": "b5edb58c5c2145c6d12448208361abb8f6840e7421c7d344a0fb70fb3d17d5ac"
            },
            "downloads": -1,
            "filename": "nesiac-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "410957298db9a56d9ca2ff4bdbb19b71",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 10099,
            "upload_time": "2023-10-10T06:49:22",
            "upload_time_iso_8601": "2023-10-10T06:49:22.995421Z",
            "url": "https://files.pythonhosted.org/packages/fd/0a/7b75981d18ecbed9d77de74ed55c014ca02ba8dd4554684b15a483f514f5/nesiac-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6820d54dfe055f03270072b16d5bfb17650f0ac314305f62e05fdab56c183e2",
                "md5": "3c955943e266f80999517ef634471332",
                "sha256": "55622934ef3d00576a6e107605d873c098b7bf882515ba97e52fff8f961d1bed"
            },
            "downloads": -1,
            "filename": "nesiac-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "3c955943e266f80999517ef634471332",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 7981,
            "upload_time": "2023-10-10T06:49:24",
            "upload_time_iso_8601": "2023-10-10T06:49:24.396560Z",
            "url": "https://files.pythonhosted.org/packages/f6/82/0d54dfe055f03270072b16d5bfb17650f0ac314305f62e05fdab56c183e2/nesiac-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-10 06:49:24",
    "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.12493s