Programming in Cortex - A9 Cortex - A9
Posted 26 June 2011 - 10:03 AM
In Cortex - A8 we have a couple of options for the faster execution of my algorithms espically for multimedia and signal processing.
I can use the SIMD instruction set for a block wise processing of data at a maximmum of 16 8 bit data at a time.
I would like to upgrade the architecture to Cortex - A9.
How can i execute my core functions in different cores without dependency.
How can i schedule the functions using the different cores.
Please give some ideas to proceed.
Posted 26 June 2011 - 10:46 AM
Posted 26 June 2011 - 08:32 PM
More seriously, I assume you have some kind of operating system layer in your existing A8 device. Most commercial RTOS designs and "big OSs" like Linux have some form of threading support, so I'd have a look at the documentation for your platform.
If you don't have off the shelf threading support or you have written your own bare metal system layer then you are going to have to design it yourself, which give you're not too sure what threads are, I'd highly recommend avoiding ...
There are a few RTOS designs (free and otherwise) for ARMv7 cores which probably provide a better starting point that rolling your own. Google will help you here.
Posted 05 July 2011 - 07:10 PM
When i read your post i have some doubts. Let me say about it.
1. I have a container format say eg:: MP4 so i have audio[AAC] and video data[H.264]. When i parse the container for audio and video streams decoding i can give each ones to separate cores - Is it correct or not ?
2. If some threading concept come it to picture, OOPs concepts needs to implement. Where can i find a C++ compiler for the same. ?
3. For Ubuntu linux this threading methodology is applicable?
Wait for some replays
Posted 14 July 2011 - 10:06 AM
I don't understand what you are asking, could you re-phrase your question?
If you are trying to decode an MP4 video then yes, for a Cortex-A9 you should be able to write a separate thread to decode video and a thread to decode audio, but when writing multi-threaded programming, you will need to deal with multi-threading synchronization issues very carefully, since both threads could potential access the same memory at the same time and therefore cause strange behaviour, or one thread might finish before the other one so you would need to wait for them both to finish, etc. It is usually much more difficult to implement & debug a multi-threaded program than a single-threaded program because of all these issues!