Thought Leadership

Q&A

As I spend a lot of my time talking about embedded software via a variety of media – conferences, articles, Web seminars, this blog are examples – I frequently get emails requesting copies of materials or posing questions. All of this communication is very welcome and I do my best to respond promptly and, where I can, usefully.

If I think a question might be of wider interest, it seems only logical to share it here. I recently heard from Vahid Montazeri, who was asking about Android …

Here is Vahid’s question:

I watched your web seminar on internet. I want to write a real time audio processing application on cell phone. But it seems that android can not support real time signal processing. (see http://code.google.com/p/android/issues/detail?id=3434). In fact it has a latency. I want to know your opinion about this, how do you think? Can we for example change the linux kernel to overcome this issue? How do you think about other OSs like windows mobilw or symbian or iOS?

And this is my response:

I am a little confused about what you want to do. Surely if you are writing an app for smart phones, you have no opportunity to modify the OS?

None of the smart phone OSes are real time. Although you could – in theory – modify the Linux kernel under Android, that would probably make the system incompatible with standard apps, which would make its use illogical.

There are plenty of apps that do handle audio processing under Android etc. – Shazam is a good example. I guess it depends upon what you really want to achieve.

Can you not simply use a real time operating system [RTOS]?

This is really just an illustration of a bigger issue: using the right embedded OS for the right application. For many purposes, Android is an excellent choice, particularly if you need to support the post-deployment installation of apps. But for a real-time application, it is not really a good option at all and a true RTOS, like Nucleus, makes much more sense.

Colin Walls

I have over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, I am a member of the marketing team of the Mentor Graphics Embedded Systems Division, and am based in the UK. Away from work, I have a wide range of interests including photography and trying to point my two daughters in the right direction in life. Learn more about Colin, including his go-to karaoke song and the best parts of being British: http://go.mentor.com/3_acv

More from this author

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/embedded-software/2012/01/30/qa/