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.

Linux/AM5728: Development setup

Part Number: AM5728

Tool/software: Linux

Hi,


we would like to work on AM5728 for our new project. we have no option other than linux to work on it.

now, I'm new to Linux but have a background of application development in C, C++ and embedded C. I had experience in AD SHARC processor environment VDSP++. As per new requirement we have selected AM5728 for our application.

the point is i'm new to TI, TI CCS and Linux.

I request all of sitara or linux forum people to understand the situation and give guidance how to go ahead.

during my home work about the development, I have searched in google and i found so many ways and videos in TI made be indecisive.

I'm confused with CCS or linaro or codesourcery or busybox.

please suggest how to go ahead in my project.

BR

satya

  • Hi,

    You can download the Linux SDK here: software-dl.ti.com/.../index_FDS.html On the download page you will find links to documentation under the "AM57xx Linux SDK Documentation" section. This might also be useful: training.ti.com/am57x-sitara-processors-training-series
  • satya,

    I was hoping you would get some more feedback from the community. As you haven't, I wanted to provide my perspective. Maybe others will add to this and provide some different perspectives.

    satyanarayana P G64 said:
    we would like to work on AM5728 for our new project. we have no option other than linux to work on it.

    Welcome to using TI. And Linux, but I would ask, if you can expand some more, why Linux? Did you consider our Processor SDK for RTOS? I just wanted to make sure you knew of it as well. This might be a much easier transition for you and your team.

    If Linux is the direction you are heading, it can offer a lot of advantage, but it is very different than the world you have been living in. It's a good world in my opinion, but it is very different and many people underscope the transition required as it impacts most areas of your development.

    satyanarayana P G64 said:
    during my home work about the development, I have searched in google and i found so many ways and videos in TI made be indecisive.

    This is very understandable. The vast world of Linux has many components, and a lot of the information you find won't even be applicable to Embedded Linux, but to PCs and servers. These can be different worlds unto their own.

    Did you find our Processor SDK Training Series? It might provide a nice, specific picture on TI's Processor SDK.

    satyanarayana P G64 said:
    I'm confused with CCS or linaro or codesourcery or busybox.

    Yes, I can understand this. I would recommend you stay focused on the TI Processor SDK. Others in the Linux world might disagree with me, and for good reason. But, since you are getting started, I believe focus is your friend. Once you thoroughly understand the SDK, which should provide almost everything you need to get your project done, you can explore the pro's and con's of other approaches, distributions and tools.

    I would recommend you start here. This is our Processor SDK for Linux Getting Started Guide. Then take a look at the rest of our documentation here. These documents will not answer all of your questions, unfortunately, but they should provide a decent framework.

    If you want a good source for Embedded Linux training and information, I recommend this. There is lots of great content out there, but as you've seen, it can be a little overwhelming.

    Here is my very high-level view of what you have ahead of you:

    1. Start working today with the TI SDK of choice on a TI EVM that is closest to your end system. Focus on how we got our software to work on that board.
    2. Build a board. I recommend using components that are from our EVMs or at least have good open source support.
    3. Port the SDK to the new board. This process is much easier the better the open source support is for the components on your board.
      1. Example. [Best] If you choose an audio codec on our EVM, you know it has a working driver and you have a hardware reference to use as well. [Better] If you choose something not on our EVM, but you make sure it has a driver in Linux, you reduce your software development investment. [OK] You choose something without a driver. You have to write one or pay to have it written. Please have it upstreamed per good open source practice. But, at least you know this in the beginning of the project and can schedule it. [Worst, and happens way to common] The h/w team or purchasing chooses your component and no one realizes until it is too late that there is poor software support for it.
    4. Do application development. This will be closest to what you have done in the past and can possibly be done in parallel to the above.
    5. Test everything with the use cases you have defined are necessary for your product.

    For your first Linux project, I highly recommend you work with a 3rd party or consultant with expertise in Linux. Particularly if your project has an aggressive timeline or deadlines that are strict (production date tied to a particular event like the holiday season).

    I hope these thoughts and links help. If you have more specific questions, I will be happy to provide my perspective.

  • Ron,

    Thank you for your valuable support, we have started our development choosing AM5728 and Processor Linux SDK for AM572x.

    recently we have received the development board for AM572x and started development as well as evaluation.

    now, i need your guidance in evaluating the EVM, when we tested the audio input port it is noisy, so i request you share any available scripts to test the audio input port.

    regards

    satya 

  • Satya,

    Sorry for the delay as I took some time for vacation. How are you testing the audio port?

    I will reply back with pointers to our test scripts as soon as I can.

    Thanks,
    Ron
  • Hi Ron,

    I have tried few command line instructions by following one of user's guide

    amixer -c BeagleBoardX15 sset PCM 90                            # Master Playback volume
    

    Playback (line out):

    amixer -c BeagleBoardX15 sset 'Left Line Mixer DACL1' on             # Line out Left enable
    amixer -c BeagleBoardX15 sset 'Right Line Mixer DACR1' on            # Line out Right enable
    amixer -c BeagleBoardX15 sset 'Line DAC' 90                          # Adjust Line out volume
    

    Record (line in):

    amixer -c BeagleBoardX15 sset 'Left PGA Mixer Mic2L' on         # Line in Left enable (MIC2/LINE2)
    amixer -c BeagleBoardX15 sset 'Right PGA Mixer Mic2R' on        # Line in Right enable (MIC2/LINE2)
    amixer -c BeagleBoardX15 sset 'PGA' 40                          # Adjust Capture volume

    then arecord and aplay used, it is recording while playback full noisy with low audible voice.

    regards
    satya

  • Satya,

    What commands are you using for aplay and arecord?

    I'm running the latest Linux Processor SDK (v 4.0.0.4) on the AM572x GP EVM and I can't replicate the noise and the low audible voice. My setup is as follows:

    • Audio cable plugged from my computer (playing a Ted talk on YouTube) into the Line In of the AM572x GP EVM
    • Headphones plugged into the Line Out of the AM572x GP EVM
    • I've used the same amixer commands that you mentioned above to enable the audio paths
    • Then I either use arecord then aplay OR use gstreamer to loop the audio from the computer to the headphones
      • 'arecord -f cd test.wav' then wait a few seconds and use 'aplay test.wav'
      • gst-launch-1.0 alsasrc device=plughw:BeagleBoardX15 ! alsasink device=plughw:BeagleBoardX15

    The audio that I get in those two scenarios sounds good. The gstreamer method sounds a little better.

    Can you try the same setup and let me know your results?

    Jason Reeder