On Saturday, August 29, 2015 at 10:25:22 PM UTC-4, Robert Willy wrote:
> Hi,
>
> I have a Beaglebone like board, which has CPU clock rate 800MHz. It runs a Linux.
> I find an audio project, which needs CPU power 200MIPS for computing. The audio
> stream can tolerate some latency such as 10mS. To port this audio project to
> Linux needs some time and a lot of work to do. Now, I would like to know whether
> this 800MHz ARM Beaglebone board can run through this audio project.
>
> I don't know Linux leaves how much computing power to a user application. Second,
> I don't know what maximum latency is for this Linux. Do you know the estimation
> numbers for the two questions, or a simple method to get the results.
>
>
>
> Thanks,
Thanks for the replies. The application project is digital audio replay. The
10mS I gave may be large than expected. The C project is from a audio signal
processing firm. Its implementation includes embedded ARM Linux, but I don't
have an accurate number of the latency. There is a website discussing about
ALSA audio driver. I don't look into it yet. I would like to get an idea about
the latency to avoid a big surprise afterwards. Your info about it is highly
welcome.
Thanks,
Reply by Jack●August 31, 20152015-08-31
Paul Rubin <no.email@nospam.invalid> wrote:
> Bruce Varley writes:
> > I struggled with a 250 MHz ARM system running Linux for ages trying to
> > get it to handle stuff that sounds similar to your requirements
> > (MIDI?). Gave up in the end, anything below about 50mS using system
> > timers was too chancy, 10mS would have been totally impossible.
>
> Did you use the real time scheduler? I think 10ms on a beagleboune
the standard kernel (even with the RT scheduler) is not enough if you
want low latency.
You need a hard real time kernel, try Linux RTAI or Linux Xenomai.
Bye Jack
--
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?
Reply by Paul Rubin●August 31, 20152015-08-31
Bruce Varley writes:
> I struggled with a 250 MHz ARM system running Linux for ages trying to
> get it to handle stuff that sounds similar to your requirements
> (MIDI?). Gave up in the end, anything below about 50mS using system
> timers was too chancy, 10mS would have been totally impossible.
Did you use the real time scheduler? I think 10ms on a beagleboune
sounds a bit iffy but not outrageous. Basic task switching time is
quite fast, like tens of uS. It seems easy enough to run a simple test,
e.g. with a cpu-busy user process and a real time process that bangs a
gpio pin and sleeps for a few ms. Then monitor the pin with a scope or
even one of the Beaglebone PRU's and see if there are any too-long
pauses.
Reply by ●August 31, 20152015-08-31
On Sat, 29 Aug 2015 19:25:15 -0700 (PDT), Robert Willy
<rxjwg98@gmail.com> wrote:
>Hi,
>
>I have a Beaglebone like board, which has CPU clock rate 800MHz. It runs a Linux.
>I find an audio project, which needs CPU power 200MIPS for computing. The audio
>stream can tolerate some latency such as 10mS. To port this audio project to
>Linux needs some time and a lot of work to do. Now, I would like to know whether
>this 800MHz ARM Beaglebone board can run through this audio project.
>
>I don't know Linux leaves how much computing power to a user application. Second,
>I don't know what maximum latency is for this Linux. Do you know the estimation
>numbers for the two questions, or a simple method to get the results.
>
>
>
>Thanks,
I struggled with a 250 MHz ARM system running Linux for ages trying to
get it to handle stuff that sounds similar to your requirements
(MIDI?). Gave up in the end, anything below about 50mS using system
timers was too chancy, 10mS would have been totally impossible. Ended
up porting everything to Windows, using the MS multimedia library,
with queue timers for the sequencing. Absolutely no problems
experienced with timing.
If you're going to try the Linux system, I suggest you spend some time
prototyping simple timing programs. in my case the problems were
clearly apparent with the simplest code snippets. And performance on a
3 GHz desktop running Ubuntu/Debian was not much better, indicating
that CPU speed wasn't the problem.
I've had comments from Linux gurus (which I aren't) that the only way
to get that OS firing well with real time is to use a real time
kernel.
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
Reply by Les Cargill●August 30, 20152015-08-30
Robert Willy wrote:
> Hi,
>
> I have a Beaglebone like board, which has CPU clock rate 800MHz. It runs a Linux.
> I find an audio project, which needs CPU power 200MIPS for computing. The audio
> stream can tolerate some latency such as 10mS. To port this audio project to
> Linux needs some time and a lot of work to do. Now, I would like to know whether
> this 800MHz ARM Beaglebone board can run through this audio project.
>
> I don't know Linux leaves how much computing power to a user application.
Linux is not all one thing. You can also turn off services on the
default distribution.
Just guessing, but for more realtime, I'd consider Angstrom over
Ubuntu.
> Second,
> I don't know what maximum latency is for this Linux. Do you know the estimation
> numbers for the two questions, or a simple method to get the results.
>
Here is a guy who's allegedly done a "zero-latency"* convolution reverb
with a Beaglebone as a school project:
https://www.youtube.com/watch?v=0Ebnue1a4vc
(for interesting values of zero... )
--
Les Cargill
Reply by Robert Willy●August 29, 20152015-08-29
Hi,
I have a Beaglebone like board, which has CPU clock rate 800MHz. It runs a Linux.
I find an audio project, which needs CPU power 200MIPS for computing. The audio
stream can tolerate some latency such as 10mS. To port this audio project to
Linux needs some time and a lot of work to do. Now, I would like to know whether
this 800MHz ARM Beaglebone board can run through this audio project.
I don't know Linux leaves how much computing power to a user application. Second,
I don't know what maximum latency is for this Linux. Do you know the estimation
numbers for the two questions, or a simple method to get the results.
Thanks,