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.

Question about running JPEG encoder on TCI6630K2L EVM

Other Parts Discussed in Thread: TCI6630K2L, SYSBIOS

Hi

I am new to DSP and trying to use the jpeg encoder on the TCI6630K2L platform which combines up to two ARM® CortexTM-A15 MPCoreTM processors with four cores of TI's TMS320C66x high performance DSP. I downloaded the code from

software-dl.ti.com/.../index_FDS.html

I imported as a project, and it can compile, build and create *.out file. When I debug and ran the project on the DSP core, it never went to main(), and the status of the core is always running. I think there are some initialization issues, but I didn't know how to figure it out. I just ran it as default, and didn't change any value. Is it a problem with Testparams.cfg and Testvecs.cfg? Could you tell me how to modify the codecs with them? I also didn't change the JPEGDecApp.cmd totally. It is the default *.cmd file. Is it appropriate for my k2l? Thanks,

Sincerely,

Xuantian

  • Hi Xuantian Li,

    Your understanding is correct. This JPEG encoder is validated on C6678 EVM's. You may need to update .cfg and .cmd files for new platform i.e. K2L. Could you please share the .cmd and .cfg file used in the project here?

    We will check with JPEG encoder experts and get back to you with our observations. Thank you.
  • Hi Raja,

    Thank you for your help. I zipped all of .cfg and .cmd files I used and linked here

    Rar!ϐs
    ��t �?W�	\�wnhH3 cmd and cfg\JpegEncApp.cmd�o!L���}�|:��$v�hJ���9@��r�+��7��
    ��f����)>�&�@�Ѐ�ip�"J$����H�p��K��},q��{}��p'�����W�����v�߽��%u
    �����f�h�RF�v��
    ��L����y���'q�3��	��N�_�;}���aq�s�
    ��#�\k<�R�p��X3�)�/L���&]pCq{R�'&�
    6��4�_����s2�xP�>�>w
    �(�X�g�;����G�&Hrdq�X����7'K��jcr6S!ގ1ڕ�9�2\����� �x}��
    VZhHS�4�%���uL�͖�|sGV�8����&��^z�ͯC��6Z�e�L�
    �m��p����	�01�
    {�Uo��(͔�pz����w�SX�
    n��s%���S�&Y��R��JƄo
    �?v�vo����ξ��ԵԨ��o�����;�T���t]�|�9�5��Ne�?�S�{�T�:`����#�Z{�pkq�t�]�Y��r2��oU�7#|����*���Ί�gVVΪ
    ox/�!���#��RUX�%������'�H��ʣ�i��n��������ZV�ҥK��R�I�…�K�k-�k��Z.w|��^�p�Ja�L��l�(����I�i��'<ݵ���=nBb�)�"��C��K|�s�?Vzz>IZFYB��v#1UvӹkxW;t��a��h�B���u��	<�]b
    B΅�ȫ�9��>q#�xR�ʒ\T�q�y&�m�UT>mػK����琵^|�������F��K6�>T������^(ઉ�ٸv`&�W�LJ!ÿ��a��m���@|)t �>�����5lD3 cmd and cfg\JpegEncApp6678.cfgQ��A~|=�\tZ��ҙ�0��3;n�-�n�*E���"
    E�\�|t?W��r�ߠ�Q^Wk�gh�s�n�՞7�7.��j, �"�*�!�ČQP-ڝ�'Y��t��I`m{�ϲ�:��r�T�f
    ~�)?���:<Znv7�O���b�X��'C����<�r�����S�������g(Q��y��I*������<��`�a�n�[����Hg�<��L�
    |Z�R9��٬#�d�E�g+���@��t �;��w�;�hH3 cmd and cfg\linker.cmd���L���A[�~)�rݵ�f]yvј	fh��r�e�ۀ@m5$[_HI;�m�}K�8�e8�ݗ���Ə	�h�2�2z�=$��J@� �ﹳX["�PB�?���H�S��^'����h���Q���z� !��vQ�+�w�~'�IL��P�u�����6in��G��&��ܕ+@�����9#��)�L��r�l��Q�5����Mq��v�
    Sɴ�l��M�
    �z���8`9]���}�y�-KD���M�G�7G�H� ;�f�ؿ[m�k<>g-ǰ#���~�����;��:+��WO|QZ�7]�"9�t��suHi�v�
    �>gپԗ$�!��IG4�^���Ni�X7���~~3��G4P"b��j��������Du;�
    �MY\��*ր����I��8XN�)�7W�����xN���Β����F�ay>��Ն����L�\7~ʠʜ}	k�Y��m����%�)*M{f�͖n�Ϩl>��e5��^E|��,^O �ܬ�������XA�ž$���};�2�^����6�8�Q��&�K��%�2��>�����}��_t}�T�0��N�s�������
    �g�^�h+ 870�y�Q���Q1zY�.�V���3�R���1�g�{�]P|��� ��0ڲ�\�p�v<�{����v�'�V9)_"���V���k[|�a�M�h�)d����7�Z��('�06Y]S�Whމ~e�	���K����J���xG<u�#��N��/歾�T��5=����.�^��z���kP0m����b�h�֨c�X���@~]	���T��++�����T���Ca���uI.Fp�m�p.N	M#�ķ;w43j�bݫ=_��݊���4-��^��Hp❊�o:
    �3p)�B�x�#騋����G�=8w�B�B
    �82B	�D6��VX&�a�a���*0�	j��j�z�Dq4ծ�V~?)��[w�N�ջ]!�-�-׈���i!���]��-�_�(�_пAW��E�c���`G�����(�é�4�8o0Z2�#�������iPf8�C��x��I�t*7CH���}���b->TX٤�f��Uǿ����n��i�9/��G���3�����+W�ͳiY�����P����
    ~��Nn��U�4�i���<Q�9�Cyہ��Jq���}+���t �:�
    ��)�5lD3 cmd and cfg\Testparams.cfg�����~��f7e��k@�_�`gD�v�P,ڒ1�j����������&�J�ƍ�e=�5�~q$~(�'�{��{��A�{h@s�b��BT�	��s�g���ou�LI
    ���>�Ëc'���r�KǓ@J�<>=��k��Z\�~Bc/�8��3ܻ���I-�[>9t�SO�S�,x�!+}ד���uO��M�$6T�����I\r����>.8���5Gq��d��I���d�I��L:0ז=�]xn=n��y�P>�z�Z�����֫[F���2��EY��
    ��]LW�4��WF`����LҤ����.%�����W�ؾLW7��~ܳ��`�m�$�S��H/u8X�1�G�9�o��$�,'�b���8wd�hIڊ&�{;'W��{��t,�_�2*Eu��ޯ��u�W`ڞ��&5X��nHPϜ��$�9p?�@�L#*�k2�{@g��}�vbS�٧�*-�(о%h�7`�(�^�$[F���j��؎��HY#t �8�����5lD3 cmd and cfg\Testvecs.cfg̽����G�kG��M(𠔶ZԾ�?�FJW‹$Z�P�%�Bl�������&�����7
    ��8}�0b�
    �@�J`ǀ
    B��~@f��<�3�:
    {p��Y�qɻ��,��W�$���Ǎ��f5��p���L?܊(�L��g�H�V�1P�w^
    j-y��s��/�1�B=K��$������@��	��IQa�J��$�D�fAv�f���թeՒ�>�x��`z�߂�W�����i�Fh�DT��s��؄H���.&��E	�u!U����D%t�0�QiH0cmd and cfg�-�$�={@

    I had to change the extension so it can be shared here. The linker.cmd file is used in project\Debug\configPkg sub-directory. The JpegEncApp.cmd and JpegEncApp6678.cfg is available in the project file. Please help me to modify them and if it possible whether you can give me some user guide or detail steps for use Testparams.cfg and Testvecs.cfg? Thank you very much,

    Regards,

    Xuantian

  • Hi Xuantian, I haven't tried Jpeg on K2L, but maybe you can take a look of below E2E for some ideas of what would need to be changed/checked

    https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/490729

    Above post was for porting h.264 from C6678 to K2H

    Thank you,

    Paula

  • Thanks for your help.

    Sincerely,

    Xuantian

  • Hi,

    Sorry to bother you again. I have a other question. How to use the Testparams.cfg and Testvecs.cfg? Do I need to change some part of TestAppEncoder.c or I just leave them as defaults? thanks,

    Sincerely,
    Xuantian
  • Hi Xuantian Li,


    You can leave them as defaults to encode the set of test vectors provided in the package. These are used to configure the encoder and each of these parameters explained in the user guide (JPEG_BL_Encoder_C6678_UserGuide.pdf ) located at "packages\ti\sdo\codecs\jpegenc\Docs" folder. 

    Thanks,

    Praveen

  • Hi Paula,

    I have followed these steps in the link. I changed SYS/BIOS 6.37.00.20 and XDCTools 3.25.04.88, which supported K2L EVM. I also selected "ti.platforms.evmTCI6630K2L" in the platform, and modified linker.cmd, but I didn't know how to modify the .cfg file. It can compile, build and create *.out file. But when I debug and ran it, it still didn't go to the main(). How can I deal with it? Please help me. Thanks a lot,

    Sincerely,
    Xuantian
  • Hi Xuantian, yes you will need a gel file that works for your platform.. I will ask internally from where to get one (I guess from ccs -> ccs_base -> emulation -> boards but I will confirm).

    About not stopping in main, I think it is related to not running correct gel file, but you can do a quick test. Search in your app .map for c_int00 address and add an hardware break point to that address in CCS in order to see if you ever stop there.

    thank you,

    Paula

     

  • Hi Paula,

    Thank you for you response. I found the gel file, and modified it in the target configuration section. Is it right? I am sorry that my description lead to misunderstand. When I debug the JPEG project, it could stop at the main(). But when I clicked the resume button for "C66xx_0" core, the program cannot enter main(), and the status was always running. I tried "Hello Word" and a FFT_Example before, they worked.

    Sincerely,
    Xuantian
  • Hi Xuantian, so if I am understanding correctly, you can stop in main() but you cannot go step into main function, is this correct? have you tried putting hardware breakpoints inside TestAppEncoder.c main()? are you building in debug?

    thank you,

    Paula

  • Hi Paula,

    Yes you are right. I have built in debug, which executed as normal. I added a printf like this in the first row of main(), but there is nothing happen.

    void main(void)
    {
    printf("IPC start");
    Task_Params taskParams;
    /* Call Ipc_start() */
    printf("IPC start");
    Ipc_start();


    The program didn't step into main() and exit.c, just keeping running. Is there any problem in initialization issues? Thanks,

    Sincerely,
    Xuantian
  • Hi Xuantian, seems it is a mistmach between platform and build.. please send us CCS project .cmd to see if we can find something obvious..

    thank you,
    Paula
  • Hi Paula,

    Thank you for your help. We tried to run the encoder several times yesterday. This is the main function.

    void main(void)

    {

    printf("IPC start\n");

       Task_Params taskParams;

       /* Call Ipc_start() */

       printf("IPC finish\n");

       Ipc_start();

       /* Create encode task  */

       Task_Params_init(&taskParams);

       taskParams.stackSize = 0x2000;

       Task_create((Task_FuncPtr)EncodeTask, &taskParams, NULL);

       printf("Task finish\n");

       /* Call BIOS_start() */

       BIOS_start();

    }

    We found when "BIOS_start()" was deleted, the encoder could be completed. However, if the main() included that "BIOS_start()", the program would keep running and cannot finish. Is it mean that I miss to install or lose some important components in my computer?

    FC 3.40.1.4

    BIOS 6.37.0.2

    XDC 3.25.4.88

    IPCTools 3.21.0.7

    XDIAS 7.24.0.4

    I attached the test project in it.

    TestAppEncoder_rar.txt

    I just changed the extension so it can be shared here. Thanks,

    Sincerely,

    Xuantian

  • Hi Xuantian, you need BIOS_start() for Jpeg encoder.. it is any error reported? or can you see where it is hanging? .. one possible test would be to build all the sections in DDR (move from L2SRAM and MSMCSRAM to DDR) rebuild and give a try..

    Do have you tried any Sysbios example on your K2L? if so, and it is working maybe worthy to check if trere is anything missing in your CCS project properties.

    Thank you,

    Paula

  • Hi Paula,

    Thank you very much for your help. I have figured out what the problem was. I didn't set the source documents in correct directory. There is not any error report or nothing showing in the console, so I wasted lots of times to find where the problem was in. Thank you for your patient.

    Sincerely,

    Xuantian

  • Hi Xuantian, thanks for the note!, just to confirm, now you can get a correct output jpeg image on your K2 board, is this correct?

    thank you,

    Paula