embedded system design: partitioning resources
I want to design a device that supports both cellular connectivity ((ie. HSDPA/HSUPA) for high-speed downloads/uploads and telephony) and heavy multimedia applications (like playing streaming video in high resolution, streaming being done over the cellular connectivity).
Let us say that the hw platform under consideration has an OMAP 4430 (at least for argument's sake), and has a cellular modem connected t开发者_运维百科o it as well as a nice amoled display. It runs embedded linux.
Now, I am not sure how to partition the system's software and hardware resources so that neither requirement is starved of resources. Also, what should I do to avoid issues in the quality of the streaming playback while still maintaining my cellular throughput?
If I were to add more applications later to this device, then how would I design this system keeping this requirement in mind?
Thanks, -Mno
If you are lucky, you could implement the program and the OS/CPU combination will just work. More than likely you will have to tweak the operating system and put a little thought into software architecture. In Linux you can adjust various parameters like thread priorities and pick kernel scheduler that meets your needs. Here a few links to start with:
- Real Time UML - Bruce Powel Douglass has a few good books that address software architecture.
- CFS - Some information on the default Linux scheduler
- Small Memory Software - A good book (available online) on managing memory resources.
精彩评论