You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/memap.md
+18-21Lines changed: 18 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
## Introduction
4
4
5
-
*memap* is a simple utility useful to display static memory information required by [mbed](https://github.com/mbedmicro/mbed) applications. This information is produced by analysing the memory map file previously generated by your toolchain.
5
+
*memap* is a simple utility that displays static memory information required by [mbed](https://github.com/mbedmicro/mbed) applications. This information is produced by analysing the memory map file previously generated by your toolchain.
6
6
7
-
Note: this tool is showing static RAM usage and the total size of allocated heap and stack space defined at compile time, not the actual heap and stack usage (which may be different depending on your application).
7
+
**Note**: this tool shows static RAM usage and the total size of allocated heap and stack space defined at compile time, not the actual heap and stack usage (which may be different depending on your application).
8
8
9
-
## Table of Contents
9
+
## Table of contents
10
10
11
11
1.[Using memap](#using-memap)
12
12
1.[Information on memory sections](#info-mem-sections)
@@ -15,7 +15,7 @@ Note: this tool is showing static RAM usage and the total size of allocated heap
15
15
16
16
## Using memap
17
17
18
-
*memap* is automatically invoked after an mbed build finishes succesfully. But it's also possible to manually run the program with different command line options, for example:
18
+
*memap* is automatically invoked after an mbed build finishes successfully. It's also possible to manually run the program with different command line options, for example:
19
19
20
20
```
21
21
$> python memap.py
@@ -39,7 +39,7 @@ optional arguments:
39
39
-v, --version show program's version number and exit
40
40
```
41
41
42
-
Example:
42
+
Result example:
43
43
44
44
```
45
45
$> python memap.py GCC_ARM\myprog3.map -t GCC_ARM
@@ -66,28 +66,25 @@ Total Flash memory (text + data + misc): 66014 bytes
66
66
67
67
## Information on memory sections
68
68
69
-
Find here extended description on the multiple memory sections shown in the previous table.
69
+
The table above showed multiple memory sections.
70
70
71
-
- text: is where the code application and constants are located in Flash
72
-
- data: non-zero initialized variables; allocated in both RAM and Flash memory (variables are initialized in RAM at run time from Flash)
73
-
- bss: uninitialized data allocated in RAM, or variables initialized to zero
74
-
-heap: dynamic allocated memory defined at build time, usually used by malloc, etc, in RAM
75
-
-stack: used to store local data, temporary data when branching to a subroutine and context switch info; it's considered dynamic allocated memory region in RAM defined at build time
71
+
-``.text``: is where the code application and constants are located in Flash.
72
+
-``.data``: non-zero initialized variables; allocated in both RAM and Flash memory (variables are copied from Flash to RAM at run time)
73
+
-``.bss``: uninitialized data allocated in RAM, or variables initialized to zero.
74
+
-``Heap``: dynamic allocations in the Heap area in RAM (for example, used by ``malloc``). The maximum size value may be defined at build time.
75
+
-``Stack``: dynamic allocations in the Stack area in RAM (for example, used to store local data, temporary data when branching to a subroutine or context switch information). The maximum size value may be defined at build time.
76
76
77
-
On the other hand, there are other entries which do not correspond to modules directly and require a bit of clarification:
77
+
There are other entries that require a bit of clarification:
78
78
79
-
- Fill: this entry represents the bytes in multiple sections (RAM and Flash) that the toolchain has filled with zeros because requires subsequent data or code to be aligment appropriately in memory
80
-
- Misc: it mainly represents helper libraries introduced by the toolchain (e.g. libc) but there might be other modules not part of mbed
79
+
- Fill: represents the bytes in multiple sections (RAM and Flash) that the toolchain has filled with zeros because it requires subsequent data or code to be aligned appropriately in memory.
80
+
- Misc: usually represents helper libraries introduced by the toolchain (like ``libc``), but can also represent modules that are not part of mbed.
81
81
82
82
## Current support
83
83
84
-
*memap* has been tested on Windows 7, Linux and Mac.
84
+
*memap* has been tested on Windows 7, Linux and Mac OS X and works with memory map files are generated by the GCC_ARM, ARM (ARM Compiler 5) and IAR toochains.
85
85
86
-
Supported map files generated by the following toolchains: GCC_ARM, ARM (ARM Compiler 5) and IAR.
86
+
## Known issues and new features
87
87
88
-
## Known problems & New features
88
+
This utility is considered 'alpha' quality at the moment. The information generated by this utility may not be fully accurate and may vary from one toolchain to another.
89
89
90
-
This utility is considered 'Alpha' quality at the moment.
91
-
Please note, the information generated by this utility may not be fully accurate and may vary from one toolchain to another.
92
-
93
-
If you are seeing problems or would like new features to be added then please raise a ticket on [GitHub](https://github.com/mbedmicro/mbed/issues) and use ```[memap] ``` in the title.
90
+
If you are experiencing problems, or would like additional features, please raise a ticket on [GitHub](https://github.com/mbedmicro/mbed/issues) and use ```[memap] ``` in the title.
0 commit comments