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.

OpenGLES/Ethernet clash on the CA6A816x?.

Hi,

I'm experiencing problems with integrating OpenGLES graphics and ethernet access into the same application. Basically, the graphical (OpenGLES) element runs fine on its own and so does the ethernet element (transfer of tcp packets from an external PC). However, as soon as I combine the two elements within a single program, the processor hangs within a few packets and has to be reset.

I've experimented with taking out some of the graphics commands to see which causes the problem. Commands like the following run fine.

1). All of the egl setup code (as per the omap examples in the sdk).

2). glEnableClientState(), glVertexPOinter(), glClear(), glSwapBuffers()

However, as soon as I run as OGLES commands that actually render anything, like glDrawArrays() or glClear(), the program will hang at a random time but usually within 10 loops. The serial connection then becomes completely inactive.

If I had to guest, I'd say that this was some sort of interrupt clash (between the SGX & ethernet H/W) , but I'm not much of a hardware expert.

I'm using the C6A816x Integra EVM, omap35x_graphics_sdk_4.00.00.01 libraries/headers for the graphics with the openGLES 1.1 libraries.  The kernel (psp directory) is linux-2.6.34-psp04.00.00.07.

Any ideas?.

Ta in advance,

Dave

 

 

  • I have now recreated this problem with the standard matrix app graphics demos. Here's how to induce the error.

    1). Boot up the C6A816x and wait for the matrix front screen to come up. This has loads of icons on it.

    2). Click the '3D Graphics' icon and then on the 'Vase' icon. This will run up the spinning vase demo.

    3). Whilst the vase is spinning, go to the serial terminal and login (username 'root', no password).

    4). Type 'top' and press enter. Run the vase demo again if it has stopped before you got this far.

    What will probably happen at this point is that the vase demo will hang along with the processor. Again, it seems that if anything disrupts the operation of the render process, then a hang is likely. I'd interested to here if any other C6A816x EVM owners can recreate the problem. It seems this only happens with the 3D demos which is consistent with my view that there's an issue with the SGX.

    Dave

     

  • Pathap,

    It is not clear how to satisfy that Linux PSP prerequisites. For example, where is the TI816x(389x) Linux-PSP release 04.00.00.10 (2.6.37) available for download? 

    In particular, it would be really nice if the Wiki page included links to download the various prerequisites; if you folks know what they are, why not make it easy for us to get it.

    So far, I have spent the last week trying to update the PSP for my TI816x EVM, but I am not having very much luck finding the resources. It seems to me that this should be something that takes an afternoon at most, but it very unclear what goes with what, and where it is.

    Google search for "Linux-PSP release 04.00.00.10"

    http://www.google.com/search?client=safari&rls=en&q=Linux-PSP+release+04.00.00.10

    gives only 3 pages, none of which include a download link.

    The only PSP I can find is at

    http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/latest/index_FDS.html

    Which is C6A816X_EZSDK 05_00_00_56, and includes 04.00.00.07 (IIRC)

    It is not clear to me that anyone outside TI can actually install the Graphics Update.

  • Buchalter,

    I can understand your concern.

    At the same time, please do understand that this is a graphics SDK component(standalone) release. The EZSDK release using this graphics SDK release is yet to happen.

    The graphics SDK  is bound to have dependancy on other softwares like Linux PSP, syslink, IPC, file system, toolchain as mentioned in prerequisites. Also since its a standlone(component) release, it will not have all dependant softwares bundled with it.

    The best we can do is point you to the right software versions and one can start using them as and when they become available externally. Usually the PSP is already available externally when we make a graphics SDK Release. For eg in this case the PSP is available at - https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.30316.12473

    This works out well for OMAP35x/AM35x/37x family of devices since the graphics SDK is dependant only on the Linux PSP there, which in all means would have been available externally by the time graphics SDK release is made. Please note that the graphics SDK release we make is not just for 816x alone but for other devices as well like OMAP35x with SGX core 1.0.3, OMAP35x with SGX core 1.2.1, AM35x/AM37x. The users of these devices can pick up the graphics SDK and start using it straightaway.

    However in case of 816x, there is also an additional dependancy of display sub system on the syslink which inturn has dependancy on IPC software. Also one requires the HDVPSS release as well.Sometimes some of these dependant software verions might not yet be available externally.

    It is the task of the EZSDK to integrate all these components -thereby simplifying things for the user and at the same time make it easy for the user. In this way user is not required to go in search of multiple dependant components.  All required components with appropriate verions would have been integrated, validated and made available as part of one single package. This kit provides everything Integra™ developers need to evaluate and start developing on the C6A816x DSP+ARM® processors.

    Thanks,

    Prathap.

     

     

     

  • Hi Prathap,

    Prathap Srinivas said:

    The best we can do is point you to the right software versions and one can start using them as and when they become available externally. Usually the PSP is already available externally when we make a graphics SDK Release. For eg in this case the PSP is available at - https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.30316.12473

    Ok -- a couple of things; 

    1) I still don't know how I would have found that link without you providing it; I am explicitly asking that these links be put in the documents that you are pointing us at, so that we can get the pieces we need.

    2) When I try to follow that link, i get the following message:

    Again, this looks like it is for TI internal users. In any case, I have no idea who I would contact to get access. I stand by my assertion that it does not look like a user external to TI can actually currently integrate the Graphics SDK on the TI816x platform -- which is what you are suggesting we do to resolve the problems we asked about in this thread.

    3) While I understand that the Graphics SDK is a standalone product, you recommended that both Dave and I transition to the update to solve our problem with the 816x EVM. So, I think that our questions are reasonable in the context of this discussion.

    As things stand, we can hang the GPU with the demo that shipped with the board. You say that the new Graphics SDK fixes this problem. I have spent almost two days trying to actually build an image with the new Graphics SDK and a 2.6.37 kernel. I would really rather not waste my time on something that is just not possible to do. So I ask again:

    (1) Is it possible for an external customer to build an updated image that uses the new Graphics SDK for the TMS320C6A8168 EVM?

    (2) If it is, can you please provide the steps and links (that are actually accessible by a customer)  required to do so?

    Please note that for me, this is more than an issue of a hang; please see http://e2e.ti.com/support/dsp/integra_dsparm/f/625/p/98131/345880.aspx#345880 for a related issue to the current kernel and graphics SDK for the EVM that appears to disable the PCIESS peripheral when the graphics driver modules are loaded and exercised.

    I am trying to generate a development environment that will allow me to evaluate the part to design it in, but so far getting a fully-functioning linux environment has been extremely challenging -- sufficiently so that it is unclear how to actually build a system with updated components.

    Please let me know if there is an answer to #1 and #2 above as they are stopping our progress in evaluating the part for design-in.

    Thanks!

    B.J. 

  • I share Buchalter's concerns completely. I had a look at downloading the suggest psp but could not find it. It seems to me that these types of updates (like the graphics SDK) should only be performed in the form of an updated complete EZSDK such that all depenedant components can be provided together. It is not sensible for TI to suggest the use of upgraded components if the dependant components are not available or lack appropriate documentation on how to integrate them. This is not sensible configuration control management in my view.

    Further to this, it is clear to me that the C6A816x product SDK is insufficiently mature. For the provided supposed demonstration applications to hang in such a way suggests a lack of product testing in my view. Also, from the responses to questions I have previously posed it seems that components of the SDK are changing rapidly and that other simple facilities (like the ability to change the CPU clock speed) are not yet available. Whilst I understand that all products and their associated software must go through a maturing and stabalisation process, it is frustrating for TI customers to have to encounter these problems with TI products that they had been led to believe are established and not going through beta testing. For customers with short timescale developments I would recommend one of the older, more established chipsets.

    Dave