Post Go back to editing

Ethernet support for Baremetal Framework?

Category: Software
Product Number: SHARC audio module

Hi all,

for my current project it would be quite handy to send over some UDP commands between PC and the SHARC Audio Module. My project is based on the Baremetal Framework, so switching to SAM audio starter would cause extra work that I would prefer to avoid.

Is it possible to add Ethernet support to the Baremetal Framework? Is there even some code available for this purpose?

Cheers,

Tom

  • Hi Tom, the audio starter framework is the quickest solution to have ethernet supported on SAM hardware. The baremetal framework lacks necessary OS and ethernet stack to support such a connectivity.

  • Hi lliu, Thank you for your quick response. I will probably follow your advice and switch to the audio starter as soon as I find some time.

    Best regards,

    Tom

  • Hi there,

    The last couple of days I spent quite some time on this. I was hoping that the latest SAM Audio Starter branch (2.0) would be compilable in CCES out of the box. Maybe I'm too unexperienced in this, but I was not able to build the project, with CCES. I got rid of several erros by adding missing includes and making sure to import the correct project files with the correct root folder, but still I got several errors. So I'm giving up on this for now.

    I did manage to compile the project via command line. That was an easy task. But I'd prefer to have all tools running in one single IDE.

    However, I just had a look at this Wiki entry about software and hardware compatibilities. Unfortunately I learned from this page that communication via ethernet seems not to be supported (VBAN/audio over ethernet only).

    Taking into account that SAM Audio Starter has quite some overhead in comparison to the Baremetal Framework, I'm afraid I still have to look for other options...

    So any further hints are very welcome! ;-)

    I think I could live with bidirectional communication via UART in case there is no chance to get ethernet communication running. Maybe it's possible to add that to a Baremetal Framework project.

    Best regards,

    Tom

  • Hi Tom, 

    Audio starter has to be built with the provided makefile for now. Providing a corresponding CCES project is on my radar but we haven't started working on it yet. Unfortunately, the support of ethernet in BM framework can't be achieved in the near future. Are you expecting the traffic between PC and SAM grows fast beyond what UART can support? 

  • Hi  ,

    The Audio Starter project supports audio over Ethernet for the Networking branches (VBAN and RTP). Can you share your use case on what you are trying to accomplish? 

    I did want to clarify just a couple of points:

    1. Regarding CCES - Yea, unfortunately we added that as an example a while back but haven't done a good job maintaining CCES with the rest of the project so it is likely out of date. 

    2. Regarding the Wiki Appendix, thanks for point this out - that was a typo, which I have updated. 

    3. You can use the Networking branch here: https://github.com/analogdevicesinc/sam-audio-starter/tree/Networking-2.0.0-Github and you can use ethernet to telnet into the shell command and access all of the same commands that you would if you were using USB/OTG:

    The version of software I shared only supports static IP (future versions will also support DHCP) and you can get the IP address by running syslog from the USB/OTG connection:

    You can use this IP address to telnet into the shell. The software supports a variety of commands but if there is something else you need to interact with your specific software, adding new commands is pretty straightforward. 

    Please let me know if you would like any additional details on this. 

  • Hi ,

    Thank you for your detailed response!

    Sure. I'm running an audio algorithm on the SHARC Audio Module, which is working okay so far. Some improvement is still necessary.

    To control the algorithm (switch between different states, optimize parameter and so on) I would like to make a simple GUI running on my computer. For this purpose I could use any connection. But in the near future, I would also like to have some realtime audio and analysis data on the computer. In order to have enough bandwith for this, I think UART would not be sufficient.

    Okay, understood. In this case I will give it another try with Audio Starter.

    Would it be possible to update the CCES project in the near future? I think that would help a lot and be highly appreciated.

    Best regards,

    Tom

  • Hi  ,

    Thanks for sharing the details! I think the CCES build is something we can revisit, yes. I'm not sure when but it will be on our list. 

    Regarding the UART connection, are you using the USB/OTG connection on the board? Or the USB/UART connection? If the first, I believe you can update the baud rate directly without changing the software and they may help increase your throughput. Or if you are using the USB/UART connection, you should be able to update the baud rate in software and use a higher speed to help increase your throughput as well - Referring to Audio Starter though; I think the baremetal framework only supports USB/UART and not USB/OTG.

    Let me know if you do try out the Audio Starter and run into issues or if you want some additional guidance on updating baud rates if you opt to stay in the baremetal framework. 

    From what I can see, the baremetal framework can run up to 7031250 baud (though the fastest I have seen in some terminal programs is 921600) - so you can try this and see if it can meet your needs as well:

    This is set up in core0, in the startup_code_core0.c if you want to try it out: