Content originally posted in LPCWare by Rob65 on Mon Jun 27 07:42:30 MST 2011
I also disagree with Luis.
The documentation is not terribly bad - yes, there are bugs and yes it seems to take ages for these bugs to be fixed (or even to get them officially confirmed by NPX) but I would say the documentation is "usable".
One thing in the article does however make some sense:
Quote:
The more new chips you design and build, the more you complicate your own business.
I forgot how many lpc1xxx variants there are those days - too many to count. I think it is an overkill to have such a wide product range. Will all these chips stay alive or will only the popular ones remain?
The old 8051 type of controllers are a good example. The 80C552 was (is) a larger chip that was available for a very long time. Farnell still has over 600 of these on stock (that's almost more than the amount of lpc1754's they have :eek:)
But then, in the next paragraph in the article it reads:
Quote:
Nobody wants to buy the fastest chip in the product line; they want the slowest one, knowing they can upgrade down the road. Thus, it’s important to offer a few “overkill chips,” that are more powerful (and likely more expensive) than necessary, even if few customers will actually buy them. They prove that your MCU product line has room to grow.
So here Jim Turley is telling us that the vendors should offer chips that have too many features and that only few customers will buy these chips.
If I was a chip vendor these chips would be phased out of production very fast - and didn't he also mention longevity ...
Software, as Jim writes, is indeed the key selling argument for a chip.
For the lpc1114 and the 1343 there are great examples of how to use most of the peripherals and the free LPCXpresso IDE combined with the very cheap LPC-Link debugger are key selling arguments.
But where are those examples for the other chips???
I just swapped my lpc1343 for a 1754 and I am missing all those samples.
The PWM module has no example code and I had some problems programming it. There even is no simple Blinky example to do some basic testing of my newly developed hardware and, this I think is the worst part, the register defined in the LPC17xx.h file are not always compatible with the LPC13xx.h variant - for some of the peripherals it is even unclear to me if they are the same as the peripherals in the LPC13xx chips (uart, ssp, i2c, ...)
There are ports for uCOS-II and for FreeRTOS, the latter is even promoted through NXP's website and there are also samples for the more complex peripherals like USB (device & host) and samples for SD card access through SPI - even if these are not original NXP sources it's great that these sources are all available through NXP.
So I think NXP is doing a fair job. The cooperation with Code Red (LPCXpresso IDE, Red Suite, and Red Probe) and Enbedded Artists (LPCXpresso boards and base board) is very nice.
There still is room for improvement: more (complete) example code, some documentation with that code and some bug fixes in the documentation (I'd be more than happy to do this for NXP :D) would have saved me some headaches.
Regards,
Rob