We are trying to choose a tool suite for ARM development. Within reason, we can afford to buy what we need, so we are mostly concerned with the quality and features of the tools.
We have a combination of requirements that seems to be somewhat unique, though that fact comes as a surprise to me. First, we have a very power sensitive application, so we need to minimize accesses to external memory. For this reason, we need to be able to configure the OS and programs in such a way that certain code is loaded into internal memory on our ASIC (which will contain an ARM core), and other code is loaded into external memory. We need a lot of control over this process of memory allocation. And we need good profiling tools in order to determine which code should reside in internal memory.
However, we can't easily use a model like ECOS, where the program and OS are linked into one executable. We need to be able to dynamically load and start "user programs" using the OS on the ARM. And, once we load a user program, we need to be able to debug and profile it via an ethernet debug link. This obviously complicates the task of being able to configure where the OS and programs live in internal and external memory. But this is a requirement nonetheless.
Does anyone have any recommendations of an OS and a toolset that accomodates these needs?
Thanks for any help!
- Andy Voelkel