Starting from CORTEX_M0_LPC1114_LPCXpresso(CodeRed) demo which works flawlessly, I have ported this to an LPC11U35 processor (CodeRed). It works - almost.
When IntQueue is **NOT ** in the testsuite - “BlockTim.c, CountingSem.c, RecMutex.c and RegTest’s” works flawlessly.
When IntQueue is included alone, it fails the built in tests.
When IntQueue is included together with one or more of the other test demo’s, then IntQueue AND the other tests fails.
In other words, it appears that the IntQueue test is corrupting the system. There are no fatal halts, stack overflow or exceptions - the test’s simply fails after a variable time (< couple minutes)!
I use the port.c, and portmacro.h from the Cortex_M0 folder like the LPC1114 port does. I have updated the systemLPC11xx.c to include the LPC11Uxx.h header file instead, and updated the cr_startup_lpc11.c to have the proper interrupt handlers hooked. Those who differ from the LPC1114 are routed to the IntDefaultHandler and are never called.
I would not expect any core functionality differences between LPC1114 and LPC11U35.
This is very frustrating. Anyone with good ideas of what can be the probable cause?
Main difference apart from periperals is Ram and flash. LPC11U35/401 64kB Flash, 10kB Ram, LPC1114/301 32kB Flash, and 8kB Ram - surely not the problem here.