TOP Contributors

  1. MIKROE (2762 codes)
  2. Alcides Ramos (374 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (118 codes)
  5. Bugz Bensce (90 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (139251 times)
  2. FAT32 Library (71749 times)
  3. Network Ethernet Library (57120 times)
  4. USB Device Library (47430 times)
  5. Network WiFi Library (43082 times)
  6. FT800 Library (42403 times)
  7. GSM click (29835 times)
  8. mikroSDK (28077 times)
  9. PID Library (26885 times)
  10. microSD click (26198 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
Project

Memory Statistics

Rating:

0

Author: VCC

Last Updated: 2023-10-10

Package Version: 1.0.0.3

Category: Other Codes

Downloaded: 77 times

Not followed.

License: MIT license  

This is a remake of "PIC32 Memory Statistics". In addition to displaying the memory allocation and comparing multiple hex files, this tool provides a simulated memory, which accepts Erase/Write commands, coming from a physical MCU. It is used to avoid overwriting the physical memory and instead, display what would happen to it.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "Memory Statistics" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "Memory Statistics" changes.

Do you want to report abuse regarding "Memory Statistics".

  • Information
  • Comments (2)

Project Blog

This is a remake of "PIC32 Memory Statistics". https://libstock.mikroe.com/projects/view/777/pic32-memory-statistics

It provides a simulated memory, which accepts Erase/Write commands, coming from a physical MCU, through UART. This is useful on debugging bootloaders which erase/overwrite themselves. Instead of overwriting the bootloader code, the MCU application can use the provided flash library (MCUFlashLib.mpas), which sends the Erase/Write commands to the Memory Statistics tool (on PC), via UART. The effects of Erase/Write commands are displayed on the compare window. Thus the physical memory is not overwritten, leaving the bootloader intact.

Features:
- If the Defs folder is not found, a local fallback file is used (Defs.ini).
- User configurable memory sections (users can add EBIROM and SQIROM).
- Partial support for memory ranges (e.g. PIC32MZ and PIC32MK have three BootROM ranges).
- Colors are highly configurable (chart, tables, compare, compare minimap).
- "Simulated Memory" support (with hardware connection via COM port).

Limitations:
- Can't compute free words (as in PIC32 Memory Statistics).
- The simulated memory does not reproduce the physical flash memory limitations of writing "0"s only.

What is new/different, compared to PIC32 Memory Statistics:
- User configurable memory sections (they are not hardcoded anymore).
- Compare window has only one table. This is optimized for speed and memory usage.
- Less dependent on PIC32 features (like KSEG0,1,2,3 hardcoded sections).
- A local fallback file is used when a definition file is not found.
- Limitations in displaying statistics (see Statistics tab), as this requires more metadata about KSEG partitioning.
- A "Simulated Memory" allows displaying what would happen to a physical memory on a PIC32 when Erase/Write "commands" are applied to it.
- Many bug fixes.

Known issues:
- for a full list of known issues, see source code (main .pas) on GitHub (link at the end of the blog)

Misc:
- For Linux, the application requires libgtk2.0-0 package (libgtk2.0-0:i386 for 32-bit)
- seting permissions to COM ports:
  sudo usermod -a -G dialout $USER
  then re-login

Main window

Main window

In addition to PIC32 Memory Statistics, the chart provides a local zoom window.

View full image
Opening the Simulated Memory window

Opening the Simulated Memory window

The Simulated Memory window can be displayed from the compare window.

View full image
Simulated Memory window

Simulated Memory window

Erase/Write commands, received from MCU, are kept in a list of commands. Some or all of them can be sent to the simulated memory (which is a slot on compare window). These commands are applied to the loaded hex file, which is compared against an initial v

View full image
Chart and tables - color settings

Chart and tables - color settings

Every memory section can have its own colors, both in chart and in tables.

View full image
IDE tool settings

IDE tool settings

The IDE requires a dummy argument.

View full image
BootStartProgVector

BootStartProgVector

Comparing BootStartProgVector between bootloader and simulated read-back content. Selecting commands in SimMem window, selects entries in compare window.

View full image
BootFlashResetVector

BootFlashResetVector

Comparing BootFlashResetVector between bootloader and simulated read-back content. Selecting commands in SimMem window, selects entries in compare window.

View full image
BootVT

BootVT

Comparing BootVT between bootloader and simulated read-back content. Selecting commands in SimMem window, selects entries in compare window.

View full image

ALSO FROM THIS AUTHOR

Peak Programme Meter with LEDs

0

This is an example of a Peak Programme Meter with 2x16 LEDs. The scale is linear in volts, not dB. The integration time is much shorter than the fall time. It is useful to indicate signal clipping. This example follows no standard, it is for demonstration purposes only.

[Learn More]

DynTFT Color Themes

0

DynTFT Color Themes are a collection of inc files with color constants, usable by DynTFT components.

[Learn More]

Build Version Generator

10

Build Version Generator is a tool, which generates code, containing version number and current build date of a mikroPascal / mikroBasic / mikroC project. It is run as a compiler IDE tool.

[Learn More]