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.

run NDK on omapl138 arm9

Other Parts Discussed in Thread: OMAPL138, SYSBIOS

I download the ndk(ndk_2_20_00_19) and nsp(nsp_1_00_00_09),it can run normal at omapl138 evaluate board,MII mode,

I add the NDK packet to my arm project,modify PINMUX use RMII mode, add static ip .howere ,I cann't ping through the IP.The console display the info at bellow:

Using default MAC address
Using MAC Address: 00-08-ee-03-14-99
MAC Address = 00-08-ee-03-14-99
EMAC should be up and running
EMAC has been started successfully
Registeration of the EMAC Successful
00000.000 KrnMsg: Msg=[New     ] A=[192.168.010.010] M=[255.255.255.255]
00000.000 KrnMsg: Msg=[New     ] A=[192.168.010.000] M=[255.255.255.000]
Network Added: If-1:192.168.10.10
00000.000 KrnMsg: Msg=[New     ] A=[000.000.000.000] M=[000.000.000.000]

 

I use the OMAPL138 chip,please tell me how to use NDK in arm core with RMII mode,give me some suggest?

  • Hi Gao,

    Are you sure the rest of the values (e.g. netmask, etc) correct? What are the KrnMsgs from?

    Todd

  • hello,Todd:

    I use sysbios,open the app.cfg,Avaiable products window display the list:NDK Core Stack ,NSP OMAPL138,SYSBIOS,XDCTools,on click NDK Core Stack,select Ip  ,the main window display many options,I input the IP ,ipmask and gateway. the KrnMsgs  from the config routeCtrlEnableDebug set true.

  • When you were using MII, did you have the same BIOS and NDK configuration?

    Todd

  • thank you,I haved solved the question,I add csl_emac.c,csl_mdio.c,ethdriver.c,nimu_eth.c to my project,then modify the variable macsel from MII to RMII,then ok.

    But I have a new question ,I don't know how to use a variable instead of the string "192.168.1.111" ,the variable is init  in my program.

     

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

    Ip.address = "192.168.1.111";
    Ip.gatewayIpAddr = "192.168.1.1";
    Ip.mask = "255.255.255.0";

  • Gao,

    So you don't know the IP address until the program is running, correct?

    Todd

  • not, ip address is fixed,I means I  read a ip from flash assign a variable,then I don't know how to use this variable as Ip address ,in a app.cfg file,like this:

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

    Ip.address = "192.168.1.111";
    I nedd use IpAddress instead of "192.168.1.111".like this,
    Ip.address = IpAddress;(IpAddress is a string varible in *.c file)
    
    
    do you understand.
    
    


  • Unfortunately this is not possible*. You can either put the static IP address in the .cfg file or not use the .cfg to generate the NDK initialization code. You can look at the client example. This example includes the initialization code in it's source.

    *There is one solution that is really more of a hack. You can add the following

    extern char *LocalIPAddr;

    main()
    {
        ...
       strcpy (LocalIPAddr,"146.252.160.211"); // IP determined from flash or somehow
       ...
       BIOS_start();
    }

    In your .cfg, set the Ip.address to any four 3 digit numbers. For example:

        Ip.address = "999.999.999.999";

    The strcpy will overwrite the "999.999.999.999" constant (so .const must be in read/write memory). This trick must be done before you call BIOS_start().

    Is see that you are using ndk_2_20_00_19. If this does not work, you may have to upgrade to a newer version of the NDK to get this hack to work.

    Todd

  • thank you .It is right.

  • hello:

    I met the same problem, but after I changed the macsel, still won't do, what I use is KSZ8001, example is with installation under the ccs3.3 helloworld program in the NDK.

    My email is kjdxwaz@163.com, hope to be able to give some advice