How to run Multicore examples provided in LPCOpen LPC43xx packages?

Showing results for 
Search instead for 
Did you mean: 

How to run Multicore examples provided in LPCOpen LPC43xx packages?

Senior Contributor I

Using LPCOpen Mulitcore examples on LPCXpresso

This guide will guide you through the steps of using LPCXpresso with the LPCOpen Dual/Multicore projects for supported LPC43xx platform.

Download and install the LPCXpresso LPCOpen package for your platform

If you haven't downloaded an LPCOpen package yet, go here to download the package for the device/platform you want to use. You will need to download a package that supports LPCXpresso with this  guide.

Select a folder to save when downloading the file.

Needed LPCXpresso tools

To use the LPCXpresso projects in LPCopen, you will need LPCXpresso and the Link2 debugger or a board that has a built-in Link1 debugger. You can download LPCXpresso here. You can get more information on that debuggers here.

LPCXpresso project startup

Open the LPCXpresso (windows users can use start menu), when LPCXpresso launches it will show a window to select your workspace (this is the folder where all the imported projects will be stored and built).

Windows users only: Select workspace directory close to the root drive on your system as path names can exceed the character limit if installed under too many directories. You'll get project errors if this happens.

If you already have a workspace set as default and you want to use a different workspace, it can be done by selecting "File->Switch Workspace->Other..." from the main menu.

The workspace Launcher dialog will look as shown in the picutre below (Windows Version)


After LPCXpresso loads, select the 'Import project(s)' option from the quickstart menu.


In the import dialog, select the 'Browse' button next to the Archive text box and select the LPCopen file you downloaded as the archive file.


Then press 'Next' to go to the project import dialog. In this dialog you can select only the projects required for import (only dualcore/multicore, as shown in picture below) or all the projects can be imported.


After selecting and clicking the finish button. All the selected projects will be imported into your workspace. If any dependent libraries are not selected you might get import error, in that case start over again and select the missing projects.

Building and Programming the M0 Applications

The current LPCOpen implementation has independent M0 and M4 applications. The M0 and M4 applications are totally independent and can be loaded independent of each other. Right click on any M0 project (project that has _m0 suffix) and select "Build Project" as shown in the image below


Once the build completes, click on the "Program Flash" button on the toolbar (Highlighted with a red box in image below) which will open the Flash programmer dialog as shown below


In the dialog select the browse button in program flash memory tab (highlighted in above image) and select the M0 image built in the previous step. Select OK to program the image into the flash.

NOTE: For chips that has multiple M0 cores (M0APP, M0SUB), the above steps should be used to build and program images for both M0APP and M0SUB cores before proceeding to program the M4 image.

Building M4 and Programming/Debugging the M4 example

To build an M4 example select any M4 example (note that if you have programmed webserver example on M0 select any M4 image other than dc_sa_webserver or dc_freertos_webserver, if you have selected USB msc_ram example for M0 select any M4 example other than "dc_sa_msc_ram"). All these programs running on M0 will communicate with the programs running on M4 using IPC. So, if M0 is running webserver and M4 is running USB Massstorage example (or vice-versa) the webserver will try to obtain the index.htm and other (note that html is not supported due to long file name restrictions. See this FAQ for enabling long file name in fatfs) files from the RAM area which is presented to the user as a Mass Storage disk by the usb program. Right click on the M4 example and select "Build Project", as shown in the image below


Once the project is build use the "Debug xxxx [Debug]" option from the quick start window to launch the M4 application (which will also boot the M0 application burned using the steps provided in the earlier section) [Once the program stops at main use the continue button shown in red arrow in the image below to continue with the execution].


The image could also be programmed an executed as shown in the earlier section.

Starting a debug session for M0 application


That's all there is to it!

Labels (1)
Tags (1)
0 Kudos
0 Replies