Download SysLink tarball from [1]
Download SysLink dependencies. Use Linux self install binary and follow instructions from the component release notes. For CGTOOLS, create folder c6000_7.2.0B2 under /my-linux-c6x/. For all install binaries, do chmod +x
Install all of the dependent components under /my-linux-c6x/ as per directory structure given below. Install SysLink as follows:-
cd /my-linux-c6x/ tar -xvzf syslink_02_00_00_56_c6x_01_alpha2.tgz
.
HLOS (High Level OS) here refers to linux-c6x. The build host is assumed to be running RedHat Linux 4.0.
It is assumed that the Linux Host machine used for build has been setup to build linux-c6x-project. If not, click here Main_Page. This sections describes how to setup the Linux build environment for building SysLink kernel module, sample kernel modules, user land libraries and sample user land applications.
First edit setenv in the linux-c6x-project directory (Assumes that linux-c6x product build is complete. So setenv is already present in the directory). Select the target platform. In the example C6474 (Faraday) is selected. If you are building for C6472 (Tomahawk) SYSLINK_PLATFORM to C6472
#SysLink target platform for build export SYSLINK_PLATFORM=C6474 #export SYSLINK_PLATFORM=C6472 # SysLink install directory export SYSLINK_ROOT=$LINUX_C6X_TOP_DIR/syslink_02_00_00_56_c6x_01_alpha2 # IPC package install directory export IPC_DIR=$LINUX_C6X_TOP_DIR/ipc_1_22_00_19 # Below for rtos build # BIOS export BIOS_DIR=$LINUX_C6X_TOP_DIR/bios_6_31_00_18 # XDC export XDC_DIR=$LINUX_C6X_TOP_DIR/xdctools_3_20_05_76
SysLink build targets are available in linux-c6x-project Makefile (actually includes Makefile.syslink) to allow building of SysLink kernel module, sample kernel modules and user sample applications (both HLOS and RTOS) from the top level project directory. To build SysLink, do the following:-
cd my-linux-c6x/linux-c6x-project source setenv make syslink-help - Display all available build targets make syslink-all - Builds SysLink kernel modules, user sample applications and rtos samples make syslink-clean - Clean up every thing created during SysLink build
The binaries created are installed under product/syslink_[target-platform] directory, where target-platform is either C6472 or C6474
cd my-linux-c6x/product/syslink_C6472 ls gatempapp.exe gatempapp.ko heapbufmpapp.exe heapbufmpapp.ko heapmemmpapp.exe heapmemmpapp.ko listmpapp.exe listmpapp.ko messageqapp.exe messageqapp.ko notifyapp.exe notifyapp.ko procmgrapp.exe sharedregionapp.exe sharedregionapp.ko syslink.ko
The rtos applications are available with *.x64P suffix. For example notify application to run on Faraday core0 will show as notify_c6474_core0.x64P and on core1 as notify_c6474_core1.x64P
To build kernel modules and user samples separately, following steps can be used:-
cd my-linux-c6x/linux-c6x-project source setenv make syslink-kernel - Builds syslink kernel module and sample modules make syslink-kernel-clean - Clean up syslink generated build files and binaries
cd my-linux-c6x/linux-c6x-project source setenv make syslink-user - Builds syslink user space sample applications make syslink-user-clean - Clean up build generated files
RTOS (Real Time OS) used is SyS/BIOS. This instruction assumes that CGTOOLS required is already installed under /my-linux-c6x/ c6000_7.2.0B2 directory and the build host is RedHat Linux 4.0.
The RTOS sample applications are build automatically when make syslink-all is invoked from the linux-c6x-project directory. To build only rtos sample applications, do
make syslink-rtos
To do cleanup invoke
make syslink-rtos-clean
Below procedures are required only if you are building individual samples manually.
RTOS builds are done using the xdc build tool. Samples source code uses IPC package for providing IPC services to application. The sample applications can be seen at $SYSLINK_ROOT/ti/syslink/samples/rtos/. There is a sample for each of the IPC module or utility module tested.
NOTE: All steps assumes that the top level directory is /my-linux-c6x/. So provide absolute path based on where your top level directory is located.
Setup path of xdc tool in the PATH environment variable. For example you would do the following to setup this path:- - export PATH=$PATH:/my-linux-c6x/xdctools_3_20_05_76 Next setup the XDCPATH environment variable. - export XDCPATH="/my-linux-c6x/bios_6_31_00_18/packages;/my-linux=c6x/ipc_1_22_00_19/packages" Make sure that the component release folder name match with that installed under my-linux-c6x folder. - export SYSLINK_ROOT=/my-linux-c6x/syslink_02_00_00_56_c6x_alpha2 Make sure that the component release folder names used in the above export commands match with that installed under my-linux-c6x folder. Edit the config.bld under $SYSLINK_ROOT/config.bld - set the var rootDirPre to root directory of CGTOOLS folder (absolute path) # var rootDirPre = "/my-linux-c6x/"; # - set C64P_COFF.rootDir as C64P_COFF.rootDir = rootDirPre + "c6000_7.2.0B2" + rootDirPost; The above two will define the absolute path of the folder where CGTOOS are installed. While installing CGTOOLS, make sure the folder name (in this case c6000_7.2.0B2) is choosen to match with the CGTOOLS release version. Set the target platforms to build as (shows for C6474) C64P_COFF.platforms = C64P_COFF.platforms = [ "ti.syslink.samples.rtos.platforms.evm6474.core0", "ti.syslink.samples.rtos.platforms.evm6474.core1", ];
Examples of config.bld are given below:-
* For C6474 /* * ======== config.bld ======== * Sample Build configuration script */ // ON Linux Host. Modify this to suit your tool chain paths //var rootDirPre = "/opt/DSPLINK/"; var rootDirPre = "/my-linux-c6x/"; var rootDirPost = ""; //********************* Setup for C64P target for COFF************************* var C64P_COFF = xdc.useModule('ti.targets.C64P'); //C64P_COFF.rootDir = rootDirPre + "c6000_7.2.0A10232" + rootDirPost; //C64P_COFF.rootDir = rootDirPre + "TI_CGT_C6000_6.1.5" + rootDirPost; C64P_COFF.rootDir = rootDirPre + "c6000_7.2.0B2" + rootDirPost; C64P_COFF.ccOpts.suffix += " -mi10 -mo "; //set default platform and list of all interested platforms for c64P COFF C64P_COFF.platforms = [ // "ti.platforms.evm3530:dsp", "ti.syslink.samples.rtos.platforms.evm6474.core0", "ti.syslink.samples.rtos.platforms.evm6474.core1", ];
* For C6472 /* * ======== config.bld ======== * Sample Build configuration script */ // ON Linux Host. Modify this to suit your tool chain paths //var rootDirPre = "/opt/DSPLINK/"; var rootDirPre = "/my-linux-c6x/"; var rootDirPost = ""; //********************* Setup for C64P target for COFF************************* var C64P_COFF = xdc.useModule('ti.targets.C64P'); //C64P_COFF.rootDir = rootDirPre + "c6000_7.2.0A10232" + rootDirPost; //C64P_COFF.rootDir = rootDirPre + "TI_CGT_C6000_6.1.5" + rootDirPost; C64P_COFF.rootDir = rootDirPre + "c6000_7.2.0B2" + rootDirPost; C64P_COFF.ccOpts.suffix += " -mi10 -mo "; //set default platform and list of all interested platforms for c64P COFF C64P_COFF.platforms = [ // "ti.platforms.evm3530:dsp", "ti.syslink.samples.rtos.platforms.evm6472.core0", "ti.syslink.samples.rtos.platforms.evm6472.core1", "ti.syslink.samples.rtos.platforms.evm6472.core2", "ti.syslink.samples.rtos.platforms.evm6472.core3", "ti.syslink.samples.rtos.platforms.evm6472.core4", ];
To build all sample applications, do cd $SYSLINK_ROOT xdc all XDCBUILDCFG="$SYSLINK_ROOT/config.bld" -PR . To build sample applications individually, do cd $SYSLINK_ROOT/ti/syslink/ipc xdc all -PR . cd $SYSLINK_ROOT/ti/syslink/samples/rtos/platforms xdc all -PR . For example to build any sample application, do >cd $SYSLINK_ROOT/ti/syslink/samples/rtos/>xdc all Where module may be notify, sharedRegion, messageQ etc. To clean up all, do xdc clean XDCBUILDCFG="$SYSLINK_ROOT/config.bld" -PR . To clean up individual modules. cd $SYSLINK_ROOT/ti/syslink/samples/rtos/ xdc clean
The BIOS application executables are created with suffix .x64P under $SYSLINK_ROOT/ti/syslink/samples/rtos//ti_syslink_samples_rtos_platforms_ _core0 /debug/ Where module may be notify, messageq etc. For example, look for notify_core0.x64P under $SYSLINK_ROOT/ti/syslink/samples/rtos/ notify/ti_syslink_samples_rtos_platforms_evm6474_core0/debug/ and notify_core1.x64P under $SYSLINK_ROOT/ti/syslink/samples/rtos/notify /ti_syslink_samples_rtos_platforms_evm6474_core1/debug/ To copy all executables to a destination folder, you may execute following linux command on the host machine cp `find . -name *.x64P`
The multi-core applications has two components. One part of the application runs on the Linux Host (referred to as HLOS sample application) and the other part runs on the slave cores (referred to as RTOS or SyS/BIOS IPC sample application). Host is also known as the master core and others as slave cores. On each core, the application initializes all resources used by the application and also initializes the IPC. It then execute a set of APIs calls to invokes the services of the module under test. So running multi-core sample application involves running of the above two sample applications. The SyS/BIOS IPC sample application calls APIs from IPC package . The master core runs SysLink sample application under Linux. IPC module of both sample applications communicate using Shared Memory as transport and IPC hardware interrupt. The application on the slave core waits for the master core to initiate the test.
On Faraday EVM, the Linux Host runs on Core2 and BIOS applications run on Core0 and Core1 to demonstrate IPC between Host and BIOS cores. Similarly for Tomahawk, Core5 runs Linux Host and Core0-4 runs BIOS applications. Loading of slave cores (Core0 and Core1 on Faraday and Core0-4 on Tomahawk) and Linux Host core (core with highest core id) are done manually using CCS or using Debug Server Scripts (follow steps 2.a or 2.b below). The IPC requires shared memory between cores as transport. On Faraday, upper 16M of the DDR2 is used for this. This requires bootarg variable mem=112M to be set in kernel bootargs to reserve the upper 4M for SysLink. On Tomahawk, SL2 is used as shared memory. So this is not necessary.
This assumes that the CCS is installed on the machine running MS Windows. If not, click here [[2]] to install CCS.
First step is to load and run the the Linux on the Linux Host core (core with highest core id). Follow procedure at [[3]] for C6472 or [[4]] for C6474. Next step is to load and run bios sample application executable on slave cores. SyS/BIOS IPC sample application executable are in COFF formats and are named as.x64P. So pick executable with core_id 0 for core0, core_id 1 for core1 and so forth. Steps to load and run the application is same as that for Linux given above. At end of these steps, all cores are up running. IP address of the Linux Host's ethernet interface can be obtained from the CIO console log. This would be required when running the SysLink sample application.
Loading and running of master and slave cores using DSS script saves time. DSS comes installed as part of CCS. DSS also can be installed as a standalone package. Read more about DSS at [[5]]. dss.bat can be found under c:\Program Files\Texas Instruments\ccsv4\scripting\bin. A sample script, SysLinkTest.js, is provided under linux-c6x-project/scripts/syslink/syslinktest.js for this purpose. This procedure assumes the evm is connected to windows machine using the emulator cable and powered on. To load and run cores do the following on the windows machine:- 1) create a scripts folder and copy syslinktest.js to the folder 2) create 3 folders under scripts a) syslink\configs b) syslink\images\evm6486 c) syslink\images\evm6488 d) syslink\logs 3) copy target specific CCS .ccxml under configs. This will be created by ccs from view->target configurations menu as part of loading Linux through CCS procedure. Rename the files as evmTCI6486.ccxml or evmTCI6488.ccxml. (evmTCI6486 for target C6472 and evmTCI6488 for C6474) 4) copy SyS/BIOS IPC images (with .x64P suffix) to syslink\images\evm6486 for Tomahawk or syslink\images\evm6488 for Faraday. Also copy vmlinux-from product directory to the above directory and rename the file to vmlinux 5) set SYSLINK_TEST_DIR env variables. open a command shell. execute set SYSLINK_TEST_DIR= \syslink 6) Before running your script, syslinktest.js, please make sure the name of the emulator target name is same as that used in your CCS. So launch debug sessions to your board once through CCS and make sure the name match with that shown on CCS. For example, for CCS 4.2.x release, change the script for the emulator name as debugSession = debugServer.openSession("*","C64XP_1A"); debugSession1 = debugServer.openSession("*","C64XP_1B"); and so forth for Tomahawk ===== Affected code cut-n-pasted from syslinktest.js ===== timeout_linux_core = 45000; debugSession = debugServer.openSession("*","C64XP"); debugSession1 = debugServer.openSession("*","C64XP_1"); debugSession2 = debugServer.openSession("*","C64XP_2"); debugSession3 = debugServer.openSession("*","C64XP_3"); debugSession4 = debugServer.openSession("*","C64XP_4"); debugSession5 = debugServer.openSession("*","C64XP_5"); ======================================================================= cd c:\Program Files\Texas Instruments\ccsv4\scripting\bin dss.bat \syslinktest.js TCI6486_USB notify LE. This will load and run vmlinux on Host core and notify sample exe files on slave cores. For testing other SysLink modules, check the name to use from the script file. 7) When the script completes loading and running, following will be displayed :- "Type any key once syslink test is complete". Also shows "********IpcResetVector for notify is 0x880c00" which will be required when running the SysLink sample application.
To run SysLink sample applications, following are required:- - .exe and .ko files from HLOS build above. - IP address of the Linux Host's Ethernet interface (displayed in CIO console of Linux Host core as part of Linux Kernel boot up log) - Ipc_ResetVector address. If DSS script is used for loading and running cores, then this is displayed on the DSS console. If CCS is used, then following command can be used from a shell at $SYSLINK_ROOT after the SyS/BIOS IPC sample build. - find . -name *.map | xargs grep Ipc_ResetVector - or open the map file and search for the string. For example for running notify, open $SYSLINK_ROOT/ti/syslink/samples/rtos/notify/package /cfg/ti_syslink_samples_rtos_platforms_evm6474_core0/debug/notify_c6474_core0.x64P.map
To run the application (assumed faraday) 1) do chmod +x /my-linux-c6x/product/syslink_C6474/*.exe 2) Telnet to the evm using IP address of Ethernet interface mkdir /var/local/test 3) If using nfs for rootfs, copy *.ko and *.exe files to/var/local/test (if not using nfs, tftp the files to the folder). At the shell execute >insmod syslink.ko create syslink device nodes manually by running following commands (cut-n-paste) mkdir /dev/syslinkipc/ mknod -m 777 /dev/syslinkipc/Osal c 253 12 mknod -m 777 /dev/syslinkipc/Ipc c 253 11 mknod -m 777 /dev/syslinkipc/ProcMgr c 253 0 mknod -m 777 /dev/syslinkipc/Notify c 253 1 mknod -m 777 /dev/syslinkipc/MultiProc c 253 10 mknod -m 777 /dev/syslinkipc/NameServer c 253 2 mknod -m 777 /dev/syslinkipc/SharedRegion c 253 3 mknod -m 777 /dev/syslinkipc/HeapBufMP c 253 4 mknod -m 777 /dev/syslinkipc/HeapMemMP c 253 5 mknod -m 777 /dev/syslinkipc/HeapMultiBuf c 253 6 mknod -m 777 /dev/syslinkipc/ListMP c 253 7 mknod -m 777 /dev/syslinkipc/GateMP c 253 8 mknod -m 777 /dev/syslinkipc/MessageQ c 253 9 mknod -m 777 /dev/syslinkipc/SyslinkMemMgr c 253 13 mknod -m 777 /dev/syslinkipc/ClientNotifyMgr c 253 14 mknod -m 777 /dev/syslinkipc/FrameQBufMgr c 253 15 mknod -m 777 /dev/syslinkipc/FrameQ c 253 16 mknod -m 777 /dev/syslinkipc/RingIO c 253 17 4. At the target shell, execute the sample application (.exe file) for the SysLink module under test. This should match with the SyS/BIOS IPC sample running on slave cores. i.e if notify Sample is running, then execute notifyapp.exe on this session. >notifyapp.exe 0x80c800 5) Application should exit after running. 6) To run any other application, invoke the sample application with corresponding Ipc_ResetVector address for the RTOS sample application.
#telnet 158.218.100.193 spawn telnet 158.218.100.193 Trying 158.218.100.193... Connected to 158.218.100.193. Escape character is '^]'. 158.218.100.193 login: root /root # cd /var/local/c6474_12_13 /var/local/c6474_12_13 # insmod syslink.ko /var/local/c6474_12_13 # ./notifyapp.exe 0x80c800 NotifyApp sample application Entered NotifyApp_startup Entered ProcMgrApp_startup_manual attaching procId = 0 ProcMgr_attach status: [0x97d2000] After attach: ProcMgr_getState state [0x4] After load: ProcMgr_getState state [0x4] ProcMgr_start LOADCALLBACK passed [0x0] Ipc_CONTROLCMD_STARTCALLBACK: After start: ProcMgr_getState state [0x4] Leaving ProcMgrApp_startup Entered ProcMgrApp_startup_manual attaching procId = 1 ProcMgr_attach status: [0x97d2000] After attach: ProcMgr_getState state [0x4] After load: ProcMgr_getState state [0x4] ProcMgr_start LOADCALLBACK passed [0x0] Ipc_CONTROLCMD_STARTCALLBACK: After start: ProcMgr_getState state [0x4] Leaving ProcMgrApp_startup Registered local event number 10 with Notify module for processor 2 Registered local event number 11 with Notify module for processor 2 Registered remote event number 10 with Notify module for processor 0 Registered remote event number 11 with Notify module for processor 0 Registered remote event number 10 with Notify module for processor 1 Registered remote event number 11 with Notify module for processor 1 Leaving NotifyApp_startup. Status [0x0] Entered NotifyApp_execute Sending events to local processor Sent 0 events to event ID 10 to local processor 2 Sent 0 events to event ID 11 to local processor 2 Sent 100 events to event ID 10 to local processor 2 Sent 100 events to event ID 11 to local processor 2 Sending events to CORE0 Received 100 events for event ID 10 from processor 2 Received 100 events for event ID 11 from processor 2 Sent 0 events to event ID 10 to remote processor 0 Received 200 events for event ID 10 from processor 2 Received 200 events for event ID 11 from processor 2 Sent 0 events to event ID 11 to remote processor 0 Received 100 events for event ID 10 from processor 0 Received 100 events for event ID 11 from processor 0 Sent 100 events to event ID 10 to remote processor 0 Sent 100 events to event ID 11 to remote processor 0 Received 200 events for event ID 10 from processor 0 Received 200 events for event ID 11 from processor 0 Sending events to CORE1 Sent 0 events to event ID 10 to remote processor 1 Sent 0 events to event ID 11 to remote processor 1 Received 100 events for event ID 10 from processor 1 Received 100 events for event ID 11 from processor 1 Sent 100 events to event ID 10 to remote processor 1 Sent 100 events to event ID 11 to remote processor 1 Leaving NotifyApp_execute Wait till 200 notifications each on 2 events are received from all 3 slave cores, and then press enter to continue ... Received 200 events for event ID 10 from processor 1 Received 200 events for event ID 11 from processor 1 === Presss Enter when test is complete === Entered NotifyApp_shutdown Unregistered local event number 10 with Notify module. Status [0x0] Unregistered local event number 11 with Notify module. Status [0x0] Unregistered remote event number 10 with Notify module. Status [0x0] Unregistered remote event number 11 with Notify module. Status [0x0] Unregistered remote event number 10 with Notify module. Status [0x0] Unregistered remote event number 11 with Notify module. Status [0x0] Entered ProcMgrApp_shutdown Ipc_control Ipc_CONTROLCMD_STOPCALLBACK status: [0x97d2000] ProcMgr_detach status: [0x6a85000] After detach: ProcMgr_getState state [0x0] ProcMgr_close status: [0x0] Leaving ProcMgrApp_shutdown
Entered ProcMgrApp_shutdown Ipc_control Ipc_CONTROLCMD_STOPCALLBACK status: [0x97d2000] ProcMgr_detach status: [0x6a85000] After detach: ProcMgr_getState state [0x0] ProcMgr_close status: [0x0] Leaving ProcMgrApp_shutdown
Leaving NotifyApp_shutdown
C:\Program Files\Texas Instruments\ccsv4\scripting\bin>dss.bat c:\project\linux- dsp\scripts\SysLinkTest.js TCI6488_USB notify LE Test selected is notify TCI6488_USB LE Start SysLink test Little Endian @ 2010_12_17_151917 C64XP_1A: GEL Output: PLL1 has been configured. C64XP_1A: 2: GEL StartUp Complete (Primary Core). C64XP_1B: 2: GEL StartUp Complete. C64XP_1C: 2: GEL StartUp Complete. Loading linux program C:\project\linux-dsp\scripts\syslink_12_13\images\evm6488\ vmlinux Loading Linux program C:\project\linux-dsp\scripts\syslink_12_13\images\evm6488\ vmlinux C64XP_1C: GEL Output: Turn off cache segment DEBUG: Loading successful for linux core... C64XP_1C: GEL Output: Disable EDMA events Linux version 2.6.34-evmc6474.el-20101207 ([email protected]) (gc c version 3.2.2) #3 Tue Dec 7 17:38:31 EST 2010 Designed for the EVM6474 board, Texas Instruments. CPU2: C64x+ rev 0x10, 1.2 volts, 1000MHz Initializing kernel physical RAM map changed by user no initrd specified Built 1 zonelists in Zone order, mobility grouping on. Total pages: 28448 Kernel command line: mem=112M console=cio root=/dev/nfs rw nfsroot=158.218.100.1 79:/local/mkaricheri/target-dsp-elf ip=dhcp PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory available: 110584k/111592k RAM, 0k/0k ROM (557k kernel code, 86k data) SLUB: Genslabs=13, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Hierarchical RCU implementation. RCU-based detection of stalled CPUs is enabled. NR_IRQS:192 console [cio0] enabled Console: colour dummy device 80x25 Calibrating delay loop... 997.37 BogoMIPS (lpj=1994752) Mount-cache hash table entries: 512 C64x: 16 gpio irqs NET: Registered protocol family 16 RIO: register sRIO controller for hostid 0 TCI648x RapidIO driver v2.1 RIO: setting EDMA threshold to 0xffffffff bio: create slabat 0 Switching to clocksource TSC64 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 3, 32768 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered UDP hash table entries: 128 (order: 0, 4096 bytes) UDP-Lite hash table entries: 128 (order: 0, 4096 bytes) RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. NET: Registered protocol family 1 eth0: EMAC(0) driver version 2.1 IRQ=6 queue=2 eth0: MAC address=00:24:ba:3a:22:cc PHY=SGMII MCORE: create SRAM, core=0, start=0x10800000 size=0x100000 MCORE: create DDR, core=0, start=0x80000000 size=0x80000000 MCORE: create SRAM, core=1, start=0x11800000 size=0x100000 MCORE: create DDR, core=1, start=0x80000000 size=0x80000000 MCORE: create SRAM, core=2, start=0x12800000 size=0x100000 ROMFS MTD (C) 2007 Red Hat, Inc. msgmni has been set to 215 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler cfq registered (default) io scheduler deadline registered io scheduler noop registered Generic platform RAM MTD, (c) 2004 Simtec Electronics uclinux[mtd]: RAM probe address=0x80306000 size=0x0 Creating 1 MTD partitions on "RAM": 0x000000000000-0x000000000000 : "ROMfs" mtd: partition "ROMfs" is out of reach -- disabled console [netcon0] enabled netconsole: network logging started brd: module loaded loop: module loaded at24 1-0050: 131072 byte 24c1024 EEPROM (writable) TCP cubic registered NET: Registered protocol family 17 Sending DHCP requests ., OK IP-Config: Got DHCP answer from 0.0.0.0, my address is 158.218.100.193 IP-Config: Complete: device=eth0, addr=158.218.100.193, mask=255.255.255.0, gw=158.218.100.2, host=158.218.100.193, domain=am.dhcp.ti.com, nis-domain=(none), bootserver=0.0.0.0, rootserver=158.218.100.179, rootpath= Looking up port of RPC 100003/2 on 158.218.100.179 Looking up port of RPC 100005/1 on 158.218.100.179 VFS: Mounted root (nfs filesystem) on device 0:11. Freeing unused kernel memory: 120K freed starting pid 15, tty : '/etc/rc.sysinit' Starting system... Mounting proc filesystem: done. Mounting other filesystems: mount: mounting sysfs on /sys failed: No such file o r directory done. Setting hostname 158.218.100.193: done. Bringing up loopback interface: done. Starting inetd: done. System started. starting pid 32, tty '/dev/console': '/bin/sh' / # SEVERE: Timed out after 15000ms SEVERE: com.ti.debug.engine.scripting.Target.run(): Timed out after 15000ms DEBUG: Running of Linux core is successful... Loading and running BIOS application for notify Loading C:\project\linux-dsp\scripts\syslink_12_13\images\evm6488\notify_c6474_c ore0.x64P Loading C:\project\linux-dsp\scripts\syslink_12_13\images\evm6488\notify_c6474_c ore0.x64P C64XP_1A: GEL Output: Turn off cache segment Loading C:\project\linux-dsp\scripts\syslink_12_13\images\evm6488\notify_c6474_c ore1.x64P Loading C:\project\linux-dsp\scripts\syslink_12_13\images\evm6488\notify_c6474_c ore1.x64P C64XP_1A: GEL Output: Disable EDMA events ********IpcResetVector is 0x80c800 ********* C64XP_1B: GEL Output: Turn off cache segment C64XP_1B: GEL Output: Disable EDMA events SEVERE: Timed out after 5000ms SEVERE: com.ti.debug.engine.scripting.Target.run(): Timed out after 5000ms DEBUG: Running of core0 successful... SEVERE: Timed out after 5000ms SEVERE: com.ti.debug.engine.scripting.Target.run(): Timed out after 5000ms DEBUG: Running of core1 successful... ********IpcResetVector for notify is 0x80c800 ********* Type any key once syslink test is complete
1) Start IPC with remote cores #telnet 158.218.100.193 spawn telnet 158.218.100.193 Trying 158.218.100.193... Connected to 158.218.100.193. Escape character is '^]'. 158.218.100.193 login: root /root # cd /var/local/c6474_12_13 /var/local/c6474_12_13 # insmod syslink.ko /var/local/c6474_12_13 # ./procmgrapp.exe 0x80c800 ProcMgrApp sample application Entered ProcMgrApp_startup_manual attaching procId = 0 ProcMgr_attach status: [0x97d2000] After attach: ProcMgr_getState state [0x4] After load: ProcMgr_getState state [0x4] ProcMgr_start LOADCALLBACK passed [0x0] Ipc_CONTROLCMD_STARTCALLBACK: After start: ProcMgr_getState state [0x4] Leaving ProcMgrApp_startup Entered ProcMgrApp_startup_manual attaching procId = 1 ProcMgr_attach status: [0x97d2000] After attach: ProcMgr_getState state [0x4] After load: ProcMgr_getState state [0x4] ProcMgr_start LOADCALLBACK passed [0x0] Ipc_CONTROLCMD_STARTCALLBACK: After start: ProcMgr_getState state [0x4] Leaving ProcMgrApp_startup Press enter to continue and perform shutdown ... =====> Once test below is complete, press2)insmod kernel sample module /var/local/c6474_12_13 #insmod notifyapp.ko The logs will be similar to the user sample case.
http://linux-c6x.org/wiki/index.php/SysLink_02.00.00.56_c6x_01_alpha2_InstallGuide