Hi, Ti,
I want to integrate H.264 DM36x Ver 2.0 Codec to into dvsdk2.10.00.18. The framework_components_2_24_01 and linuxutils_2_24_03 . I have seen H.264 DM36x Platinum Codec (ver 2.x) - Overview and features in WiKI of Ti.
1) When I run the encode.out. There was a error:
CMEM Error: init: major version mismatch between interface and driver.CMEM Error: needs driver version 0x3000000, got 0x2300000
2) When I use linuxutils_2_25_02_08, have errors:
File /home/zhou/2approdvsdk/dvsdk_2_10_01_18/linuxutils_2_25_02_08/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.callocated heap buffer 0xc6000000 of size 0x14e000CMEM Range Overlaps Kernel Physical - allowing overlapCMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x84c00000)cmemk initializededmak: Unknown symbol EDMA_CHAN_SLOTedmak: Unknown symbol edma_free_slotedmak: Unknown symbol edma_alloc_channeledmak: Unknown symbol EDMA_CTLRedmak: Unknown symbol edma_alloc_cont_slotsedmak: Unknown symbol edma_free_channeledmak: Unknown symbol edma_clean_channel
How to deal with it? I want to H.264 DM36x Ver 2.0 Codec to into dvsdk2.10.00.18, Linux version 2.6.18.
waiting for your replay!
Star,
The EMDA symbols that are missing are for non-DM36x kernels. By default, edmak.ko builds for non-DM36x kernels. For DM36x kernels (LSP 2.10), a symbol needs to be defined.
In your linuxutils_02_25_02_08 release, you will need to rebuild edmak.ko with -DLSP_210. To do so, edit: linuxutils_02_25_02_08/packages/ti/sdo/linuxutils/edma/src/module/Makefileby changing the -ULSP_210 to -DLSP_210.
However, there is currently a bug where the EDMA_CTLR() macro is used outside of #ifndef LSP_210. In edmak.c, in the function release_channel(), the code at line 207 needs to change. Change: if (EDMA_CTLR(chan) == 0) { INIT_LIST_HEAD(&channels[channel].users); channels[channel].nParam = 0; channels[channel].isParam = 0; }to:#ifdef LSP_210 INIT_LIST_HEAD(&channels[channel].users); channels[channel].nParam = 0; channels[channel].isParam = 0;#else if (EDMA_CTLR(chan) == 0) { INIT_LIST_HEAD(&channels[channel].users); channels[channel].nParam = 0; channels[channel].isParam = 0; }#endif
Regards,
- Rob
You can also refer to http://processors.wiki.ti.com/index.php/Migration/Integration_Guide_for_DM36x_H.264_version_2.x_codecs for some integrations help.
regards
Yashwant