LPCOpen Getting Started with New Project

At the risk of sounding like a complete noob: how does one actually get started on a new project using LPCOpen? I've read through the documentation, and all I can find is a quick start guide for importing examples for the LPC11U14 Xpresso board. Half of these projects don't build due to some linker error, and the USB examples seem to ignore the USE_USB_ROM_STACK flag when I set it. I've got an Embedded Artists LPC11U35 QuickStart board, and I want to start a new project using the core drivers and LPCUSBLib. I've been able to get bare projects up and running by following the LPCXpresso guide and importing CMSIS, and I can also get the older nxpUSBlib working properly complete with ROM driver support, but I want the "platform independence" that LPCOpen offers. Could somebody walk me through the process of actually creating a new workspace and project that leverages these libraries?

Alright, I moved the LPCOpen folder from C:\Worskpace\projects\shared to C:\nxp alongside LPCXpresso, and that solved my linker issues. I can get all of the examples to build now, but I'm still a little bit confused as to how to create a new project and link it to the libraries I want to use. Do I literally just make a new project, and and add all of the folders inder the "Includes" section. Will this continue to work when I replace LPCOpen with a newer version?

Sorry, I guess I spoke too soon. I forgot to add the CORE_M0 symbol to the Blinky project - now it compiles and runs... Still though, this seems like a lot of steps to set up a new project, I still think I'm missing something here... And wouldn't all these hardcoded include paths be fragile when LPCOpen is updated? I'm so confused...

Alright, now I tried to recreate the "periph_blinky" project by doing the following:

<ol><li>First, I imported "nxp_xpresso_11u14_board_lib and built it - no errors</li><li>Then, I created a new project without linking it to CMSIS (because it isn't there)</li><li>Then, I painstaking manually added the following includes:</li><ul><li>"C:\nxp\LPCOpen\software\CMSIS\CMSIS\Include"</li><li>"C:\nxp\LPCOpen\software\lpc_core\lpc_board\board_common"</li><li>"C:\nxp\LPCOpen\software\lpc_core\lpc_board\boards_11xx\nxp_xpresso_11u14"</li><li>"C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_common"</li><li>"C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_11xx"</li><li>"C:\nxp\LPCOpen\software\lpc_core\lpc_ip"</li></ul><li>...and the following libraries:</li><ul><li>nxp_xpresso_11u14_board_lib</li></ul><li>...and the following library search paths:</li><ul><li>"${workspace_loc:/nxp_xpresso_11u14_board_lib/Debug}"</li></ul><li>And finally, I copied over the relevant parts of the periph_blinky example into main.c and tried to build it - errors galore!</li></ol><div>Clearly, I'm failing to see how this platform is supposed to be used... Can somebody who's using it with a non-example project please help me figure this out? All I want to do is start working on a USB project that uses the board libraries, LPCUSBLib, and possibly FreeRTOS. I think half of my problems are that I've never used Eclipse, I'm used to CodeWarrior classic for 9S12, and Atmel Studio 6.0 for AVR. I'm getting so fed up with this I'm about to start hardcoding everything. Here's the latest errors it gave me:</div><div><div>11:21:00 **** Build of configuration Debug for project Blinky ****</div><div>make all </div><div>Building file: ../src/cr_startup_lpc11u.c</div><div>Invoking: MCU C Compiler</div><div>arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -I"C:\nxp\LPCOpen\software\CMSIS\CMSIS\Include" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_board\board_common" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_board\boards_11xx\nxp_xpresso_11u14" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_common" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_11xx" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_ip" -Os -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -mcpu=cortex-m0 -mthumb -MMD -MP -MF"src/cr_startup_lpc11u.d" -MT"src/cr_startup_lpc11u.d" -o "src/cr_startup_lpc11u.o" "../src/cr_startup_lpc11u.c"</div><div>Finished building: ../src/cr_startup_lpc11u.c</div><div> </div><div>Building file: ../src/main.c</div><div>Invoking: MCU C Compiler</div><div>arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -I"C:\nxp\LPCOpen\software\CMSIS\CMSIS\Include" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_board\board_common" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_board\boards_11xx\nxp_xpresso_11u14" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_common" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_11xx" -I"C:\nxp\LPCOpen\software\lpc_core\lpc_ip" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -mcpu=cortex-m0 -mthumb -MMD -MP -MF"src/main.d" -MT"src/main.d" -o "src/main.o" "../src/main.c"</div><div>In file included from C:\nxp\LPCOpen\software\lpc_core\lpc_board\boards_11xx\nxp_xpresso_11u14/board_nxp_xpresso_11u14.h:35:0,</div><div> from C:\nxp\LPCOpen\software\lpc_core\lpc_board\boards_11xx\nxp_xpresso_11u14/board.h:35,</div><div> from ../src/main.c:17:</div><div>C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_11xx/chip.h:41:2: error: #error CORE_M0 is not defined for the LPC11xx architecture</div><div>C:\nxp\LPCOpen\software\lpc_core\lpc_chip\chip_11xx/chip.h:42:2: error: #error CORE_M0 should be defined as part of your compiler define list</div><div>make: *** [src/main.o] Error 1</div><div>11:21:00 Build Finished (took 680ms)</div></div>

Content originally posted in LPCWare by NXP_Paul on Mon May 06 12:18:30 MST 2013

Hello Neilt6We are sorry for any confusion you are experiencing using LPCOpen with LPCXpresso. We are in the final review process of writing a Project Porting Guide for LPCXpresso which should help in these situations. Our goal is to have the porting guide ready for release with LPCOpen v1.03 on 5/10/2013, however, the actual release date may slip another week.We'll get the porting guide posted as soon as the sign off process has been completed.

Content originally posted in LPCWare by larryvc on Fri Jan 31 12:37:29 MST 2014Quote: NXP_Paul We are in the final review process of writing a Project Porting Guide for LPCXpresso which should help in these situations. Our goal is to have the porting guide ready for release with LPCOpen v1.03 on 5/10/2013, however, the actual release date may slip another week.We'll get the porting guide posted as soon as the sign off process has been completed.