This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NDK examples will not build for EVML138

Other Parts Discussed in Thread: SYSBIOS, OMAPL138

Sorry if this is  a simple error but I am a new CCS user. I have a LogicPD OMAP L138 EVM which I have been able to run the supplied test programs with, however I have just downloaded NDK 2.20.06.35 and NSP 1.10.00.03 and I cannot build the example programs. I followed the instructions from the NSP release notes to import the projects into CCS but all projects give the error: "The Managed Make project file for project.... is missing". I am using CCS 4.2.4.00033.

 

  • Keith,

    I think it is because the hard coded path names were copied when you imported the projects.  Are you sure you specified the correct options when you imported the projects?

    Dave

  • Dave,

    I tried importing the projects again to a new workspace with the same result. What options are you refering to?

    Also I do not understand the reference in the release notes to version 5.x DSP/BIOS or 6.x SYS/BIOS. Does this need to be setup in the project as I cannot see a way of doing it?

    Thanks.

  • Some more information- .cfg files (presumably for SYS/BIOS) exist in the example projects but I cannot open them with the default XGCONF editor, I get the following error: "Unable to create this part due to an internal error. Reason for the failure: An unexpected exception was thrown." the details tab shows:

    ava.lang.NullPointerException
     at org.eclipse.rtsc.xdctools.model.ui.editors.CoreCfgSessionEditorImp.<init>(CoreCfgSessionEditorImp.java:59)
     at org.eclipse.rtsc.xdctools.model.ui.editors.ProgramConfigurationEditor.configSessionSetup(ProgramConfigurationEditor.java:1140)
     at org.eclipse.rtsc.xdctools.model.ui.editors.ProgramConfigurationEditor.createPages(ProgramConfigurationEditor.java:735)
     at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:276)
     at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
     at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
     at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
     at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:214)
     at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2588)
     at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2521)
     at org.eclipse.ui.internal.WorkbenchPage.access$10(WorkbenchPage.java:2513)
     at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2498)
     at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
     at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2493)
     at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2478)
     at org.eclipse.ui.ide.IDE.openEditor(IDE.java:388)
     at org.eclipse.ui.ide.IDE.openEditor(IDE.java:350)
     at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:98)
     at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:98)
     at org.eclipse.cdt.internal.ui.cview.OpenFileGroup.runDefaultAction(OpenFileGroup.java:147)
     at org.eclipse.cdt.internal.ui.cview.MainActionGroup.runDefaultAction(MainActionGroup.java:287)
     at org.eclipse.cdt.internal.ui.cview.CView.handleOpen(CView.java:246)
     at org.eclipse.cdt.internal.ui.cview.CView$9.open(CView.java:510)
     at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:817)
     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
     at org.eclipse.core.runtime.Platform.run(Platform.java:843)
     at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
     at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
     at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:815)
     at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1069)
     at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1168)
     at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:249)
     at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:243)
     at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:283)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
     at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:97)
     at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
     at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
     at org.eclipse.core.launcher.Main.run(Main.java:996)
     at org.eclipse.core.launcher.Main.main(Main.java:971)

     

    I can open the file with the XDC script editor, here is the contents of client.cfg, I cannot see anything obviously wrong with it.

    /*

    * DSP/BIOS Configuration Script for TCP/IP Stack Example Application

    */

    /* use the BIOS module to link in the sysbios library */

    var

    Bios = xdc.useModule('ti.sysbios.BIOS');

    /*

    * set up memory and cache for the EVM

    */

    /* use modules for memory heap configuration */

    var

    HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');

    var

    Memory = xdc.useModule('xdc.runtime.Memory');

    var

    Mmu = xdc.useModule('ti.sysbios.family.arm.arm9.Mmu');

    /* create a HeapMem heap instance "systemHeap" */

    var

    systemHeapParams = newHeapMem.Params;

    systemHeapParams.size = 0x00020000;

    var

    systemHeap = HeapMem.create(systemHeapParams);

    /* set "systemHeap" to be the default Heap for the app */

    Memory.defaultHeapInstance = systemHeap;

    /* Enable the MMU (Required for L1 data caching) */

    Mmu.enableMMU =

    true;

    /*

    * Map external memory and make it cacheable.

    */

    var

    attrs = {

    type: Mmu.FirstLevelDesc_SECTION,

    // SECTION descriptor

    bufferable:

    true, // bufferable

    cacheable:

    true, // cacheable

    };

    for

    (vari=0xC3000000; i < 0xC4000000; i = i + 0x00100000) {

    Mmu.setFirstLevelDescMeta(i, i, attrs);

    }

    /*

    * Map the peripheral space. Peripheral space is not cached.

    */

    var

    attrs = {

    type: Mmu.FirstLevelDesc_SECTION,

    // SECTION descriptor

    bufferable:

    false, // bufferable

    cacheable:

    false, // cacheable

    };

    for

    (vari= 0x01C00000; i < 0x01F12000; i = i + 0x100000) {

    Mmu.setFirstLevelDescMeta(i, i, attrs);

    }

    /*

    * ======== NDK configuration ========

    */

    var

    Global = xdc.useModule('ti.ndk.config.Global');

    /* Use hook functions available in the Global module to add CGI commands */

    Global.stackInitHook =

    '&AddWebFiles';

    Global.stackDeleteHook =

    '&RemoveWebFiles';

    Global.networkOpenHook =

    '&netOpenHook';

    Global.networkCloseHook =

    '&netCloseHook';

    var

    Ip = xdc.useModule('ti.ndk.config.Ip');

    var

    Http = xdc.useModule('ti.ndk.config.Http');

    var

    Telnet = xdc.useModule('ti.ndk.config.Telnet');

    /* add an Http server */

    var

    http1Params = newHttp.Params();

    http1Params.maxCon = 2;

    http1Params.ifIdx = 1;

    var

    http1 = Http.create(http1Params);

    /* add another Http server */

    var

    http2Params = newHttp.Params();

    http2Params.maxCon = 2;

    http2Params.ifIdx = 1;

    var

    http2 = Http.create(http2Params);

    /* add a Telnet server */

    var

    telnetParams = new Telnet.Params();

    telnetParams.callBackFxn =

    '&ConsoleOpen';

    var

    telnet = Telnet.create(telnetParams);

    Ip.dhcpClientMode = Ip.CIS_FLG_IFIDXVALID;

    /* add some user accounts: */

    var

    acct1 = new Global.Account();

    acct1.username =

    "username";

    acct1.password =

    "password";

    Global.addUserAccount(acct1);

    /*

    * Use the OMAPL138 Emac module. This will cause the dirver library to link

    * into the program.

    */

    xdc.useModule(

    'ti.drv.omapl138.Emac');

    /* call the C64LC init function at startup time */

    Bios.startupFxns = [

    '&EVM_Init'];

    /*

    * Fix for SDOCM00086412 to allow this example to build for NDK 2.21x

    *

    * NDK 2.21 adds a new module 'Pppoe' which must be used in order for the

    * proper stack library (which contains PPPoE) to be linked into the

    * application. (NDK 2.20x automatically links in the correct library for

    * PPPoE).

    *

    * The below try/catch block allows this configuration to build for NDK 2.20x

    * users (as it will fall into the catch case which does nothing) and also for

    * NDK 2.21x (as the useModule() will return success).

    */

    try

    {

    var Pppoe = xdc.useModule('ti.ndk.config.Pppoe');

    }

    catch

    (e) {

    /* do nothing for NDK versions below 2.21. PPPoE comes in via stack library */

    }


     

  • Hi Keith,

    What products (and versions) are you using. Can you attach the Project Properties->General->RTSC tab? For example: note I have a different version of CCS, so it may look a little different).

    Todd

  • Todd,

    My Project>Properties tab looks completely different. The closest thing I can see is the C/C++ Build tab which for the NDK projects just says "managed make settings not available". I have successfully run the SYS BIOS example programs and this is the Build settings from that project which shows the XDC settings. I am using CCS 4.2.4.00033, SYS BIOS 6.32.02.39, NDK 2.20.06.35, NSP 1.10.00.06.

    Thanks,

    Keith.

     

  • Look at "CCS Build"->RTSC tab.

  • Todd,

    The CCS build page is empty (all tabs) and does not have an RTSC tab (see 2nd image), however the SYS BIOS example which I have run does (see 1st image).

    Thanks,

    Keith.

  • How did this project get created? It does not look like this is a RTSC enabled project.

  • Todd,

    I followed the instructions from the NSP release notes (1.10.00.03 GA release notes Jan 5 2012) to import the archived projects. Looks like this does not work with CCS4.2.4. Is there a work around as from past experience evrything else that I have managed to get working will stop if I change to CCS5.

    Thanks.

  • Keith,

    CCS 5.1 is required for this release of the NSP. There were several changes in the build flow of the examples which prevent using this NSP with your version of CCS. There are three options

    1. Upgrade to CCS 5.1

    2. Use a previous version of the NSP and create the examples with your CCS. Then point to the examples to the new NSP and rebuild.

    3. Use the new NSP and don't use the examples.

    Todd

  • Thanks Todd I will try CCS5 after I have finished doing some other code benchmarking.