NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

MCSDK UG Chapter Tools

From Texas Instruments Wiki
Jump to: navigation, search




Ti hz 2c pos rgb jpg.jpg


McsdkUGTOOLS NT.jpg
MCSDK User Guide:

Tools and Development Environment

Last updated: 07/08/2014


Overview[edit]

This Chapter provides an overview of the various tools and development environment used by the MCSDK along with how to install and configure them. Topics include how to build the MCSDK for ARM/DSP and the different debuggers that can be used for development.

Acronyms[edit]

The following acronyms are used throughout this chapter.

Acronym Meaning
CCS Texas Instruments Code Composer Studio
DSP Digital Signal Processor
DVT Texas Instruments Data Analysis and Visualization Technology
EVM Evaluation Module, hardware platform containing the Texas Instruments DSP
JTAG Joint Test Action Group
MCSA Texas Instruments Multi-Core System Analyzer
MCSDK Texas Instruments Multi-Core Software Development Kit
RTSC Eclipse Real-Time Software Components
TI Texas Instruments
UART Universal Asynchronous Receiver/Transmitter

Development Environments[edit]

For ARM/DSP development on Linux, Ubuntu 12.04 64-bit is the recommended host OS. Other recent 64-bit Linux distributions are expected to work but may require extra Linux knowledge. Older Linux distributions (e.g., Red Hat Enterprise Linux 4) would require extra work and updated software and is not recommended. Building on non-Linux hosts is not supported at all; use a virtual Linux host if you must use a Mac.

For DSP development on Windows, Windows 7 is the recommended host OS.

Linux[edit]

Linaro toolchain[edit]

To build Linux kernel and filesystem, you will need to install the Linaro GCC 4.7 toolchain version 13.03 into your Linux host.

Download the Linaro tool chain from https://launchpad.net/linaro-toolchain-binaries/trunk/2013.03/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2

Untar the gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 into your HOME directory

 $cd ~/
 $tar xjf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 

To use this toolchain you need to set two environment variables:

 export CROSS_COMPILE=arm-linux-gnueabihf-

NoteNote: Use the comand above to set the CROSS_COMPILE variable if it was changed to build file system with arago tools.

 export ARCH=arm

and add the toolchain path:

 PATH=$HOME/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin:$PATH


To help you get started quickly, the MCSDK package comes with pre-built binaries. However, after making any changes to the Linux Kernel you need to cross-compile them using the Linaro toolchain and use the new binaries that are generated.

Installation[edit]

Installing the Multicore Software Development Kit[edit]

After installing CCS, the next step is to install the MCSDK. See the Downloads chapter for information on how to get the latest version of this software. The release contents are delivered as installers. Some notes:

  • To avoid manually updating file locations, it is recommended to install the MCSDK in the same directory as CCSv5
  • For a Linux host, run the mcsdk_<build-id>_setuplinux.bin executable.
  • For a Windows host, run the mcsdk_<build-id>_windows_setup.exe executable.
  • Some of the components installed by CCS may be updated by the MCSDK installer (e.g., SYS/BIOS); see the MCSDK release notes for which installer each component is mapped to.


The pre-built binaries (u-boot, linux kernel, filesystem ...) are provided in the release under the folder mcsdk_linux_<version>.


The following is a more detailed listing of the contents of this folder:

release_folder
	ti
		mcsdk_linux_<version>
			bin
			board-support
				linux-src
				uboot-src
			boot
			docs
			example-applications
			host-tools
				loadlin
				u-boot
			images
			linux-devkit
			patches
			post
  • bin
  • host-tools/loadlin
contains dss scripts and collaterals for loading and running Linux kernel on the Simulator
  • loadlin.xsl
  • tci6638-evm.ccxml- EVM configuration file for ccs
  • loadlin-evm-kern.js - dss script that loads and runs Linux kernel on EVM.
  • loadlin-evm-uboot.js - dss script that loads and runs U-boot on EVM.
  • tracelog.xml - trace file
  • images
uImage-keystone-evm.bin
A precompiled Linux kernel image suitable for loading on to the EVM (image built with CONFIG_PREEMPT_NONE=y Kconfig option)
uImage-k2hk-evm.dtb (DTB corresponding to CONFIG_PREEMPT_NONE image) device Tree blob for EVM
u-boot-keystone-evm.bin A precompiled U-boot image suitable for loading on to the EVM through CCS
u-boot-spi-keystone-evm.gph SPI NOR flash combined SPL and Second stage u-boot image
u-boot-spl-keystone-evm.bin SPI NOR flash SPL (first stage) u-boot binary.
u-boot-keystone-evm.img SPI NOR flash Second stage u-boot image.
arago-console-image.tar.gz A console root file system (min file system) gzipped tar file
arago-console-image.cpio.gz A console root file system image (min file system) for ramfs boot
tisdk-rootfs.tar.gz ti root file system gzipped tar file (may be used as NFS rootfs)
tisdk-rootfs-keystone-evm.ubifs ti rootfs ubifs image
keystone-evm-ubifs.ubi ubi image that includes rootfs and boot (kernel, dtb and boot monitor) ubifs images
keystone-evm-boot.ubifs boot volume ubifs image with uImage, dtb and boot monitor images
skern-keystone-evm.bin boot monitor image


Following images are for Linux Kernel images built with CONFIG_PREEMPT_RT_FULL=y Kconfig option set:-

  • uImage-rt-keystone-evm.bin
A precompiled Linux kernel image suitable for loading on to the EVM
  • uImage-rt-k2hk-evm.dtb
device Tree blob for EVM
  • tisdk-rootfs-rt.tar.gz
ti root file system gzipped tar file (may be used as NFS rootfs)
  • tisdk-rootfs-rt.ubifs
ti rootfs ubifs image
  • keystone-evm-ubifs-rt.ubi
ubi image that includes rootfs and boot (kernel, dtb and boot monitor) ubifs images
  • keystone-evm-boot-rt.ubifs
boot volume ubifs image with uImage, dtb and boot monitor images
  • boot
  • host-tools


Other folders doesn't have any contents as of now, but may be filled in future releases.

Loading and Running Application on the target[edit]

ARM[edit]

Loading and Running U-Boot using CCS[edit]

This section describes how to boot up U-Boot using CCS and is useful when the U-Boot image is not programmed on the SPI NOR flash.

  • Rev 1.0 EVMs have a U-Boot image programmed on the SPI NOR flash. This section may be skipped for Rev 1.0 EVM users
  • Rev 0B EVMs do not have a U-boot programmed on the SPI NOR flash. The procedure described in this section must be followed to load U-boot to the target.
HW Configuration[edit]

It is assumed that the user has configured the EVM with "No Boot/JTAG DSP Little Endian Boot mode" as described in [1]

Loading U-Boot with CCS[edit]
  • Power on the EVM
  • Once the "Boot Complete" message is shown at the console (on the EVM), Start CCS Application and Launch target configuration as shown.

Tci6638 ccxml 1.png


If you do not have a target configuration for the EVM, you have to create one. Create a new target configuration for the TCI6638 device using the "Texas Instruments XDS2xx USB Emulator" connection and save the same. You have to do that only once. Connect CCS to the CortexA15_1 target.

Load the U-Boot binary, u-boot-keystone-evm.bin available under release folder to MSMC SRAM memory at 0xc001000 through CCS as follows:

  • In CCS menu:Tools->Load Memory
  • Set path to u-boot-keystone-evm.bin, click Next
  • Start Address:0xc001000
  • Type-size: 32 bits. Click Finish

Set PC to 0xc001000 as follows:

  • View->Registers
  • Expand Core Registers to see PC

Run U-Boot:

  • Click Resume(F8)
  • In the terminal window, type any key to stop autoboot and get a U-Boot prompt.

Uboot tci6638 2.png

Programming SPI NOR flash with U-Boot GPH image[edit]

This section describes how to erase the SPI NOR flash and program the same with U-Boot image to do two stage SPI boot of EVM. It is mandatory that user updates the U-Boot image to the latest version provided in the release before booting up Linux provided in the release. In this section Both SPI boot mode and Uboot mode (term user in QSG) refers to the booting U-Boot using U-Boot image programmed on SPI NOR flash. Two stage SPI boot is assumed in this section.

Two stage SPI boot consists of booting first the U-Boot SPL binary from SPI NOR flash (located at offset 0) which will then load and run the second level boot loader (Full version of U-Boot) image from SPI NOR flash located at offset 0x10000. Once the boot mode is set to SPI boot mode and EVM is powered ON, RBL (ROM Boot loader) first loads the small (about 10K) SPL binary from SPI NOR flash to MSMC SRAM at address 0xc200000 and execute. This SPL U-Boot then loads the full version U-Boot image (u-boot-keystone-evm.img) from offset 0x10000 of SPI NOR flash to MSMC SRAM at address 0xc001000 and execute. Two stage SPI boot is preferred over single stage boot since it reduces the boot time. Single stage boot is slow since the RBL runs at a slower CORE PLL clock in SPI boot mode and hence the SPI data rate is low. So a small U-Boot SPL binary is loaded by RBL at the first stage. The SPL U-Boot code programs the ARM Tetris and Core PLL to higher clock rate. After this it loads the second stage boot loader from SPI NOR flash at a higher SPI data rate. As the bigger image is transferred at a higher SPI data rate, overall boot up time is reduced compared to one stage boot. One stage boot may take around 15 seconds.

There are two cases to deal with:-

  • EVM doesn't have a u-boot image flashed on SPI NOR flash (either Rev 0B board or board is Rev 1.0, but board doesn't boot to u-boot prompt. If this is the case, goto the previous section to load u-boot image through CCS)
  • EVM has u-boot image on SPI NOR flash(Rev 1.0). Configure the SW1 switch on the board for SPI Little Endian Boot mode as described in [2]. Connect SoC and BMC UART ports of EVM to PC and start a Tera Term to get access to the COM port consoles as per instructions in [3]. Please note that U-Boot software is configured at build time to use Ethernet Port 0 (assuming 2 ports named as Port 0 and Port 1) in the default u-boot image on Rev 1.0 boards. So connect Ethernet cable to Port 0. (ENET0) If user is running U-Boot images, Port 0 should be used for connecting Ethernet cable. Power on the EVM. U-Boot boot log can be observed at the SoC UART port. A sample boot log is shown in the previous section.

At this point, it is assumed that user is running U-Boot on the EVM either through CCS or using the SPI NOR boot mode and U-Boot console is available to accept commands from the user.

Following steps are required to program the combined SPI GPH image onto SPI NOR flash.

Copy u-boot-spi-keystone-evm.gph from Release to tftp server root directory. Start tftp server.

Issue following commands to U-Boot console. In the below commands tftp server ip is assumed to be 192.168.1.10. Replace it with the user's tftp server IP address before issuing the command.

setenv serverip 192.168.1.10
dhcp 0xc300000 u-boot-spi-keystone-evm.gph
sf probe 
sf erase 0 <size of u-boot-spi-keystone-evm.gph in hex rounded to
            sector boundary of 0x10000> 
sf write 0xc300000 0 <size of u-boot-spi-keystone-evm.gph image in
            hex> 

Note that size of the image will be be displayed as part of the dhcp command. EVM now can be booted using SPI NOR boot mode. Power off the EVM and follow instruction above to boot EVM in SPI NOR boot mode. Note that Ethernet port should now be switched to Port 0.


If you already have an Alpha9 or later u-boot image on the NOR flash, upgrade procedure for u-boot is simplified as follows:-

  env default -f -a
  setenv serverip 192.168.1.10
  setenv tftp_root <tftp root directory>
  setenv name_uboot <name of u-boot gph image under the tftp root>
  run get_uboot_net
  run burn_uboot

On a Rev 0B board, Ethernet (For example dhcp command) will not function unless following command is issued at the BMC UART console as shown in the figure below. For Rev 1.0 boards, please follow the BMC field updated procedure at [4] if Ethernet doesn't function.

Bmc-console.jpg

A sample u-boot console boot up log is shown below.

Spl-boot.jpg

Loading and Running Linux Kernel[edit]

The U-Boot comes with a set of default environment variables. Using those variables simplify several ways to boot kernel. Use the following command to set the default environment variables:

>env default -f –a
>saveenv

U-Boot supports three ways to boot kernel and is configured through 'boot' env variable. For each of this method, the boot env variable value to be used is provided in parenthesis.

  • tftp kernel and initrd ramfs (ramfs);
  • tftp kernel and use nfs mounted filesystem (net);
  • using ubifs (ubi);

You would need to add a few more variable specific to you setup:

  • serverip - IP address of your tftp server
  • tftp_root - Relative path from tftp server root directory where the image files are stored
  • boot - one of three ways to boot kernel (ramfs, net, ubi)
  • nfs_root - root directory exported by the NFS server (where the rootfs tar file was untarred)

Other defaults may be changed as needed. By default, these are set to use the image names from the Release. However for Preempt RT Full images, change the following env variables (applicable only for tftp boot of Linux and DTB):-

>setenv name_kern uImage-rt-keystone-evm.bin
>setenv name_fdt uImage-rt-k2hk-evm.dtb

Loading and Running Linux Kernel using tftp with initrd file system[edit]

This section describes how to load and boot Linux over ethernet using tftp protocol. The initrd is used as the rootfs for this boot.

Set the "boot" environment variable to "ramfs". Copy the images from the release folder to tftp server root directory (in this example, "release" is the root directory) and start the tftp server. Tftp server IP of 192.168.1.10 is used the example which is to be replaced with the ip address of the user's tftp server. Note also that name_fs env variable value has to be changed to the name of the initrd file used (use file from the release folder). Below commands assume the rootfs file name as 'rootfs-cpio.gz' and size as less than 9M. If the size is different user needs to update the value in the args_ramfs.

If the user is provided with a .cpio file in the SDK, following commands at the Linux shell can be used to convert it to .gz format:-

>gzip <cpio file name>

For example

>gzip test.cpio

This will produce test.cpio.gz.

Make sure that DDR3A is configured using the following commands at the BMC console on a REV 0B board (This may be skipped for Rev 1.0 EVM).

>setboot 112005
>fullrst

At this time, U-Boot boots up. Type esc to stop auto boot. Type the following commands at the U-Boot console.

>setenv serverip 192.168.1.10
>setenv boot ramfs
>setenv tftp_root release

For Preempt RT Full images, change the following env variables:-

>setenv name_kern uImage-rt-keystone-evm.bin
>setenv name_fdt uImage-rt-k2hk-evm.dtb
>saveenv
>boot

A sample log is shown below for reference

TCI6638 EVM # boot
BOOTP broadcast 1
DHCP client bound to address 192.168.50.101
Using TCI6614-EMAC device
TFTP from server 192.168.50.100; our IP address is 192.168.50.101
Filename '//rootfs.cpio.gz'.
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################
         720.7 KiB/s
done
Bytes transferred = 4039802 (3da47a hex)
BOOTP broadcast 1
DHCP client bound to address 192.168.50.101
Using TCI6614-EMAC device
TFTP from server 192.168.50.100; our IP address is 192.168.50.101
Filename '//k2hk-evm.dtb'.
Load address: 0x87000000
Loading: ##
         538.1 KiB/s
done
Bytes transferred = 29233 (7231 hex)
BOOTP broadcast 1
DHCP client bound to address 192.168.50.101
Using TCI6614-EMAC device
TFTP from server 192.168.50.100; our IP address is 192.168.50.101
Filename '//skern.bin'.
Load address: 0xc5f0000
Loading: ####
         676.8 KiB/s
done
Bytes transferred = 45056 (b000 hex)
BOOTP broadcast 1
DHCP client bound to address 192.168.50.101
Using TCI6614-EMAC device
TFTP from server 192.168.50.100; our IP address is 192.168.50.101
Filename '//uImage'.
Load address: 0x88000000
Loading: #################################################################
         #################################################################
         #################################################################
         ##########################
         719.7 KiB/s
done
Bytes transferred = 3240032 (317060 hex)
## installed monitor, freq [133120000], status 133120000
## Booting kernel from Legacy Image at 88000000 ...
   Image Name:   Linux-3.6.6-rt17-24126-g74d6a5f-
   Created:      2013-03-25  13:55:15 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3239968 Bytes = 3.1 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 87000000
   Booting using the fdt blob at 0x87000000
   Loading Kernel Image ... OK
OK
   Using Device Tree in place at 87000000, end 8700a230

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.6.6-rt17-24126-g74d6a5f-dirty (a0794637@uvma0794637) (gcc version 4.7.2 20120701 (prerelease) (crosstool-NG linaro-1.13.1-2012.07-20120720 - Linaro GCC 2012.07) ) #7 SMP PREEMPT Mon Mar 25 09:55:03 EDT 2013
[    0.000000] CPU: ARMv7 Processor [412fc0f4] revision 4 (ARMv7), cr=30c7387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine: KeyStone2, model: Texas Instruments Keystone 2 SoC
[    0.000000] switching to high address space at 0x800000000
[    0.000000] cma: CMA: reserved 16 MiB at 1f000000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] PERCPU: Embedded 8 pages/cpu @c0a49000 s11840 r8192 d12736 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootwait=1 earlyprintk rdinit=/sbin/init rw root=/dev/ram0 initrd=0x802000000,9M
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 512MB = 512MB total
[    0.000000] Memory: 487548k/487548k available, 36740k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc059eca0   (5724 kB)
[    0.000000]       .init : 0xc059f000 - 0xc05d6e40   ( 224 kB)
[    0.000000]       .data : 0xc05d8000 - 0xc060e6c8   ( 218 kB)
[    0.000000]        .bss : 0xc060e6ec - 0xc0637f8c   ( 167 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] ipc irq: irqchip registered, range 512-539
[    0.000000] main_pll_clk rate is 798720000, postdiv = 2, pllm = 12,plld = 0
[    0.000000] tci6614-timer: no matching node
[    0.000000] arch_timer: found timer irqs 29 30
[    0.000000] Architected local timer running at 133.66MHz.
[    0.000000] Switching to timer-based delay loop
[    0.000000] sched_clock: 32 bits at 133MHz, resolution 7ns, wraps every 32131ms
[    0.000000] Console: colour dummy device 80x30
[    0.000094] Calibrating delay loop (skipped), value calculated using timer frequency.. 267.33 BogoMIPS (lpj=1336666)
[    0.000112] pid_max: default: 4096 minimum: 301
[    0.000357] Mount-cache hash table entries: 512
[    0.010654] CPU: Testing write buffer coherency: ok
[    0.010847] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.010881] hw perfevents: enabled with ARMv7 Cortex-A15 PMU driver, 7 counters available
[    0.010935] Setting up static identity map for 0x8040f478 - 0x8040f4ac
[    0.098773] CPU1: Booted secondary processor
[    0.098813] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.138592] CPU2: Booted secondary processor
[    0.138633] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.178671] CPU3: Booted secondary processor
[    0.178709] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.178878] Brought up 4 CPUs
[    0.178914] SMP: Total of 4 processors activated (1069.33 BogoMIPS).
[    0.202614] NET: Registered protocol family 16
[    0.220858] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.235019] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.235034] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.251719] bio: create slab <bio-0> at 0
[    0.252772] SCSI subsystem initialized
[    0.253498] usbcore: registered new interface driver usbfs
[    0.253663] usbcore: registered new interface driver hub
[    0.253883] usbcore: registered new device driver usb
[    0.255743] keystone-hwqueue hwqueue.2: qmgr start queue 0, number of queues 8192
[    0.255940] keystone-hwqueue hwqueue.2: added qmgr start queue 0, num of queues 8192, reg_peek e0840000, reg_status e0804000, reg_config e0806000, reg_region e0808000, reg_push e0880000, reg_pop e08c0000
[    0.255958] keystone-hwqueue hwqueue.2: qmgr start queue 8192, number of queues 8192
[    0.256140] keystone-hwqueue hwqueue.2: added qmgr start queue 8192, num of queues 8192, reg_peek e0900000, reg_status e080a400, reg_config e080c000, reg_region e080e000, reg_push e0940000, reg_pop e0980000
[    0.256982] keystone-hwqueue hwqueue.2: added pool pool-net: 2048 descriptors of size 128
[    0.257001] keystone-hwqueue hwqueue.2: added pool pool-rio: 128 descriptors of size 256
[    0.257020] keystone-hwqueue hwqueue.2: added pool pool-udma: 1636 descriptors of size 256
[    0.261097] keystone-hwqueue hwqueue.2: registered queues 0-16383
[    0.268032] keystone-pktdma 2004000.pktdma: registered 8 logical channels, flows 32, tx chans: 9, rx chans: 24
[    0.275212] keystone-pktdma 2a08000.pktdma: registered 24 logical channels, flows 32, tx chans: 32, rx chans: 32, loopback
[    0.275456] Switching to clocksource arch_sys_counter
[    0.302522] NET: Registered protocol family 2
[    0.303140] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.303537] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
[    0.303943] TCP: Hash tables configured (established 16384 bind 16384)
[    0.303975] TCP: reno registered
[    0.303989] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.304025] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.304331] NET: Registered protocol family 1
[    0.304645] RPC: Registered named UNIX socket transport module.
[    0.304656] RPC: Registered udp transport module.
[    0.304665] RPC: Registered tcp transport module.
[    0.304674] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.304902] Unpacking initramfs...
[    0.697637] Initramfs unpacking failed: no cpio magic
[    0.705712] Freeing initrd memory: 9216K
[    0.826791] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.827330] NTFS driver 2.1.30 [Flags: R/O].
[    0.827878] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.830350] NET: Registered protocol family 38
[    0.830779] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[    0.830792] io scheduler noop registered
[    0.830803] io scheduler deadline registered
[    0.831088] io scheduler cfq registered (default)
[    0.833388] keystone-udma udma0.3: registered udma device udma0
[    0.928798] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.930809] 2530c00.serial: ttyS0 at MMIO 0x2530c00 (irq = 309) is a 16550A
[    1.546206] console [ttyS0] enabled
[    1.555595] loop: module loaded
[    1.558966] at24 0-0050: 131072 byte 24c1024 EEPROM, writable, 1 bytes/write
[    1.567633] Generic platform RAM MTD, (c) 2004 Simtec Electronics
[    1.586227] ONFI param page 0 valid
[    1.589690] ONFI flash detected
[    1.592811] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xac (Micron MT29F4G08ABBDAHC), page size: 2048, OOB size: 64
[    1.605082] Bad block table found at page 262080, version 0x01
[    1.614024] Bad block table found at page 262016, version 0x01
[    1.621599] 3 ofpart partitions found on MTD device 30000000.nand
[    1.627664] Creating 3 MTD partitions on "30000000.nand":
[    1.633030] 0x000000000000-0x000000100000 : "u-boot"
[    1.639264] 0x000000100000-0x000000180000 : "params"
[    1.645369] 0x000000180000-0x000008000000 : "ubifs"
[    1.651509] davinci_nand 30000000.nand: controller rev. 2.5
[    1.658339] spi_davinci 21000400.spi: master is unqueued, this is deprecated
modprobe: FATAL: Could not load /lib/modules/3.6.6-rt17-24126-g74d6a5f-dirty/modules.dep: No such file or directory

[    1.696448] m25p80 spi32766.0: n25q128 (16384 Kbytes)
[    1.701482] 2 ofpart partitions found on MTD device spi32766.0
[    1.707291] Creating 2 MTD partitions on "spi32766.0":
[    1.712393] 0x000000000000-0x000000080000 : "u-boot-spl"
[    1.718867] 0x000000080000-0x000001000000 : "test"
[    1.724807] spi_davinci 21000400.spi: Controller at 0xe0836400
[    1.775558] davinci_mdio 2090300.mdio: davinci mdio revision 1.5
[    1.781519] libphy: 2090300.mdio: probed
[    1.792851] davinci_mdio 2090300.mdio: phy[0]: device 2090300.mdio:00, driver Marvell 88E1111
[    1.801333] davinci_mdio 2090300.mdio: phy[1]: device 2090300.mdio:01, driver Marvell 88E1111
[    1.812674] keystone-netcp 2090000.netcp: Created interface "eth0"
[    1.818844] keystone-netcp 2090000.netcp: dma_chan_name nettx0
[    1.825936] keystone-netcp 2090000.netcp: Created interface "eth1"
[    1.832081] keystone-netcp 2090000.netcp: dma_chan_name nettx1
[    1.839367] keystone-dwc3 2690000.dwc: usbss revision 47914300
[    1.845201] keystone-dwc3 2690000.dwc: mapped irq 425 to virq 572
[    2.055313] xhci-hcd xhci-hcd: xHCI Host Controller
[    2.060231] xhci-hcd xhci-hcd: new USB bus registered, assigned bus number 1
[    2.068463] xhci-hcd xhci-hcd: irq 572, io mem 0x02690000
[    2.073962] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.080724] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.087911] usb usb1: Product: xHCI Host Controller
[    2.092754] usb usb1: Manufacturer: Linux 3.6.6-rt17-24126-g74d6a5f-dirty xhci-hcd
[    2.100281] usb usb1: SerialNumber: xhci-hcd
[    2.105216] hub 1-0:1.0: USB hub found
[    2.108975] hub 1-0:1.0: 1 port detected
[    2.113182] xhci-hcd xhci-hcd: xHCI Host Controller
[    2.118056] xhci-hcd xhci-hcd: new USB bus registered, assigned bus number 2
[    2.125189] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    2.131948] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.139132] usb usb2: Product: xHCI Host Controller
[    2.143974] usb usb2: Manufacturer: Linux 3.6.6-rt17-24126-g74d6a5f-dirty xhci-hcd
[    2.151504] usb usb2: SerialNumber: xhci-hcd
[    2.156443] hub 2-0:1.0: USB hub found
[    2.160176] hub 2-0:1.0: 1 port detected
[    2.164460] Initializing USB Mass Storage driver...
[    2.169524] usbcore: registered new interface driver usb-storage
[    2.175484] USB Mass Storage support registered.
[    2.180477] mousedev: PS/2 mouse device common for all mice
[    2.186425] i2c /dev entries driver
[    2.191517] usbcore: registered new interface driver usbhid
[    2.197068] usbhid: USB HID core driver
[    2.201383]  remoteproc0: 2620040.dsp0 is available
[    2.206289]  remoteproc0: Note: remoteproc is still under development and considered experimental.
[    2.215190]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.225561]  remoteproc0: no firmware found
[    2.230123]  remoteproc1: 2620044.dsp1 is available
[    2.234964]  remoteproc1: Note: remoteproc is still under development and considered experimental.
[    2.243874]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.254203]  remoteproc1: no firmware found
[    2.258829]  remoteproc2: 2620048.dsp2 is available
[    2.263671]  remoteproc2: Note: remoteproc is still under development and considered experimental.
[    2.272581]  remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.282912]  remoteproc2: no firmware found
[    2.287502]  remoteproc3: 262004c.dsp3 is available
[    2.292343]  remoteproc3: Note: remoteproc is still under development and considered experimental.
[    2.301254]  remoteproc3: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.311579]  remoteproc3: no firmware found
[    2.316186]  remoteproc4: 2620050.dsp4 is available
[    2.321027]  remoteproc4: Note: remoteproc is still under development and considered experimental.
[    2.329943]  remoteproc4: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.340272]  remoteproc4: no firmware found
[    2.344823]  remoteproc5: 2620054.dsp5 is available
[    2.349684]  remoteproc5: Note: remoteproc is still under development and considered experimental.
[    2.358589]  remoteproc5: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.368921]  remoteproc5: no firmware found
[    2.373476]  remoteproc6: 2620058.dsp6 is available
[    2.378337]  remoteproc6: Note: remoteproc is still under development and considered experimental.
[    2.387249]  remoteproc6: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.397587]  remoteproc6: no firmware found
[    2.402136]  remoteproc7: 262005c.dsp7 is available
[    2.407002]  remoteproc7: Note: remoteproc is still under development and considered experimental.
[    2.415909]  remoteproc7: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    2.426234]  remoteproc7: no firmware found
[    2.431285] oprofile: using timer interrupt.
[    2.435882] Netfilter messages via NETLINK v0.30.
[    2.440572] nf_conntrack version 0.5.0 (8017 buckets, 32068 max)
[    2.447049] ctnetlink v0.93: registering with nfnetlink.
[    2.452818] IPv4 over IPv4 tunneling driver
[    2.457770] gre: GRE over IPv4 demultiplexor driver
[    2.462612] ip_gre: GRE over IPv4 tunneling driver
[    2.468398] ip_tables: (C) 2000-2006 Netfilter Core Team
[    2.473864] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
[    2.480248] arp_tables: (C) 2002 David S. Miller
[    2.484888] TCP: cubic registered
[    2.488196] Initializing XFRM netlink socket
[    2.493505] NET: Registered protocol family 10
[    2.499061] NET: Registered protocol family 17
[    2.503495] NET: Registered protocol family 15
[    2.507923] 8021q: 802.1Q VLAN Support v1.8
[    2.512995] sctp: Hash tables configured (established 16384 bind 16384)
[    2.520315] NET: Registered protocol family 40
[    2.524956] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    2.532601] Registering SWP/SWPB emulation handler
[    2.544507] Freeing init memory: 220K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
WARNING: -e needs -E or -F
[    2.715249] udevd (1148): /proc/1148/oom_adj is deprecated, please use /proc/1148/oom_score_adj instead.
[    4.245964] alignment: ignoring faults is unsafe on this CPU.  Defaulting to fixup mode.
Root filesystem already rw, not remounting
Caching udev devnodes
Populating dev cachemv: cannot rename '/tmp/devices': No such file or directory
root: mount: mounting rootfs on / failed: No such file or directory
root: mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Configuring network interfaces... [    5.026077] keystone-netcp 2090000.netcp: initializing cpsw version 1.3 (1) SGMII identification value 0x4ed1
[    5.037459] keystone-netcp 2090000.netcp: Created a cpsw ale engine
[    5.043691] keystone-netcp 2090000.netcp: initialized cpsw ale revision 1.3
[    5.053692] davinci_mdio 2090300.mdio: resetting idled controller
[    5.060920] keystone-netcp 2090000.netcp: phy found: id is: 0x2090300.mdio:00
[    5.120210] keystone-netcp 2090000.netcp: Using Packet Accelerator Firmware version 0x010300e8
[    5.131976] net eth0: netcp device eth0 opened
[    5.139053] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.144843] 8021q: adding VLAN 0 to HW filter on device eth0
[    5.150479] net eth0: adding rx vlan id: 0
udhcpc (v1.13.2) started
Sending discover...
[    7.056162] libphy: 2090300.mdio:00 - Link is Down
Sending discover...
[    9.056205] libphy: 2090300.mdio:00 - Link is Up - 1000/Full
[    9.061837] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sending discover...
Sending select for 192.168.50.101...
Lease of 192.168.50.101 obtained, lease time 604800
adding dns 192.168.50.40
done.
Setting up IP spoofing protection: rp_filter.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Wed Aug 29 18:38:00 UTC 2012
hwclock: can't open '/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 3
Starting telnet daemon.
Starting syslogd/klogd: done

 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project http://arago-project.org tci6614-evm ttyS0

Arago 2011.06 tci6614-evm ttyS0

tci6614-evm login:

Loading and Running Linux Kernel using tftp with NFS file system[edit]

Instead of using initrd file system described in the previous section you may use NFS mounted file system. You will still use tftp server to load kernel, device tree and boot monitor. So, you would need to set the same “serverip” and “tftp_root” environment variables as described in the previous section. In addition to them set the “nfs_root” environment variable, which should refer to root directory of your target file system. The default environment variables assume that the target file system is on the same server as tftp server.

>setenv serverip 192.168.1.10
>setenv tftp_root release
>setenv nfs_root export/release
>setenv boot net
>saveenv
>boot

If the NFS server IP is different, update the value in args_net env variable. For example do

>setenv nfs_serverip 192.128.1.11

and replace serverip with nfs_serverip for args_net.

Note that if you don't already have NFS server setup on your Ubuntu PC, please see http://processors.wiki.ti.com/index.php/NFS_Setup

Once booting completes, you can login to the EVM as 'root' with no password

Loading and Running Linux Kernel using UBIFS[edit]

Please see the UBI section in the User Guide how to create and flash ubifs image.

Set "boot" environment variable to "ubi" to set the ubi boot mode.

>setenv boot ubi


DSP[edit]

Loading and Running DSP applicaton[edit]

Start the Code Composer Studio. Open the "Target Configurations" tab via View->Target Configurations. Create a new target "tci6638k2k.ccxml" with TI XDS2xx USB emulator and TCI6638 device. 

Tci6638 evm1.png

Right click on the tci6638k2k.ccxml configuration and launch it. Load any DSP application .out to DSP core 1 (C66x_1), and run the application

Tci6638 evm2.png


  

 


  

How To[edit]

Relevant How To's are placed here.

How to Use the Linux Devkit[edit]

To install the devkit, just run the script arago-2013.04-armv7a-linux-gnueabi-mcsdk-sdk-i686.sh under mcsdk_linux_*/linux-devkit/.

The header files are under

path/to/devkit/install/directory/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/

The libraries are under

path/to/devkit/install/directory/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/lib/


E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK UG Chapter Tools here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK UG Chapter Tools here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article MCSDK UG Chapter Tools here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article MCSDK UG Chapter Tools here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article MCSDK UG Chapter Tools here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK UG Chapter Tools here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK UG Chapter Tools here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article MCSDK UG Chapter Tools here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article MCSDK UG Chapter Tools here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity