Tons of bugs in lpcopen_2_19_lpcxpresso

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Tons of bugs in lpcopen_2_19_lpcxpresso

465 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by zuzu on Tue Mar 08 15:42:00 MST 2016
With all do respect, what crap is this BSP?
We spent a lot of time finding and resolving your bugs but this is quite unacceptable!

We choose LPC811 which is a complete crap by definition (M0) like all your competitors too.
We had to change the project to more usable LPC824 to fit a medium bare metal code (12K) where the same code took 4K on Microchip PIC24 and 3.2K on Atmel XMega.

But if we'd knew your BSP is written by amateurs, we drop this from the beginning, not after making our prototypes.

Almost any peripheral must be checked by hand.

typedef enum CHIP_SCT_EVENT_REG .... is incomplete

This is completely wrong people! You put a idiot student to copy-paste

//SCT_IOSEL_RISEIN0  = (0 << 6),/*!< SCT Rising edges on input 0 register */
//SCT_IOSEL_FALLIN0  = (1 << 6),/*!< SCT Falling edges on input 0 register */
//SCT_IOSEL_RISEIN1  = (2 << 6),/*!< SCT Rising edges on input 1 register */
//SCT_IOSEL_FALLIN1  = (3 << 6),/*!< SCT Falling edges on input 1 register */
//
//SCT_IOSEL_RISEIN2  = (4 << 6),/*!< SCT Rising edges on input 2 register */
//SCT_IOSEL_FALLIN2  = (5 << 6),/*!< SCT Falling edges on input 2 register */
//SCT_IOSEL_RISEIN3  = (6 << 6),/*!< SCT Rising edges on input 3 register */
//SCT_IOSEL_FALLIN3  = (7 << 6),/*!< SCT Falling edges on input 3 register */

should be (comments are wrong)

SCT_IOSEL_IN0 = (0 << 6), /*!< SCT Rising edges on input 0 register */
SCT_IOSEL_IN1 = (1 << 6), /*!< SCT Falling edges on input 0 register */
SCT_IOSEL_IN2 = (2 << 6), /*!< SCT Rising edges on input 1 register */
SCT_IOSEL_IN3 = (3 << 6), /*!< SCT Falling edges on input 1 register */

SCT_IOSEL_OUT0 = (0 << 6), /*!< SCT Rising edges on input 0 register */
SCT_IOSEL_OUT1 = (1 << 6), /*!< SCT Falling edges on input 0 register */
SCT_IOSEL_OUT2 = (2 << 6), /*!< SCT Rising edges on input 1 register */
SCT_IOSEL_OUT3 = (3 << 6), /*!< SCT Falling edges on input 1 register */
SCT_IOSEL_OUT4 = (4 << 6), /*!< SCT Rising edges on input 2 register */
SCT_IOSEL_OUT5 = (5 << 6), /*!< SCT Falling edges on input 2 register */

Many examples are completely wrong and not working. The IRQ vector is not even defined in project.
Do you compiled your examples even once ???

HOW CAN WE TRUST YOU ANYMORE ?!?

No offense, but in the world full of MCU's do you think this is ok?
Labels (1)
0 Kudos
Reply
2 Replies

445 Views
lpcware
NXP Employee
NXP Employee
bump
0 Kudos
Reply

445 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by NXP_Support on Wed Mar 09 16:38:00 MST 2016
Hi zuzu,

I tried to find the issues you cited, but in LPC824 LPCOpen v2.19 I could not find  CHIP_SCT_EVENT_REG or any of the SCT_IOSEL_RISEINx/FALLINx. 

Please specify the file in which you found these problems. 

Regarding code density, what optimization level are you using?  Are you using 'printf' or pulling in other libraries?

You mentioned that IRQ vector is not defined - are you referring to the SCT example?  In file sct.c, SCT_IRQHandler is defined on line 67. 

As far as 'many examples are completely wrong and not working', please provide specific cases.  We downloaded the LPCOpen 2.19 for LPC824 and rebuilt all projects - they all built without error. 

Please let us know what files you found errors in so we can address it. 

Best regards,
-NXP Support
0 Kudos
Reply