Here's a small utility to help keep track of how much code space you are using.
Instruction memory map utility
Instruction memory map utility
- Attachments
-
- OvlInfo.exe
- (417 KiB) Downloaded 1119 times
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo
Panu-Kristian Poiksalo
Re: Instruction memory map utility
And while we're at it, here's another utility to help you keep track of what's using your program memory the most. This command line utility prints out a sorted listing of all sections in a program.
- Attachments
-
- coffInfo.exe
- (82 KiB) Downloaded 1064 times
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo
Panu-Kristian Poiksalo
Re: Instruction memory map utility
Hi Panu,
thx for providing these tools.
Up to now I always copied the vs3emu -l output to excel to extract the numbers and get a better overwiew of the memory consumption (when I once again ran out of space... ), but this really helps to save time.
Kind Regards
Michael
thx for providing these tools.
Up to now I always copied the vs3emu -l output to excel to extract the numbers and get a better overwiew of the memory consumption (when I once again ran out of space... ), but this really helps to save time.
Kind Regards
Michael
Re: Instruction memory map utility
Thank you for providing these tools, but sometimes the memory map utility is unreadable (see screenshot). I guess vertical scrollbar would solve this problem
Screenshot: http://i.imgur.com/su9yLAC.png
Screenshot: http://i.imgur.com/su9yLAC.png
Re: Instruction memory map utility
Perhaps, but the memory map in your picture really looks weird as it's in two pieces. What chip are you targetting?
-Panu
-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo
Panu-Kristian Poiksalo
Re: Instruction memory map utility
I'm targetting the VS1005G.Panu wrote:Perhaps, but the memory map in your picture really looks weird as it's in two pieces. What chip are you targetting?
Re: Instruction memory map utility
In that case, there is an error in your project's memory description file: you shouldn't have anything below 0x4000 enabled for your app (except vectors).I'm targetting the VS1005G.
Please post the memory description file so I can help...
-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo
Panu-Kristian Poiksalo
Re: Instruction memory map utility
Code: Select all
# This is a memory description file for safely portable VSOS 0.2x applications.
MEMORY {
page 0:
kernel_iram1: origin = 0x0080, length = 0x0360
#kernel_iram2: origin = 0x0400, length = 0x3c00
#kernel_hooks: origin = 0x7fd0, length = 0x0030
#app_i: origin = 13640, length = 1720
app_iram: origin = 0x4000, length = 0x3fd0
page 1:
#kernel_x1: origin = 0x2100, length = 0x0300
#kernel_x2: origin = 0x2500, length = 0x1b00
#rtos_x: origin = 0x7fe0, length = 0x0020
#ethbuf: origin = 0x2500, length = 0x0C00
app_xram: origin = 0x4000, length = 0x3fe0
#app_xram: origin = 0x4000, length = 0x2000
#app_xram: origin = 7122, length = 9262
page 2:
#kernel_y: origin = 0x1800, length = 0x0800
#kernel_y: origin = 0x1800, length = 0x0080
#intv_y: origin = 0x6fe0, length = 0x0020
#app_yram: origin = 0x2000, length = 0x4fe0
#app_yram: origin = 0x3000, length = 0x3fe0
app_yram: origin = 0x4000, length = 0x3fe0
#app_yram: origin = 0x2000, length = 0x4fe0
#perip: origin = 0xFC00, length = 0x400
#eth: origin = 0xFC60, length = 3
#rtc: origin = 0xFEA0, length = 3
#timer0: origin = 0xFE86, length = 2
}
CORE {
frequency = 12.288MHz
}
Could you provide reliable VS1005 mem_desc files for these two working models?
Re: Instruction memory map utility
Commented out the 1st line and now the memory map is continuous. I needed that line before to suppress "can't allocate at 0x80" linker error. I don't know why but now there's no error.
Re: Instruction memory map utility
Right. 0x80 is the reset vector of SPI bootable code (referenced by such c*.o startup modules) but VSOS v2 apps are loaded from 0x4000 with dynamic main() entry point so they don't need memory below that.
-Panu
-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo
Panu-Kristian Poiksalo