TOP Contributors

  1. MIKROE (2779 codes)
  2. Alcides Ramos (376 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (118 codes)
  5. Bugz Bensce (97 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 (139563 times)
  2. FAT32 Library (72041 times)
  3. Network Ethernet Library (57254 times)
  4. USB Device Library (47614 times)
  5. Network WiFi Library (43219 times)
  6. FT800 Library (42556 times)
  7. GSM click (29930 times)
  8. mikroSDK (28292 times)
  9. PID Library (26930 times)
  10. microSD click (26309 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: 82 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

FixedFIFO

5

This library provides a fixed-size FIFO to an application. Users can set the FIFO depth and width. There are also three examples for mikroPascal PRO for PIC, dsPIC/PIC24 and PIC32. Each example implements a USB CDC device and a PC application sends commands to PIC for adding/reading items to/from FIFO.

[Learn More]

Resolver connected to AD2S1200 decoder with CmodA7 board

0

ResolverAD2S1200DecA7 is a hardware + software project, which uses AD2S1200 chip, to interface with a resolver, for motor control applications. To talk to the AD2S1200 chip, the Digilent's CmodA7 board is used.

[Learn More]

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]