Hello Everyone.
We use DVRRDK_03.50.00.05 SDK to develop product.
APP is working <capture -> encoder->write file>
if we config DVRRDK_03.50.00.05 SDK to 2G Memory。Platform is TI8168EVM Board。
after do ./init.sh ./load.sh everything look better.
Then ./bin/app.out The CPU is hung up when run to System_linkCreate(encId, &EncPrm, sizeof(EncLink_CreateParams));//hung up in cortex-a8
hung up when run to memset(pBaseAddr, 0x80, (size * numFrames));;//hung up in m3video (file at ./mcfw/src_bios6/src/utils_mem.c Line 738 to clean mem)
I have printf that pBaseAddr = 0x80000080. (Can not Access that Memory??)
Memory Allocation when build this SDK as fellow:
Memory Map - 2GB DDR
0x80000000 +--------------------+
| |
| 278 MB | (SR1) Bitstream buffer {Cached on A8. Cached on M3, although access by DMAs}
| |
0x91600000 +--------------------+
| |
| 3 MB | Video M3 Code
| |
0x91900000 +--------------------+
| |
| 15 MB | Video M3 BSS
| |
0x92800000 +--------------------+
| |
| 3 MB | Video M3 Data
| |
0x92B00000 +--------------------+
| |
| 2 MB | VPSS M3 Code
| |
0x92D00000 +--------------------+
| |
| 20 MB | VPSS M3 BSS
| |
0x94100000 +--------------------+
| |
| 6 MB | VPSS M3 Data
| |
0x94700000 +--------------------+
| |
| 1 MB | DSP Code
| |
0x94800000 +--------------------+
| |
| 24 MB | DSP Data
| |
0x96000000 +--------------------+
| |
| 640 MB | (SR2) Frame Buffer Region {VPSS - Video M3 Frame Buf}
| |
0xBE000000 +--------------------+
| |
| 128 KB | Video M3 exception context
| |
0xBE020000 +--------------------+
| |
| 128 KB | VPSS M3 exception context
| |
0xBE040000 +--------------------+
| |
| 22.75 MB | (SR0) Syslink MsgQ/IPC List MP - <Non-cached on M3>
| |
0xBF700000 +--------------------+
| |
| 2 MB | VPSS M3 - VPDMA Descriptor
| |
0xBF900000 +--------------------+
| |
| 2 MB | VPSS M3 - FBDev Shared Memory
| |
0xBFB00000 +--------------------+
| |
| 2 MB | Host - VPSS M3 Notify(For FBDev)
| |
0xBFD00000 +--------------------+
| |
| 1 MB | Remote Debug Print
| |
0xBFE00000 +--------------------+
| |
| 2 MB | Shared Memory application inter process communication on A8
| |
0xC0000000 +--------------------+
| |
| 512 MB | Linux
| |
0xE0000000 +--------------------+
| |
| 256 MB | SR3_FRAME_BUFFER_EXTRA - Extra heap for video frame buffers.Not mapped on M3
| |
0xF0000000 +--------------------+
| |
| 256 MB | Tiled 8-bit + 16-bit region
| |
0xFFFFFFFF +--------------------+
Then I had config DVRRDK_03.50.00.05 to use 1G Memory.
rebuild this SDK and APP
./init.sh ./load.sh ./bin/app.out
Everything is OK. This H264 file is write.
Then printf pBaseAddr = 0x90000080
Memory Allocation when build this SDK as fellow:
So somebody Can help me ? what is error?
How can I fix this Problem?
I guess the Memory at 0x80000080 can Access.Because of when we config the SDK to use 1G Memory,The ARM cortex-a8 is use that address.
thank you !