[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ARM assembly code optimization?



I'm writing an embedded application for an ARM7TDMI processor. It's not going fast enough to make me happy yet. Not even close.

Can any of you suggest any books, magazine articles or websites for optimizing ARM or Thumb assembly code? I need to reduce both my code size and my run time. I also need to reduce my application's overall RAM consumption.

It's not running Linux but I thought it would be appropriate to ask here because of the kind of processor I'm using.

ARM code is more flexible and can be made to run faster, but thumb takes less space for doing routine things. I'm planning to mix the two instruction models but I can't do that with complete freedom because there is a cost to switching modes (the pipeline gets flushed for one thing, and you have to execute a couple instructions to actually do the switch).

I'm pretty sure that I'm using the most efficient algorithm available for what I'm trying to do. I have done some of the more obvious things already to improve my speed. There is more that I can easily do, but I don't think that what I presently know to do will get me to my goal.

References on other processor architectures than the ARM could be useful too. I'm interested in learning any tricks I can for any architecture, because maybe I can figure out how they can apply to the ARM7TDMI, or maybe they will stimulate me to think up completely new approaches.

The ARM7TDMI does not have a cache. Reducing the overall code size in itself won't help the runtime, what will help the most is reducing the total count of instructions executed, as well as eliminating any references to RAM that aren't totally necessary.

Thank you for any help you can offer. It's very important to me that I succeed with this application, but I forsee that some very difficult challenges lie ahead.

Regards,

Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com/
crawford@goingware.com

    Tilting at Windmills for a Better Tomorrow.




Reply to: