Hi,
I have been trying to get information on the amount of RAM that is available on a running code. However I could not find any function that would give me that.
Is there any function available to check for RAM availability or am I missing something here?
Thanks
Hi Asad,
Please take a look at the .map file, you will find the origin the length for the RAM memory, the RAM data start and the data end that will depend on the heap size and the stack size.
Best Regards,
Mario
Hi,
I am assuming you are talking about this value?
I think I might have worded my question wrong. I would like to understand how much data RAM is being used on a running code. The reason is that I am trying to find out the maximum number of devices that can be connected to a network. In order to do that, I have to increase the size of APDUs which increases memory usage. I would like to how much memory is being used after I run the code on the device.
Does this explain my problem? Or am I missing something obvious?
Thanks,
Asad
Hi Asad,
I recommend to create a routine and fill all the memory RAM and start your application, it will work like a watermark.
You have to call the routine before and after your application.
We do not have a tool that can provide the RAM that the code is using in running mode.
The reason is that I am trying to find out the maximum number of devices that can be connected to a network. In order to do that.
I don't know what is your application, but you can take a look at the IEEE 802.15.4, Support Resources for JN516x MCUs|NXP the examples are not taking a lot of memory, are not working with the ZigBee stack.
Also, if your application doesn't need a bigger heap, you can reduce this value in the makefile:
Example:
STACK_SIZE ?= 6000
MINIMUM_HEAP_SIZE ?= 2500
Note It will depend the minimum size that the SDK will need.
Best Regards,
Mario