dm8168的从ti官网下载ezsdk,里面很多模块是没有源码的,比如Media Controller firmwares。
能否通过签订NDA等方式,进一步取得源码?
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.
dm8168的从ti官网下载ezsdk,里面很多模块是没有源码的,比如Media Controller firmwares。
能否通过签订NDA等方式,进一步取得源码?
你好,
对于EZSDK,Media Controller firmwares不提供源码支持。
我主要是想改内存用。因为发现M3的解码内存可能不够,总是返回错误说资源不足。
wiki里面讲了修改内存的方法,http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map#Linux_applications_for_OMX
我按照说明,成功的扩大了一些内存,如MC_HDVICP2_INT_HEAP_CACHED、IPC_SR_MC_HDVICP2_HDVPSS,但是有一些内存我修改不成功,主要是标记为reserved的和dsp的。
我想问,是否wiki中内存图,红色的也就是Memory Reserved for Media Controller Executables的是否不能改,是不是一定要有Media Controller firmwares的源码,才能修改?
下面是wiki中复制过来的内存图,但是没有颜色了。原图可以在wiki原网址上看。
| Category | Memory Segment Name | Length | Start Address | Usage |
|---|---|---|---|---|
| Linux Memory | LINUX_MEM_1 | 364 MB | 0x80000000 | First memory segment given to Linux Memory Manager in Kernel |
| CMEM (C6Accel) | CMEM | 20 MB | 0x96C00000 | Contiguous memory segment used by C6accel |
| Slave Local Heap (DSP) | DSP_ALG_HEAP | 20 MB | 0x98000000 | Used for allocating memory for DSP algorithms |
| Shared Region | IPC_SR_HOST_DSP | 1 MB | 0x99400000 | Shared Region between Host and DSP |
| Slave Executable (DSP) | DSP_DATA | 12 MB | 0x99500000 | DSP Executable data (bss, const etc.) |
| DSP_CODE | 0 MB | 0x9A100000 | DSP Executable text (may not be used by all DSP applications. | |
| Shared Region | IPC_SR_MC_HDVICP2_HDVPSS (IPC_SR_VIDEO_M3_VPSS_M3) | 1 MB | 0x9A100000 | Internal Shared Region between Media Controllers MC-HDVICP2 and MC-HDVPSS |
| Slave Local Heap (MC_HDVPSS) | MC_HDVPSS_INT_HEAP_CACHED (VPSS_M3_INT_HEAP_CACHED) | 27 MB | 0x9A200000 | MC-HDVPSS local heap in the cached region, used for allocating internal buffers |
| Slave Local Heap (MC_HDVICP2) | MC_HDVICP2_INT_HEAP_CACHED (VIDEO_M3_INT_HEAP_CACHED) | 32 MB | 0x9BD00000 | MC-HDVICP2 local heap in the cached region, used for codec memory allocation |
| Reserved - MC-HDVICP2 Firmware | --- | 7 MB | 0x9DD00000 | Media Controller HDVICP2 Executable Code and data |
| UIA/Logger SM buffer | LOGGER_SM | 2 MB | 0x9E400000 | UIA/Logger buffer |
| Reserved - MC-HDVPSS Firmware | --- | 17 MB | 0x9E600000 | Media Controller HDVPSS Executable Code and data |
| Shared Region | IPC_SR_COMMON | 2 MB | 0x9F700000 | Default Shared Region between Host, DSP, MC-HDVICP2 and MC-HDVPSS |
| Unused Hole | Unused | 3 MB | 0x9F900000 | Unused memory, this can not be assigned to Linux, as linux needs to start at 4MB boundary |
| Linux Memory | LINUX_MEM_2 | 320 MB | 0x9FC00000 | Second memory segment given to Linux Memory Manager in Kernel |
| Shared Region | IPC_SR_FRAME_BUFFERS | 188 MB | 0xB3D00000 | Shared Region between Host and MC-HDVICP2 and MC-HDVPSS, used to allocate all video buffers |
| Reserved - MC-HDVPSS Firmware | MC_HDVPSS_NOTIFY_MEM (HDVPSS_NOTIFY_MEM) | 2 MB | 0xBF900000 | Used for IPC between Host and MC-HDVPSS. This is in non-cached memory region. |
| MC_HDVPSS_V4L2_FBDEF_MEM (HDVPSS_V4L2_FBDEF_MEM) | 2 MB | 0xBFB00000 | Used by V4L2 and Fbdev drivers. This is in non-cached memory region. | |
| MC_HDVPSS_DESC (HDVPSS_DESC) | 2 MB | 0xBFD00000 | Used by HDVPSS driver data structures. This is in non-cached memory region. | |
| Reserved for Memory Configuration | MEMCFG_SPACE | 1 MB | 0xBFF00000 | Reserved. Used by firmware loader. |
| Color Code |
|---|
| Linux Memory |
| Memory used for regions that can be adjusted without rebuilding Media Controller executable. |
| Memory Reserved for Media Controller Executables |
另外,对于omx的dsp,文档中提供的内存修改方法为: