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 OMAPL138 User Guide Chapter Tools

From Texas Instruments Wiki
Jump to: navigation, search




Ti hz 2c pos rgb jpg.jpg


McsdkUGTOOLS NT.jpg
MCSDK User Guide for OMAP-L138:

Tools and Development Environment

Last updated: 11/07/2013




Overview[edit]

Acronyms[edit]

Put a condensed acronym table here. That is one that addresses acronyms that this Chapter uses. This means you should add/remove from the Table below.

The following acronyms are used throughout this chapter.

Acronym Meaning
CCS Texas Instruments Code Composer Studio
CSL Texas Instruments Chip Support Library
DDR Double Data Rate
DHCP Dynamic Host Configuration Protocol
DSP Digital Signal Processor
EDMA Enhanced Direct Memory Access
IPC Texas Instruments Inter-Processor Communication Development Kit
JTAG Joint Test Action Group
MCSDK Texas Instruments Multi-Core Software Development Kit
PDK Texas Instruments Programmers Development Kit
RTSC Eclipse Real-Time Software Components
TI Texas Instruments
UART Universal Asynchronous Receiver/Transmitter
USB Universal Serial Bus

NoteNote: We use the abbreviation TMS when referring to a specific TI device (processor) and the abbreviation TMD when referring to a specific platform that the processor is on. For example, TMS320C6740 refers to the C6740 DSP processor and TMDSEVML138 refers to the actual hardware EVM that the processor is on.

Development Environments[edit]

CCS and Eclipse Platform Wizard[edit]

           CCS latest version can be installed. For the details refer the following link

http://processors.wiki.ti.com/index.php/MCSDK_OMAPL138_User_Guide_Getting_Started#Installing_Code_Composer_Studio

CCS  comes with the different tools as BIOS/CGT etc.

For example - CCSv5 - Version: 5.3.0.00090   comes with bios_6_34_02_18 , xdctools_3_24_05_48

and C6000 Code Generation Tools 6.1.13

Linux Toolchain[edit]

Untar the arago toolchain for ARMv5te (ARM9) (link to it is in the MCSDK release notes) to a Linux host PC. Add {tool chain install location}/arago-2011.09/armv5te/bin to the exported environment variable 'PATH'. ( refer Getting started Guide for downloading the toolchain)

Installation[edit]

Installing the Multicore Software Development Kit[edit]

For Installing the MCSDK refer the Getting started Guide

http://processors.wiki.ti.com/index.php/MCSDK_OMAPL138_User_Guide_Getting_Started#Installing_the_Multicore_Software_Development_Kit

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.

HW Configuration and Loading U-Boot[edit]

             This section describes how to load the U-boot on EVM.        

refer the link :http://processors.wiki.ti.com/index.php/Building_PSP_Components_for_OMAP-L1x_on_v3.x_Kernel#AIS_image_generation_for_omapl138_LCDK_EVM

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
>setenv name_fdt

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

Once u-boot is flashed to NAND ,change the switch settings to boot from NAND , for details of switch settings refer

http://processors.wiki.ti.com/index.php/Running_PSP_Components_on_OMAP-L138_LCDK_EVM#Booting_from_NAND16_Flash

Once switch settings are proper and EVM is powered up, once can see the u-boot prompt at Tera term/Hyperterminal on windows and Minicom/serial port on Linux

U-Boot >

Mount the NFS file system and use the same for booting. You can use tftp server to load kernel, device tree and boot monitor. So, you would need to set the same “serverip” variable as described below. 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.

1. Linux environment[edit]

When the EVM is connected to linux host machine, you can use the scripts provided with the mcsdk release to make the u-boot environment up.

This is set-up as part of setup.sh script . The u-boot specific script is mcsdk_<version>/bin/setup-uboot-env.sh

Once this script is run successfuly u-boot environment will be set fine

2. Windows environment[edit]

When the EVM is connected to windows host machine, tftp server is running on windows/linux, nfs server is running on linux, following commands will help to boot the evm.  Copy the built kernel image to windows system and share this folder at tftp server, and set this windows system ip as server ip on the target

>setenv serverip 192.168.1.10
>setenv bootfile uImage-omapl138-lcdk.bin
>setenv bootargs 'mem=56M console=ttyS2,115200n8 root=/dev/nfs nfsroot=$nfs_serverip:filesystem_full_path,nolock ip=dhcp'
>bootcmd 'dhcp;tftp;bootm'
>saveenv
>boot

( sample bootargs after placing all the variable values 
setenv bootargs 'mem=56M console=ttyS2,115200n8 root=/dev/nfs 
nfsroot=172.24.191.34:/home/x0089162/MCSDK/05-09-2013/filesystem/tisdk-rootfs-image-omapl138-lcdk,nolock ip=dhcp' )

Note :  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

A sample log is shown below for reference

version

U-Boot 2012.04.01 (Sep 04 2013 - 18:51:20)
arm-arago-linux-gnueabi-gcc (GCC) 4.5.3 20110311 (prerelease)
GNU ld (GNU Binutils) 2.20.1.20100303
U-Boot > setenv bootfile uImage-omapl138-lcdk.bin
U-Boot > boot
BOOTP broadcast 1
DHCP client bound to address 172.24.190.83
Using DaVinci-EMAC device
TFTP from server 172.24.145.12; our IP address is 172.24.190.83
Filename 'uImage-omapl138-lcdk.bin'.
Load address: 0xc0700000
Loading: *## Warning: gatewayip needed but not set
#################################################################
#################################################################
##################################
done
Bytes transferred = 2397848 (249698 hex)
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Linux-3.3.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2397784 Bytes = 2.3 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.3.0 (gtbldadm@ubuntu-12) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 PREEMPT Wed Sep 4 14:07:57 EDT 2013
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: AM18x/OMAP-L138 lcdk board
Memory policy: ECC disabled, Data cache writeback
BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
DaVinci da850/omap-l138/am18x variant 0x1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 14224
Kernel command line: mem=56M console=ttyS2,115200n8 root=/dev/nfs nfsroot=172.24.191.34:/home/x0089162/MCSDK/05-09-2013/filesystem/tisdk-rootfs-image-omapl138-lcdk,nolock ip=dhcp
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 56MB = 56MB total
Memory: 51756k/51756k available, 5588k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc4000000 - 0xff000000 ( 944 MB)
lowmem : 0xc0000000 - 0xc3800000 ( 56 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc0475000 (4532 kB)
.init : 0xc0475000 - 0xc049d000 ( 160 kB)
.data : 0xc049e000 - 0xc04cf760 ( 198 kB)
.bss : 0xc04cf784 - 0xc04eca6c ( 117 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 148.88 BogoMIPS (lpj=744448)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc03625a0 - 0xc03625f8
gpiochip_add: registered GPIOs 0 to 31 on device: DaVinci
gpiochip_add: registered GPIOs 32 to 63 on device: DaVinci
gpiochip_add: registered GPIOs 64 to 95 on device: DaVinci
gpiochip_add: registered GPIOs 96 to 127 on device: DaVinci
gpiochip_add: registered GPIOs 128 to 143 on device: DaVinci
DaVinci: 144 gpio irqs
print_constraints: dummy:
NET: Registered protocol family 16
EMAC: MII PHY configured
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
Advanced Linux Sound Architecture Driver Version 1.0.24.
Switching to clocksource timer0_1
musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
musb-hdrc musb-hdrc: dma type: dma-cppi41
MUSB255 controller's USBSS revision = 4ea11003
Waiting for USB PHY clock good...
musb-hdrc musb-hdrc: USB OTG mode controller at fee00000 using DMA, IRQ 58
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 101
io scheduler noop registered (default)
da8xx_lcdc da8xx_lcdc.0: GLCD: Found VGA_Monitor panel
Console: switching to colour frame buffer device 80x30
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
console [ttyS2] enabled
brd: module loaded
ahci ahci: forcing PORTS_IMPL to 0x1
ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x01e18000-0x01e19fff] port 0x100 irq 67
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xcc (Micron NAND 512MiB 3,3V 16-bit)
Bad block table found at page 262080, version 0x01
Bad block table found at page 262016, version 0x01
Creating 4 MTD partitions on "davinci_nand.1":
0x000000000000-0x000000020000 : "u-boot env"
0x000000020000-0x0000000a0000 : "u-boot"
0x0000000a0000-0x0000002a0000 : "kernel"
0x0000002a0000-0x000020000000 : "filesystem"
davinci_nand davinci_nand.1: controller rev. 2.5
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask ffffff7f
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[7]: device davinci_mdio-0:07, driver SMSC LAN8710/LAN8720
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 1
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.0/input/input0
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
omap_rtc: RTC power up reset detected
omap_rtc: already running
i2c /dev entries driver
watchdog watchdog: heartbeat 60 sec
cpuidle: using governor ladder
cpuidle: using governor menu
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
soc-audio soc-audio.0: ASoC: Failed to create card debugfs directory
ata1: SATA link down (SStatus 0 SControl 300)
_regulator_get: 1-0018 supply IOVDD not found, using dummy regulator
_regulator_get: 1-0018 supply DVDD not found, using dummy regulator
_regulator_get: 1-0018 supply AVDD not found, using dummy regulator
_regulator_get: 1-0018 supply DRVDD not found, using dummy regulator
asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
ALSA device list:
#0: DA850/OMAP-L138 EVM
TCP cubic registered
NET: Registered protocol family 17
console [netcon0] enabled
netconsole: network logging started
davinci_emac davinci_emac.1: using random MAC addr: 16:2d:3e:88:58:b1
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:01:13 UTC (946684873)
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:07, id=7c0f1)
PHY: davinci_mdio-0:07 - Link is Up - 100/Full
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 172.24.190.92
IP-Config: Complete:
device=eth0, addr=172.24.190.92, mask=255.255.252.0, gw=172.24.188.1,
host=172.24.190.92, domain=india.ti.com, nis-domain=(none),
bootserver=0.0.0.0, rootserver=172.24.191.34, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing init memory: 160K
INIT: version 2.88 booting
Starting udev
Starting Bootlog daemon: bootlogd.
ALSA: Restoring mixer settings...
No state is present for card EVM
Found hardware: "DA850_OMAP-L138" "" "" "" ""
Hardware is initialized using a generic method
No state is present for card EVM
NOT configuring network interfaces: / is an NFS mount
Thu Sep 5 00:49:00 UTC 2013
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting Dropbear SSH server: NET: Registered protocol family 10
dropbear.
Starting telnet daemon.
Starting syslogd/klogd: done
Starting thttpd.
***************************************************************
***************************************************************
NOTICE: This file system contains the followin GPLv3 packages:
binutils-symlinks
binutils
gdbserver

If you do not wish to distribute GPLv3 components please remove
the above packages prior to distribution. This can be done using
the opkg remove command. i.e.:
opkg remove <package>
Where <package> is the name printed in the list above

NOTE: If the package is a dependency of another package you
will be notified of the dependent packages. You should
use the --force-removal-of-dependent-packages option to
also remove the dependent packages as well
***************************************************************
***************************************************************
Stopping Bootlog daemon: bootlogd.
umount: can't umount /mnt/.psplash: Device or resource busy

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

Arago Project http://arago-project.org omapl138-lcdk ttyS2

Arago 2013.05 omapl138-lcdk ttyS2

omapl138-lcdk login: root
root@omapl138-lcdk:~# uname -a
Linux omapl138-lcdk 3.3.0 #1 PREEMPT Wed Sep 4 14:07:57 EDT 2013 armv5tejl GNU/Linux
root@omapl138-lcdk:~# cat /proc/cmdline
mem=56M console=ttyS2,115200n8 root=/dev/nfs nfsroot=172.24.191.34:/home/x0089162/MCSDK/05-09-2013/filesystem/tisdk-rootfs-image-omapl138-lcdk,nolock ip=dhcp
root@omapl138-lcdk:~#

DSP[edit]

Loading and Running DSP applicaton[edit]

Start the code composer studio. Open the "Target Configurations" tab via View->Target Configurations. Create new Target "mcsdk.ccxml" with "Spectrum Digital XDS510USB Emulator" as Connection and "LCSDKOMAPL138" as Board or Device.  Target-config1.JPG

Right click on the mcsdk.ccxml configuration and launch it. Load any DSP application .out to DSP (Emulator_0/674X_0) , and run the application.   Load configuration.JPG


.

Using the Debugger[edit]

CCS Debugger[edit]

 Taget can be connected using JTAG. For using the same proper target configs should be created and at particular target configuration releavant GEL files should be loaded before connecting the target.JTAG used with LCDK is

XDS510

    For connecting to target using the proper debugger ,refer the details at DSP section above

http://processors.wiki.ti.com/index.php/MCSDK_OMAPL138_User_Guide_Chapter_Tools#DSP

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 OMAPL138 User Guide 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 OMAPL138 User Guide 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 OMAPL138 User Guide Chapter Tools here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article MCSDK OMAPL138 User Guide 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 OMAPL138 User Guide 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 OMAPL138 User Guide 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 OMAPL138 User Guide 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 OMAPL138 User Guide Chapter Tools here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article MCSDK OMAPL138 User Guide 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