Hello!
I am developping an application for the C6748 and I need to add H.264 encoding to it. Up to now, all my attemps to make it run on the C6748 failed. Here is an overview of all the steps I went through:
Test #1:
- I installed the H.264 encoder "dm6446_h264enc_02_02_00_02_production.exe" on my old XP computer with CCSv3.3 SR 12.1, bios_5_31_02, C6000 Code Generation Tools 6.1.19, framework_components_2_20_01.
- I copied the app folder (dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app) to my working directory (W:\app).
- I opened the project in CCSv3.3 (W:\app\Client\Build\TestAppEncoder.pjt), made some minor fixes to project properties and paths, then rebuilt all. Build Completed with 0 Errors, 0 Warnings, 0 Remarks.
- I connected a XDS510USB+ to a DM6437 board we designed a few years ago and the application executed successfully! Note that reading a frame to encode from the input file took almost 2 minutes.
Test #2:
- I changed (simplified) the folder structure of the project.
- The example is still building without errors, warnings and remarks.
- The example is still running well!
Test #3:
- On my new Win7 computer with CCSv5.3, I installed bios_5_31_09, c6000_6.1.23, framework_components_2_26_00_01 and "dm6446_h264enc_02_02_00_02_production.exe" in order to have a working environment similar to the one on my old computer.
- I copied the example application from test #2 to my working directory.
- I imported the legacy CCSV3.3 project to CCSv5.3 and made some adjustments to device variant, device connection, linker file, compiler include search path and linker file search path.
- The example application builds and runs successfully on the DM6437 :-)
Test #4:
- I updated the project to use bios_5_42_00_07.
- Building the application generates no error and no warning.
- Again, the application is running fine!
[C64XP_0]
*******************************************
Read Configuration Set 1
*******************************************
Running in Compliance Mode
Creating Algorithm Instance...
Algorithm Instance Creation Done...
Encoded Frame # 0
Encoded Frame # 1
Encoded Frame # 2
Encoded Frame # 3
Encoded Frame # 4
Specified number of Frames Encoded...
Encoder compliance test passed
-------------- SUMMARY --------------------
Total number of Frames = 5
Bit Rate at 7500 frames/Sec = 111053 Kbps
Width and Height = 1280, 720
-------------- END --------------------
End of execution
Test #5:
- I changed the device variant for the TMS320C6748.
- I changed the cmd file for the C6748 command file I use for other C6748 projects.
- I changed the target configuration file accordingly.
- The application built with no error and no warning.
- Running the application fails when adding algorithm's dma ressources (DMAN3_grantDmaChannels).
[C64XP_0]
*******************************************
Read Configuration Set 1
*******************************************
Running in Compliance Mode
Creating Algorithm Instance...
Algorithm Instance Creation Done...
Problem adding algorithm's dma resources... Exiting for this configuration...
End of execution
The Problem:
From what I can see, the problem comes from initializeDMAN3 (dman3_initImpl.c:418)
where chipTccs = 32 instead of 64 as for the DM6437.
Here is the DMAN3 trace i would get:
_DMAN3_initImpl> DMAN3 tccAllocationMaskH configures tcc 63, that is more than available on hardware 32
Does anyone have an idea of what is wrong with my C6748 project?
Have I missed something in the transition from DM6437 to C6748?
Thanks for your help,
Julie