Content originally posted in LPCWare by robert.palmer on Sat Jun 16 06:16:24 MST 2012
Quote: Rob65
"we sell chips, not software" was what I have heard a lot of times working at NXP (for another team though).
This makes it even stranger to see that there is such a broad range of examples programs that seem to diverge over the processors instead of converse...
Regards,[INDENT]Rob
[/INDENT]
I completely agree with you on this. But some companies, and NXP is learning this, use the software as the hook to get you to use their chips. It speeds the learning curve, and IF the software IS "production ready" can cut development times for project significantly. Look at Microchip (they're not the only ones) - they have a very clear and consistent library of software and examples. Even to experienced developers this can be a huge time savings and benefit to the overall project. The sample code/driver software can mean the difference between using chip from company A or company B. I've been there, I've made the decision, for me and for my customers.
I do get a bit frustrated at how divergent the sample code is from NXP, as you move from one family of chips to another (not just micros either). No consistency, even if they are both micros and they both support CMSIS. I'm working on an LPC11xx project AND a different LPC17xx project, both have CMSIS, both have CMSIS examples, but the projects aren't arranged the same way, the files aren't packaged the same way online (17xx has a CMSIS drivers download, 11xx doesn't, 11xx has an examples download that includes the drivers). It makes switching families MUCH slower, you have to relearn where everything is, where the config files are, etc.
I think it's funny (in a sad way) that even the debug frameworks code is completely different between the 11xx samples and the 17xx samples - obviously the development decisions are left up to the individual developer and they were not the same person. I had already expanded on the 17xx debug_frmwrk approach while working on one project and then loaded the 11xx project only to find a completely different way of handling debug print statements. One of my first changes was to replace the 11xx debug_printf files with my modified debug_frmwrk.
Oh well, such are the challenges of an embedded developer. That's what keeps us on our toes and makes it interesting.