This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
I got memory map information from SDK7.2/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/system_memory_map.html and there are some memory partion I can't understand, please take a look at my questions:
1、what is "Memory for shared buffers in DDR, located at 0xAE00 0000 ~ 0xCDFF FFFF(512M)" used for?
I guess it is a buffer all the cores shared like A72、C66、C71、R5F etc.
2、How to understand the "local scratch memory" and "local help memory"?
for example, the C71 DDR map is list as belows,what is the difference between "DDR_C7X_1_LOCAL_HEAP" and "DDR_C7X_1_SCRATCH"?
DDR_C7X_1_LOCAL_HEAP | 0xDC000000 | 0xEBFFFFFF | 256.00 MB | RWIX | DDR for c7x_1 for local heap |
DDR_C7X_1_SCRATCH | 0xEC000000 | 0xF9FFFFFF | 224.00 MB | RWIX | DDR for c7x_1 for Scratch Memory |
3、I' am concern about the memory use of Perception algorithm pipeline or Camera pipeline, which are compose of capture+isp+preprocess+tidl+postprocess.
I want ask which memory map dose Camera Pileline used?
4、last, I get informations from question "Extend memory for C7x" as listed below:
Address 0x8000_0000 to 0x9FFF_FFFF is for Linux kernel
Address 0xA000_0000 to 0xDFFF_FFFF is for Linux resource table, IPC memory and code/data memory for each core, tiovx object descriptor, shared memory etc.
Address 0xE000_0000 to 0x0000_0001_7FFF_FFFF is mapped as Linux virtual memory.
I think it has changed since SDK 7.2, can you tell me the new arrangemnets of DDR MAP, Thanks!
Hi fengjie hu,
Please find answers for your questions.
1, yes this is frame buffer memory. This is memory area from which buffer space for storing frames will be allocated.
2, local heap will be used when you call malloc on that core. Scratch memory will be used for specific purposes like for c7x/TIDL, scratch memory is allocated/reserved on C7x. Similarly for codec, mcu2_1 has scratch memory.
3, frame buffers for camera chains will be allocated from Shared buffer in DDR, ie from 0xAE00 0000 ~ 0xCDFF FFFF.
3, Please refer to SDK7.2 memory map html file for the new arrangements.
Regards,
Brijesh
Hi, Jadav, Thanks for your timely reply.
based on your answers, I got 2 questions:
1、Suppose I run two CNN network(Netwok A and Network B) on c7x/TIDL, I think the totoal heap memory c7x used is NetworkA Heap memory + NetworkB Heap memory and the totoal scratch memory c7x used is NetworkA scratch memory + NetworkB scratch memory.
But I wonder if there is any optimization in memory useage, since c7x can only run one network at one time, and the heap memory and scratch memory can be released when changing Network from A to B. So I guess the practically memory useage of c7x is MAX(neworkA memory, NetworkB memory)?
2、I only found SDK7.2/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/system_memory_map.html, which do not have information before address 0xA000 000 and after 0XFC00 0000, what are they?
thanks!!
Hi fengjie hu,
The address starting from 0xA0000000 is being used for mcu1_0.
DDR_MCU1_0_IPC | 0xA0000000 | 0xA00FFFFF | 1024.00 KB | RWIX | DDR for MCU1_0 for Linux IPC |
DDR_MCU1_0_RESOURCE_TABLE | 0xA0100000 | 0xA01003FF | 1024 B | RWIX | DDR for MCU1_0 for Linux resource table |
Regards,
Brijesh
Hi, Jadav,
what is the address from 0x8000 0000 - 0x9fff ffff?
what is the address from 0xfc00 0000 ~ 0x 0000 0001 7fff ffff?
Hi fengjie hu,
I think the address starting from 0x80000000 is used for Linux.
I think the last region is used for TIDL/C7x for extra memory space.
Regards,
Brijesh