TOP Contributors

  1. MIKROE (2656 codes)
  2. Alcides Ramos (353 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (112 codes)
  5. Chisanga Mumba (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 (136835 times)
  2. FAT32 Library (69993 times)
  3. Network Ethernet Library (55976 times)
  4. USB Device Library (46290 times)
  5. Network WiFi Library (41895 times)
  6. FT800 Library (41204 times)
  7. GSM click (29011 times)
  8. PID Library (26422 times)
  9. mikroSDK (26391 times)
  10. microSD click (25384 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: 32 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.
- Limiations 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

USB FPGA programmer

5

The project is a Xilinx Spartan-3(E) and Spartan-6 FPGA programmer made with PIC18F4550 using USB. There are two host applications: a HID one and a CDC one, written in Delphi. Added support for Delphi XE5.

[Learn More]

RTCC_18FxxJ50 library

5

Library for accessing the PIC18FxxJ50 internal RTCC. The library should be compatible with other PICs with same RTCC.

[Learn More]

DynTFT Color Theme Generator

0

DynTFT Color Theme Generator is an editor for DynTFT color constants. It allows live preview of all supported DynTFT components under different color settings.

[Learn More]