Content originally posted in LPCWare by fjrg76 on Mon Nov 21 13:05:36 MST 2011
Quote: Rob65
Thanks,
we should be able to give credits for this (and then a certain number of credits give you a free LPCXpresso module ;))
Rob
Right now I can't remember where I saw that a guy from NXP accepted that there are some bugs in their software (like in the FreeRTOS port). I read that while I was looking for answers when my project (that was using the NXP M0 FreeRTOS port) crashed.
Quote:
But one question: if these are official bugs, are we then allowed to fix them :D
This is kind of open-source project, isn't it? I guess we cannot wait until NXP engineers look and solve bugs, can we? The beauty of open-source is that a lot of smart, experienced and very skilled people donate their time and effort in order to keep the world moving.
Let me say something about the source of those bugs:
Cortex-M3 was the first Cortex-M family in the market, so a lot of development was (and it's still) done for it. Later on, M0 was born and NXP took the easiest and cheapest path: to port everything that was done for M3 to M0. You can see this when looking at the M3's source code (e.g. drivers, among other software), it has great quality and it's well documented, whilst the source code (native and ported) for M0 looks poor in many ways, including incomplete and with no documentation.
Also hardware has minor mistakes: LPCXpresso board's silkscreen for LPC1114 has references to USB pins, but the fact is that LPC1114 doesn't include USB, and it's not the only mistake, there are also four pins swapped!!. Page 35 from the LPCXpresso's User Guide advises you of this matter.
Although the board was going to be compatible with LPC1343 they did forget to update the pin's names. I think a good idea is that NXP would include a small piece of paper in the LPCXpresso for LPC1114 package that says:
"Errata: Some pin's names are wrong in the board's silkscreen, please see the User's Manual" or something like that.
That would be useful because we tend to overlook the small details (when buying a board of this kind none of us expects that the silkscreen is wrong). In fact, when I saw for first time my LPC1114 LPCXpresso board, I got very excited 'cause I read in some terminals USB terminology (USB-DM, USB-DP, etc.), so I thought I could use USB right away. Few minutes ago I got sad because I realised the silkscreen had mistakes.
Regards :)