??? 04/19/06 14:06 Read: times |
#114525 - My recent experience Responding to: ???'s previous message |
I'm doing development using the Philips LPC2103 at the moment. I can't really comment on the ARM architecture as I haven't bothered to look at it! It could be an 8051 for all I care - since all the code I write tends to be in 'c'. As such, I'm not too worried about the architecture but more the cost of the tools. At the moment I'm using the Keil front end with the gcc compiler. Since the ARM tends to be a 'normal' type of cpu architecture (as in not having weird memory layout) the job of the compiler writers is easier. I've had no trouble with the gcc compiler generating code and it is a fairly mature compiler. My comments: 1/ Coming up to speed with the different peripherals and interrupts. The Philips doc is lacking in certain areas - especially with the timers. There doesn't seem to be a way of using the captures without interrupts - there doesn't seem to be a flag to say there's been a capture except for the interrupt flag. I'm not sure if this works if the interrupt has been disabled - I think not. Speed - these things are fast! You have to put in delays to interface to a standard lcd module. You have to keep in mind the speed of these things. Big negative - no code protection on some parts, check the erattas - there's a few gotchas in there. Big positive - price & speed. Good mix of peripherals in low end parts. Other negative - 3.3V & 1.8V required - so two regulators needed in many cases. 2/ I haven't used JTAG - I use the simulator and flash & burn via the serial port! 3/ I tried both the IAR and Keil(with gcc) tools. I was able to get things working easier using the Keil tools even though I use IAR for my 8051 work. Gcc downside is you need to fix up a few of the libraries - especially printf as it chews up about 14k of code! There's tweaked libraries floating around. 32k of code space does not go too far even with the Keil compiler. 4/ Yes! Most people are saying the ARM7 is the 8051 of the 32bit world. Nevertheless, the 8051 will still have a place at the moment. I'm starting to find out that code density is an issue with the 32bit parts, I haven't looked into using the 16bit thumb instructions (that would mean I'd have to read up on the compiler -carefully!). 32K of code goes quite a way with an 8051 or AVR (as used previously) even in 'c'. What we're seeing with a lot of the chip makers is the chips composed from 'cores'. Even you or I could make our own chip by just chosing the various cpu,memory and peripheral cores, pressing a button and having a design pop out of a chip compiler and sending it off to the fab to be made. There's little design needed to be done whereas in the past it would take a lot of time to develop a micro. So what we'll be seeing is faster new product cycles and shorter product lifetimes. 3-5 years will be the average lifecycle for a part after which it will be too expensive to produce. However, there'll be something faster, with more flash ram etc to replace it. Since our code will be written in a high level language, the actual architecture will have little impact. What we're seeing with fpgas with their short lifecycles has moved into the micro world. There's plenty of demo/free tools out there to experiment with, so your entry cost is low. See www.futurlec.com for their lpc2129 board at under $25usd. I bought two of these and I can't complain. They even give you a CD with the gccarm tools and a serial cable. Don't expect them to pass EMC though!!!! Also don't expect good documentation. Just remember that all that glitters is not necessarily gold! |