LPCOpen vs. CMSIS

digitalwiz wrote on Tuesday, November 18, 2014:

Now that I have the UDP demo running in the simulator, I want to port it to an LPC1769 with Embedded Artists base board. Should be a matter of just retargeting FreeRTOS to the ARM and plugging in a different NetworkInterface.c, right?

So I found a NetworkInterface.c for the LPC17xx, which includes a couple of header files from lpc17xx.cmsis.driver.library. FreeRTOSConfig.h includes board.h that comes from lpc_board_nxp_lpcxpresso_1769, an LPCOpen board library, which in turn brings in lpc_chip_175x_6x, an LPCOpen chip library. And somehow, CMSISp1v30_LPC17xx is getting involved but creating incompatible type declarations.

I realize that I’m just not clear on the relationship between LPCOpen and CMSIS. Which of these libraries do I really need?

Thanks.

edwards3 wrote on Tuesday, November 18, 2014:

LPCOpen probably includes CMSIS Core, which is a thin layer to provide standard interfaces to Cortex registers, so you probably want to use both but from the single LPCOpen package not separately.

rtel wrote on Tuesday, November 18, 2014:

I believe CMSISp1v30_LPC17xx are older libraries which have been replaced by the LPCOpen libraries - so I would stick with LPCOpen. As mentioned, LPCOpen makes use of the very low level CMSIS libraries, just as the older CMSISp1v30_LPC17xx library did, but has different higher level code.

Regards.