Prev: usb detection
Next: Display protection/longevity
From: Vladimir Vassilevsky on 16 Jun 2010 12:31 I am faced with necessity to do low level programming on ARM9 system. That is, set up all operating modes with associated stacks and banked registers, interrupts, caches and MMU. Could you advise a resource or book about ARM instruction set, low level programming and examples of good practices. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
From: Tim Wescott on 16 Jun 2010 12:49 On 06/16/2010 09:31 AM, Vladimir Vassilevsky wrote: > > I am faced with necessity to do low level programming on ARM9 system. > That is, set up all operating modes with associated stacks and banked > registers, interrupts, caches and MMU. > > Could you advise a resource or book about ARM instruction set, low level > programming and examples of good practices. In my spare time last month I was playing with building my own set of tools for embedded ARM development. Aside from learning that its harder than I thought, I've found that the newlib startup code is quite readable. So, if nothing else, find the lastest newlib code (if you can't find it Googling post here and I'll dig up a reference) and look at their startup assembly -- they do the whole setup ball of wax. It's not in tutorial form -- it's in the usual open-source "comments are for idiots" form -- but it's an example that works for the non-thumb ARM processors and is reputed to work for the Thumb ones, too, in its latest version (if I ever get time to try building it again!). -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
From: Chris Burrows on 16 Jun 2010 18:57 "Vladimir Vassilevsky" <nospam(a)nowhere.com> wrote in message news:RIydnVIu7fjRYYXRnZ2dnUVZ_qednZ2d(a)giganews.com... > > Could you advise a resource or book about ARM instruction set, low level > programming and examples of good practices. > The ARM System Developer's Guide: Designing and Optimising System Software by Andrew Sloss, Dominic Symes and Chris Wright. ISBN 978-1558608740 Regards, Chris Burrows CFB Software Astrobe: ARM Oberon-07 Development System http://www.astrobe.com
From: Ulf Samuelsson on 17 Jun 2010 17:27 Vladimir Vassilevsky skrev 2010-06-16 18:31: > > I am faced with necessity to do low level programming on ARM9 system. > That is, set up all operating modes with associated stacks and banked > registers, interrupts, caches and MMU. > > Could you advise a resource or book about ARM instruction set, low level > programming and examples of good practices. > > Vladimir Vassilevsky > DSP and Mixed Signal Design Consultant > http://www.abvolt.com I think there should be an application note on Atmels homepage on setting up the MMU. Interrupts are chip specific. -- Best Regards Ulf Samuelsson These are my own personal opinions, which may or may not be shared by my employer Atmel Nordic AB
From: Vladimir Vassilevsky on 18 Jun 2010 14:52
Chris Burrows wrote: > "Vladimir Vassilevsky" <nospam(a)nowhere.com> wrote in message > news:RIydnVIu7fjRYYXRnZ2dnUVZ_qednZ2d(a)giganews.com... > >>Could you advise a resource or book about ARM instruction set, low level >>programming and examples of good practices. >> > > > The ARM System Developer's Guide: Designing and Optimising System Software > by Andrew Sloss, Dominic Symes and Chris Wright. ISBN 978-1558608740 > > Regards, > Chris Burrows > CFB Software I got the ARM9 working. It took about a month of hard work to get the board up from ground zero. Cris: Awesome book. Thank you for very good advice. As usual, book arrived when almost everything was up and running :-) Ulf: Indeed, Atmel web site has good appnotes on ARM7T, and many of those appnotes are relevant to ARM9. Tim: I haven't tried newlib. You are right that the opensource sucks. This is especially true in the case of ARM: those ubls and uboots don't have a clue about what they doing. Tauno: Thank you for the startup source. I found the answers for several questions there. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com |