summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e5b6cad)
raw | patch | inline | side by side (parent: e5b6cad)
author | Ivan Pang <i-pang@ti.com> | |
Fri, 13 Jan 2012 18:53:48 +0000 (13:53 -0500) | ||
committer | Ivan Pang <i-pang@ti.com> | |
Fri, 13 Jan 2012 18:53:48 +0000 (13:53 -0500) |
46 files changed:
index 5bb067640326e504363251aa52e2e28d69f1cf1c..167243d373ee8862594ff7d574183e6f945bf58c 100644 (file)
Binary files a/boot_loader/examples/pcie/docs/README.pdf and b/boot_loader/examples/pcie/docs/README.pdf differ
Binary files a/boot_loader/examples/pcie/docs/README.pdf and b/boot_loader/examples/pcie/docs/README.pdf differ
diff --git a/boot_loader/examples/pcie/linux_host_loader/Makefile b/boot_loader/examples/pcie/linux_host_loader/Makefile
index 9368b077fff4b2f895f42e49a209c64d8d462e16..c1f73dfb09b50b1b45aecdd1f73334a259c45abb 100644 (file)
-KDIR=/usr/src/linux-headers-2.6.32-28-generic-pae
+KDIR=/usr/src/linux-headers-$(shell uname -r)
PWD=$(shell pwd)
diff --git a/boot_loader/examples/pcie/linux_host_loader/pciedemo.c b/boot_loader/examples/pcie/linux_host_loader/pciedemo.c
index f7d6f1389b45912c9b1d7472ed0da565c87a1fd8..2360d14199bb410b767130b660ec989b06e487c6 100644 (file)
*
* DESCRIPTION: A sample code to load DSP boot image from a Linux machine into DSP.
*
+ * Revision History:
+ * - 1.0: Initial version (6678 little endian PCIE boot POST demo)
+ * - 1.1: Add a new PCIE boot demo for HelloWorld
+ * - 1.2: support 6670 boot
+ * - 1.3: support big endian boot for 6670/6678; support 32-bit/64-bit Linux;
+ * support EDMA; support interrupt between host and DSP;
+ * added PCIE over EDMA throughput measurement
***************************************************************************************/
#include <linux/module.h>
#include <linux/ioport.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
+#include <asm/dma-mapping.h>
+#include <linux/time.h>
MODULE_LICENSE("GPL v2");
-/** ============================================================================
- * @macro Data types
- *
- * @desc Basic data types
- * ============================================================================
- */
-typedef signed char Int8 ; /* 8 bit value */
-typedef signed short int Int16 ; /* 16 bit value */
-typedef signed long int Int32 ; /* 32 bit value */
-
-typedef unsigned char Uint8 ; /* 8 bit value */
-typedef unsigned short int Uint16 ; /* 16 bit value */
-typedef unsigned long int Uint32 ; /* 32 bit value */
-
-typedef float Real32 ; /* 32 bit value */
-typedef double Real64 ; /* 64 bit value */
-
-typedef short int Bool ; /* 16 bit value */
-
-typedef char Char8 ; /* 8 bit value */
-typedef short Char16 ; /* 16 bit value */
-
-typedef unsigned char Uchar8 ; /* 8 bit value */
-typedef unsigned short Uchar16 ; /* 16 bit value */
-
-#define Void void
-typedef void * Pvoid ;
-
-typedef Char8 * Pstr ;
-typedef Uchar8 * Pustr ;
+/* Must select the endianess */
+#define BIG_ENDIAN 0
+/* Must select which demo to run */
#define HELLO_WORLD_DEMO 1
#define POST_DEMO 0
+#define EDMA_INTC_DEMO 0
+
+/* Must select a platform */
#define EVMC6678L 1
#define EVMC6670L 0
+#if BIG_ENDIAN
+#define myIoread32 ioread32be
+#define myIowrite32 iowrite32be
+#else
+#define myIoread32 ioread32
+#define myIowrite32 iowrite32
+#endif
+
#if EVMC6678L
-#define MAGIC_ADDR 0x0087FFFC
+#define MAGIC_ADDR 0x0087FFFC
#endif
#if EVMC6670L
-#define MAGIC_ADDR 0x008FFFFC
+#define MAGIC_ADDR 0x008FFFFC
#endif
-//Include header array
+/* Include header array */
#if HELLO_WORLD_DEMO
#if EVMC6678L
-#include "pcieDdrInit_6678.h" //DDR init
-#include "pcieBootCode_6678.h" //"Hello world" boot example
+#include "pcieDdrInit_6678.h" /* DDR init */
+#include "pcieBootCode_6678.h" /* "Hello world" boot example */
#endif
#if EVMC6670L
-#include "pcieDdrInit_6670.h" //DDR init
-#include "pcieBootCode_6670.h" //"Hello world" boot example
+#include "pcieDdrInit_6670.h" /* DDR init */
+#include "pcieBootCode_6670.h" /* "Hello world" boot example */
#endif
#endif
#if POST_DEMO
#if EVMC6678L
-#include "post_6678.h" //POST boot example
+#include "post_6678.h" /* POST boot example */
#endif
#if EVMC6670L
-#include "post_6670.h" //POST boot example
+#include "post_6670.h" /* POST boot example */
#endif
#endif
-#define PCIE_TI_VENDOR 0x104C
-#define PCIE_TI_DEVICE 0xB005
-#define PCIE_BASE_ADDRESS 0x21800000
-#define IB_BAR0 0x300
-#define IB_START0_LO 0x304
-#define IB_START0_HI 0x308
-#define IB_OFFSET0 0x30C
-#define IB_BAR1 0x310
-#define IB_START1_LO 0x314
-#define IB_START1_HI 0x318
-#define IB_OFFSET1 0x31C
-#define IB_BAR2 0x320
-#define IB_START2_LO 0x324
-#define IB_START2_HI 0x328
-#define IB_OFFSET2 0x32C
-#define IB_BAR3 0x330
-#define IB_START3_LO 0x334
-#define IB_START3_HI 0x338
-#define IB_OFFSET3 0x33C
-
-#define LL2_START 0x00800000
-#define MSMC_START 0x0C000000
-#define DDR_START 0x80000000
-
-//Block size in bytes when r/w data from/to DSP
-#define BLOCK_TRANSFER_SIZE 0x100
-
-struct pci_dev * PCIE_DEV = NULL ;
-
-//reg: PCIE application registers
-//mem: Local L2
-//msmc: Shared memory
-//ddr: DDR3
-
-//********************************************
-//uncomment following line on very old kernels
-//typedef unsigned long resource_size_t;
-//********************************************
-resource_size_t regBase = 0 ;
-resource_size_t memBase = 0 ;
-resource_size_t msmcBase = 0 ;
-resource_size_t ddrBase = 0 ;
-
-Uint32 * regVirt = NULL ;
-Uint32 * memVirt = NULL ;
-Uint32 * msmcVirt = NULL ;
-Uint32 * ddrVirt = NULL ;
-
-resource_size_t memLen = 0 ;
-resource_size_t regLen = 0 ;
-resource_size_t msmcLen = 0 ;
-resource_size_t ddrLen = 0 ;
-
-Uint32 * ptrReg = 0;
-
-Int32 irqNo ;
-Uint32 dummy ;
+#if EDMA_INTC_DEMO
+
+#if EVMC6678L
+#include "pcieInterrupt_6678.h" /* EDMA-Interrupt boot example */
+#endif
+
+#if EVMC6670L
+#include "pcieInterrupt_6670.h" /* EDMA-Interrupt boot example */
+#endif
+
+#endif
+
+/* PCIE registers */
+#define PCIE_BASE_ADDRESS 0x21800000
+#define OB_SIZE 0x30
+#define EP_IRQ_CLR 0x68
+#define EP_IRQ_STATUS 0x6C
+#define LEGACY_A_IRQ_STATUS_RAW 0x180
+#define LEGACY_A_IRQ_ENABLE_SET 0x188
+#define LEGACY_A_IRQ_ENABLE_CLR 0x18C
+#define OB_OFFSET_INDEX(n) (0x200 + (8 * n))
+#define OB_OFFSET_HI(n) (0x204 + (8 * n))
+#define IB_BAR(n) (0x300 + (0x10 * n))
+#define IB_START_LO(n) (0x304 + (0x10 * n))
+#define IB_START_HI(n) (0x308 + (0x10 * n))
+#define IB_OFFSET(n) (0x30C + (0x10 * n))
+
+#define PCIE_TI_VENDOR 0x104C
+#define PCIE_TI_DEVICE 0xB005
+
+/* EDMA registers */
+#define EDMA_TPCC0_BASE_ADDRESS 0x02700000
+#define DMAQNUM0 0x0240
+#define ESR 0x1010
+#define EESR 0x1030
+#define IESR 0x1060
+#define IPR 0x1068
+#define ICR 0x1070
+#define PARAM_0_OPT 0x4000
+#define PARAM_0_SRC 0x4004
+#define PARAM_0_A_B_CNT 0x4008
+#define PARAM_0_DST 0x400C
+#define PARAM_0_SRC_DST_BIDX 0x4010
+#define PARAM_0_LINK_BCNTRLD 0x4014
+#define PARAM_0_SRC_DST_CIDX 0x4018
+#define PARAM_0_CCNT 0x401C
+
+#define LL2_START 0x00800000
+#define MSMC_START 0x0C000000 /* Shared L2 */
+#define DDR_START 0x80000000
+#define PCIE_DATA 0x60000000
+
+/* Block size in bytes when r/w data between GPP and DSP via DSP CPU */
+#define BLOCK_TRANSFER_SIZE 0x100
+
+/* Data size in bytes when r/w data bewteen GPP and DSP via EDMA:
+ GPP----PCIE link----PCIE data space----EDMA----DSP device memory (L2, DDR, ...) */
+#define DMA_TRANSFER_SIZE 0x400000 /* 4MB */
+
+/* Payload size in bytes over PCIE link. PCIe module supports
+ outbound payload size of 128 bytes and inbound payload size of 256 bytes */
+#define PCIE_TRANSFER_SIZE 0x80
+
+/* For 1MB outbound translation window size */
+#define PCIE_ADLEN_1MB 0x00100000
+#define PCIE_1MB_BITMASK 0xFFF00000
+
+/*
+reg: PCIE application registers
+mem: Local L2
+msmc: Shared L2 memory
+ddr: DDR3
+ */
+
+uint8_t *wDataVirt, *rDataVirt; /* Virtue address for CPU */
+dma_addr_t wData, rData; /* Physical PCIE bus address */
+
+
+/***********************************************
+ * uncomment following line on very old kernels:
+ * typedef unsigned long resource_size_t;
+ **********************************************/
+resource_size_t regBase = 0;
+resource_size_t memBase = 0;
+resource_size_t msmcBase = 0;
+resource_size_t ddrBase = 0;
+
+uint32_t *regVirt = NULL;
+uint32_t *memVirt = NULL;
+uint32_t *msmcVirt = NULL;
+uint32_t *ddrVirt = NULL;
+
+resource_size_t memLen = 0;
+resource_size_t regLen = 0;
+resource_size_t msmcLen = 0;
+resource_size_t ddrLen = 0;
+
+uint32_t *ptrReg = 0;
+int32_t irqNo;
+uint32_t dummy;
+struct pci_dev *PCIE_DEV = NULL;
+
+struct timeval test_time1;
+struct timeval test_time2;
+struct timeval test_time3;
+struct timeval test_time4;
/* ============================================================================
* @func PCI_FindPciDevices
*
- * @desc This function locates DM642 PCI cards on system.
+ * @desc This function locates 6670/6678 PCIE cards on system.
*
* @modif None.
* ============================================================================
*/
- Void
-PCI_FindPciDevices (Void)
+void PCI_FindPciDevices(void)
{
- struct pci_dev * dev = NULL ;
+ struct pci_dev *dev = NULL;
- while ((dev = pci_get_device (PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL)
+ while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL)
{
if ((dev->vendor == PCIE_TI_VENDOR) && (dev->device == PCIE_TI_DEVICE)) {
- printk ("Found TI device\n");
- irqNo = dev->irq ;
- PCIE_DEV = dev ;
- printk ("TI device: vendor=0x%08x, dev=0x%08x, drv=0x%08x, irq=0x%04x, bus=0x%08x\n", dev->vendor, dev->device, dev->driver, dev->irq, dev->bus);
- break ;
+ printk("Found TI device\n");
+ irqNo = dev->irq;
+ PCIE_DEV = dev;
+ printk("TI device: vendor=0x%04x, dev=0x%04x, irq=0x%08x\n", dev->vendor, dev->device, dev->irq);
+ break;
}
}
}
* @modif None.
* ============================================================================
*/
-Void PCI_readBAR (Void)
+void PCI_readBAR(void)
{
- resource_size_t barStart [4] ;
- resource_size_t barLen [4] ;
- unsigned long barFlags [4] ;
+ resource_size_t barStart[4];
+ resource_size_t barLen[4];
+ resource_size_t barFlags[4];
- barStart [0] = pci_resource_start (PCIE_DEV, 0); //BAR0 4K for PCIE application registers
+ barStart [0] = pci_resource_start (PCIE_DEV, 0); /* BAR0 4K for PCIE application registers */
barLen [0] = pci_resource_len (PCIE_DEV, 0);
barFlags [0] = pci_resource_flags (PCIE_DEV, 0);
- barStart [1] = pci_resource_start (PCIE_DEV, 1); //BAR1 512K/1024K for 6678/6670 Local L2
+ barStart [1] = pci_resource_start (PCIE_DEV, 1); /* BAR1 512K/1024K for 6678/6670 Local L2 */
barLen [1] = pci_resource_len (PCIE_DEV, 1);
barFlags [1] = pci_resource_flags (PCIE_DEV, 1);
- barStart [2] = pci_resource_start (PCIE_DEV, 2); //BAR2 4M/2M for 6678/6670 Shared L2
+ barStart [2] = pci_resource_start (PCIE_DEV, 2); /* BAR2 4M/2M for 6678/6670 Shared L2 */
barLen [2] = pci_resource_len (PCIE_DEV, 2);
barFlags [2] = pci_resource_flags (PCIE_DEV, 2);
- barStart [3] = pci_resource_start (PCIE_DEV, 3); //BAR3 16M for DDR3
+ barStart [3] = pci_resource_start (PCIE_DEV, 3); /* BAR3 16M for DDR3 */
barLen [3] = pci_resource_len (PCIE_DEV, 3);
barFlags [3] = pci_resource_flags (PCIE_DEV, 3);
* Map the REG memory region
* ---------------------------------------------------------------------
*/
- if (barFlags [0] & IORESOURCE_MEM) {
- regBase = barStart [0] ;
+ if (barFlags[0] & IORESOURCE_MEM) {
+ regBase = barStart[0];
/* Map the memory region. */
- request_mem_region (regBase,
- barLen [0],
- "DSPLINK");
+ request_mem_region(regBase, barLen[0], "DSPLINK");
}
else {
/* Map the memory region. */
- request_region (regBase,
- barLen [0],
- "DSPLINK");
+ request_region(regBase, barLen[0], "DSPLINK");
}
if (regBase > 0) {
- regVirt = ioremap (barStart [0],
- barLen [0]) ;
+ regVirt = ioremap(barStart[0], barLen[0]);
}
/* ---------------------------------------------------------------------
* Map the LL2RAM memory region
* ---------------------------------------------------------------------
*/
- if (barFlags [1] & IORESOURCE_MEM) {
- memBase = barStart [1] ;
+ if (barFlags[1] & IORESOURCE_MEM) {
+ memBase = barStart[1];
/* Map the memory region. */
- request_mem_region (memBase,
- barLen [1],
- "DSPLINK");
+ request_mem_region(memBase, barLen[1], "DSPLINK");
}
else {
/* Map the memory region. */
- request_region (memBase,
- barLen [1],
- "DSPLINK");
+ request_region(memBase, barLen[1], "DSPLINK");
}
if (memBase > 0) {
- memVirt = ioremap (barStart [1],
- barLen [1]) ;
+ memVirt = ioremap(barStart[1], barLen[1]);
}
/* ---------------------------------------------------------------------
* Map the MSMC memory region
* ---------------------------------------------------------------------
*/
- if (barFlags [2] & IORESOURCE_MEM) {
- msmcBase = barStart [2] ;
+ if (barFlags[2] & IORESOURCE_MEM) {
+ msmcBase = barStart[2];
/* Map the memory region. */
- request_mem_region (msmcBase,
- barLen [2],
- "DSPLINK");
+ request_mem_region(msmcBase, barLen[2], "DSPLINK");
}
else {
/* Map the memory region. */
- request_region (msmcBase,
- barLen [2],
- "DSPLINK");
+ request_region(msmcBase, barLen[2], "DSPLINK");
}
if (msmcBase > 0) {
- msmcVirt = ioremap (barStart [2],
- barLen [2]) ;
+ msmcVirt = ioremap(barStart[2], barLen[2]);
}
-
/* ---------------------------------------------------------------------
* Map the DDR memory region
* ---------------------------------------------------------------------
*/
- if (barFlags [3] & IORESOURCE_MEM) {
- ddrBase = barStart [3] ;
+ if (barFlags[3] & IORESOURCE_MEM) {
+ ddrBase = barStart[3];
/* Map the memory region. */
- request_mem_region (ddrBase,
- barLen [3],
- "DSPLINK");
+ request_mem_region(ddrBase, barLen[3], "DSPLINK");
}
else {
/* Map the memory region. */
- request_region (ddrBase,
- barLen [3],
- "DSPLINK");
+ request_region(ddrBase, barLen[3], "DSPLINK");
}
if (ddrBase > 0) {
- ddrVirt = ioremap (barStart [3],
- barLen [3]) ;
+ ddrVirt = ioremap(barStart[3], barLen[3]);
}
- regLen = barLen [0] ;
- memLen = barLen [1] ;
- msmcLen = barLen [2] ;
- ddrLen = barLen [3] ;
+ regLen = barLen[0];
+ memLen = barLen[1];
+ msmcLen = barLen[2];
+ ddrLen = barLen[3];
}
* @modif None.
* ============================================================================
*/
- Void
-PCI_setMaster (void)
+void PCI_setMaster(void)
{
- Int32 retVal ;
- Uint16 cmdVal ;
- struct pci_dev * dev ;
+ int32_t retVal;
+ uint16_t cmdVal;
+ struct pci_dev *dev;
- dev = PCIE_DEV ;
+ dev = PCIE_DEV;
/* set the DMA mask */
- if (pci_set_dma_mask (dev, 0xfffffff0ULL)) {
+ if (pci_set_dma_mask(dev, 0xfffffff0ULL)) {
}
- /*
- * set the desired PCI dev to be master, this internally sets the latency
- * timer.
- */
- pci_set_master (dev) ;
+ /* set the desired PCI dev to be master, this internally sets the latency timer */
+ pci_set_master(dev);
pci_write_config_byte(dev, PCI_LATENCY_TIMER, 0x80);
/* Add support memory write invalidate */
- retVal = pci_set_mwi (dev) ;
+ retVal = pci_set_mwi(dev);
- pci_read_config_word (dev, PCI_COMMAND, (u16 *) &cmdVal) ;
+ pci_read_config_word(dev, PCI_COMMAND, (u16 *)&cmdVal);
/* and set the master bit in command register. */
cmdVal |= PCI_COMMAND_MEMORY
| PCI_COMMAND_MASTER
- | PCI_COMMAND_SERR ;
+ | PCI_COMMAND_SERR;
/* and clear the interrupt disable bit in command register. */
cmdVal &= ~PCI_COMMAND_INTX_DISABLE;
- pci_write_config_word (dev, PCI_COMMAND, cmdVal) ;
+ pci_write_config_word(dev, PCI_COMMAND, cmdVal);
+}
+
+/* =============================================================================
+ * @func HAL_CheckPciInterrupt
+ *
+ * @desc This function check whether interrupt is generated by C667x or not.
+ *
+ * @modif None.
+ * ============================================================================
+ */
+bool HAL_CheckPciInterrupt(void)
+{
+ uint32_t *pReg = (uint32_t *)regVirt;
+ return ioread32(pReg + EP_IRQ_STATUS/4);
+}
+
+/** ============================================================================
+ * @func HAL_PciClearDspInterrupt
+ *
+ * @desc Clear pending interrupt from DSP to Host.
+ *
+ * @modif None.
+ * ============================================================================
+ */
+void HAL_PciClearDspInterrupt(void)
+{
+ uint32_t *pReg = (uint32_t *)regVirt;
+ iowrite32(1, pReg+EP_IRQ_CLR/4);
+}
+
+/** ============================================================================
+ * @func HAL_PciEnableDspInterrupt
+ *
+ * @desc Allow the DSP to generate interrupts to the Host.
+ *
+ * @modif None.
+ * ============================================================================
+ */
+void HAL_PciEnableDspInterrupt(void)
+{
+ uint32_t *pReg = (uint32_t *)regVirt;
+ iowrite32(1, pReg+LEGACY_A_IRQ_ENABLE_SET/4);
}
-/* Convert 4 bytes to 32 bits long word*/
-Uint32 byteto32bits(Uint8 *pDspCode)
+/** ============================================================================
+ * @func HAL_PciDisableDspInterrupt
+ *
+ * @desc Disable the DSP to generate interrupts to the Host.
+ *
+ * @modif None.
+ * ============================================================================
+ */
+void HAL_PciDisableDspInterrupt(void)
+{
+ uint32_t *pReg = (uint32_t *)regVirt;
+ iowrite32(1, pReg+LEGACY_A_IRQ_ENABLE_CLR/4);
+}
+
+
+/* ============================================================================
+ * @func HAL_readDMA
+ *
+ * @desc Move DMAs contents from DSP memory to GPP Memory. For DSP this is
+ * outbound write.
+ * flag: 0: Move data inside DSP; 1: Move data between GPP and DSP
+ *
+ * @modif None.
+ * ============================================================================
+ */
+void HAL_readDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t flag)
{
- Uint32 i;
- Uint32 temp;
+ uint32_t *pReg, tmp, pageBase, i, tSize;
+
+ pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
+
+ /* Move data between GPP and DSP, need to program PCIE OB registers */
+ if (flag) {
+ iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */
+
+ if (size <= PCIE_ADLEN_1MB) {
+ pageBase = dstAddr & PCIE_1MB_BITMASK;
+ iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4);
+ iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4);
+ }
+ else {
+ for (tmp = size, i = 0; tmp > 0; tmp -= PCIE_ADLEN_1MB, i++) {
+ pageBase = (dstAddr + (PCIE_ADLEN_1MB * i)) & PCIE_1MB_BITMASK;
+ iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(i)/4);
+ iowrite32(0x0, pReg + OB_OFFSET_HI(i)/4);
+ }
+ }
+ }
+
+ /* Temporarily re-map IB region 3 from DDR memory to EDMA registers */
+ iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+
+ pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */
+
+ while (true) {
+ /* Use TC0 for DBS = 128 bytes */
+ myIowrite32(0x0, pReg + DMAQNUM0/4);
+
+ /* Set the interrupt enable for 1st Channel (IER). */
+ myIowrite32(0x1, pReg + IESR/4);
+
+ /* Clear any pending interrupt (IPR). */
+ myIowrite32(0x1, pReg + ICR/4);
+
+ /* Populate the Param entry. */
+ myIowrite32(0x00100004, pReg + PARAM_0_OPT/4); /* Enable SYNCDIM and TCINTEN, TCC = 0 */
+
+ if (flag == 1) {
+ /* Calculate the DSP PCI address for the PC address */
+ tmp = PCIE_DATA + (dstAddr & ~PCIE_1MB_BITMASK);
+ myIowrite32(tmp, pReg + PARAM_0_DST/4);
+ } else {
+ myIowrite32(dstAddr, pReg + PARAM_0_DST/4);
+ }
+
+ /* Calculate the A & B count */
+ if (size > PCIE_TRANSFER_SIZE) {
+ tmp = size/PCIE_TRANSFER_SIZE;
+ tSize = tmp*PCIE_TRANSFER_SIZE;
+ size -= (tmp*PCIE_TRANSFER_SIZE);
+ tmp <<= 16;
+ tmp |= PCIE_TRANSFER_SIZE;
+ }
+ else {
+ tmp = 0x10000|size;
+ tSize = size;
+ size = 0;
+ }
+
+ myIowrite32(tmp, pReg + PARAM_0_A_B_CNT/4);
+ myIowrite32(srcAddr, pReg + PARAM_0_SRC/4);
+
+ myIowrite32(((PCIE_TRANSFER_SIZE<<16)|PCIE_TRANSFER_SIZE), pReg + PARAM_0_SRC_DST_BIDX/4);
+ myIowrite32(0xFFFF, pReg + PARAM_0_LINK_BCNTRLD/4);
+ myIowrite32(0x0, pReg + PARAM_0_SRC_DST_CIDX/4);
+
+ /* C Count is set to 1 since mostly size will not be more than 1.75GB */
+ myIowrite32(0x1, pReg + PARAM_0_CCNT/4);
+
+ /* Set the Event Enable Set Register. */
+ myIowrite32(0x1, pReg + EESR/4);
+
+ /* Set the event set register. */
+ myIowrite32(0x1, pReg + ESR/4);
+
+ /* wait for current DMA to finish. */
+ while (true) {
+ /* check in steps of 10 usec. */
+ udelay(10);
+ tmp = myIoread32(pReg + IPR/4);
+ if ((tmp & 0x1) == 1) {
+ break;
+ }
+ }
+
+ if (size != 0) {
+ srcAddr += tSize;
+ dstAddr += tSize;
+ } else {
+ break;
+ }
+ }
+
+ /* Clear any pending interrupt. */
+ myIowrite32(1, pReg + ICR/4);
+
+ /* Restore pointer */
+ pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+}
+
+/* ============================================================================
+ * @func HAL_writeDMA
+ *
+ * @desc Move DMAs contents from GPP memory to DSP Memory. For DSP this is
+ * outbound read.
+ * flag: 0: Move data inside DSP; 1: Move data between GPP and DSP
+ *
+ * @modif None.
+ * ============================================================================
+ */
+void HAL_writeDMA(uint32_t srcAddr, uint32_t dstAddr, uint32_t size, uint32_t flag)
+{
+ uint32_t *pReg, tmp, pageBase, i, tSize;
+
+ pReg = (uint32_t *)regVirt; /* Point to PCIE application registers */
+
+ /* Move data between GPP and DSP, need to program PCIE OB registers */
+ if (flag) {
+ iowrite32(0x0, pReg + OB_SIZE/4); /* 1MB outbound translation size */
+
+ if (size <= PCIE_ADLEN_1MB) {
+ pageBase = srcAddr & PCIE_1MB_BITMASK;
+ iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(0)/4);
+ iowrite32(0x0, pReg + OB_OFFSET_HI(0)/4);
+ }
+ else {
+ for (tmp = size, i = 0; tmp > 0; tmp -= PCIE_ADLEN_1MB, i++) {
+ pageBase = (srcAddr + (PCIE_ADLEN_1MB * i)) & PCIE_1MB_BITMASK;
+ iowrite32(pageBase|0x1, pReg + OB_OFFSET_INDEX(i)/4);
+ iowrite32(0x0, pReg + OB_OFFSET_HI(i)/4);
+ }
+ }
+ }
+
+ /* Temporarily re-map IB region 3 from DDR memory to EDMA registers */
+ iowrite32(EDMA_TPCC0_BASE_ADDRESS, pReg + IB_OFFSET(3)/4);
+
+ pReg = (uint32_t*)ddrVirt; /* Now it points to the start of EDMA_TPCC0_BASE_ADDRESS */
+
+ while (true) {
+ /* Use TC0 for DBS = 128 bytes */
+ myIowrite32(0x0, pReg + DMAQNUM0/4);
+
+ /* Set the interrupt enable for 1st Channel (IER). */
+ myIowrite32(0x1, pReg + IESR/4);
+
+ /* Clear any pending interrupt (IPR). */
+ myIowrite32(0x1, pReg + ICR/4);
+
+ /* Populate the Param entry. */
+ myIowrite32(0x00100004, pReg + PARAM_0_OPT/4); /* Enable SYNCDIM and TCINTEN, TCC = 0 */
+
+ if (flag == 1) {
+ /* Calculate the DSP PCI address for the PC address */
+ tmp = PCIE_DATA + (srcAddr & ~PCIE_1MB_BITMASK);
+ myIowrite32(tmp, pReg + PARAM_0_SRC/4);
+ } else {
+ myIowrite32(srcAddr, pReg + PARAM_0_SRC/4);
+ }
+
+ /* Calculate the A & B count */
+ if (size > PCIE_TRANSFER_SIZE) {
+ tmp = size/PCIE_TRANSFER_SIZE;
+ tSize = tmp*PCIE_TRANSFER_SIZE;
+ size -= (tmp*PCIE_TRANSFER_SIZE);
+ tmp <<= 16;
+ tmp |= PCIE_TRANSFER_SIZE;
+ }
+ else {
+ tmp = 0x10000|size;
+ tSize = size;
+ size = 0;
+ }
+
+ myIowrite32(tmp, pReg + PARAM_0_A_B_CNT/4);
+ myIowrite32(dstAddr, pReg + PARAM_0_DST/4);
+
+ myIowrite32(((PCIE_TRANSFER_SIZE<<16)|PCIE_TRANSFER_SIZE), pReg + PARAM_0_SRC_DST_BIDX/4);
+ myIowrite32(0xFFFF, pReg + PARAM_0_LINK_BCNTRLD/4);
+ myIowrite32(0x0, pReg + PARAM_0_SRC_DST_CIDX/4);
+
+ /* C Count is set to 1 since mostly size will not be more than 1.75GB */
+ myIowrite32(0x1, pReg + PARAM_0_CCNT/4);
+
+ /* Set the Event Enable Set Register. */
+ myIowrite32(0x1, pReg + EESR/4);
+
+ /* Set the event set register. */
+ myIowrite32(0x1, pReg + ESR/4);
+
+ /* wait for current DMA to finish. */
+ while (true) {
+ /* check in steps of 10 usec. */
+ udelay(10);
+ tmp = myIoread32(pReg + IPR/4);
+ if ((tmp & 0x1) == 1) {
+ break;
+ }
+ }
+
+ if (size != 0) {
+ srcAddr += tSize;
+ dstAddr += tSize;
+ } else {
+ break;
+ }
+ }
+
+ /* Clear any pending interrupt. */
+ myIowrite32(1, pReg + ICR/4);
+
+ /* Restore pointer */
+ pReg = (uint32_t *)regVirt; //Point to PCIE application registers
+ iowrite32(DDR_START, pReg + IB_OFFSET(3)/4);
+}
+
+/** ============================================================================
+ * @func ISR_handler
+ *
+ * @desc ISR.
+ *
+ * @modif None.
+ * ============================================================================
+ */
+static irqreturn_t ISR_handler(int irq, void *arg)
+{
+ uint32_t i, dma_failure_flag = 0, counter = 0;
+ uint32_t status = HAL_CheckPciInterrupt();
+
+ if (status == 1) {
+ printk("Interrupt %d received from DSP\n", irq);
+ printk("Read DMA from DSP ...\n");
+ do_gettimeofday(&test_time3);
+ HAL_readDMA(DDR_START, rData, DMA_TRANSFER_SIZE, 1); /* Move from DSP to GPP */
+ do_gettimeofday(&test_time4);
+
+ for (i = 0; i < DMA_TRANSFER_SIZE; i++) {
+ if ((~(rDataVirt[i])&0xFF) != wDataVirt[i]) {
+ dma_failure_flag = 1;
+ counter++;
+ }
+ }
+
+ if (dma_failure_flag)
+ printk("DMA test failed with %d locations !\n", counter);
+ else
+ printk("DMA test passed!\n");
+
+ HAL_PciClearDspInterrupt();
+ return IRQ_HANDLED;
+ }
+ return IRQ_NONE;
+}
+
+/* ============================================================================
+ * @func byteto32bits
+ *
+ * @desc Convert 4 bytes to 32 bits long word
+ *
+ * @modif None.
+ * ============================================================================
+ */
+uint32_t byteTo32bits(uint8_t *pDspCode)
+{
+ uint32_t i, temp;
temp = *pDspCode++;
- for(i=0; i<3;i++) {
+ for(i = 0; i < 3;i++) {
temp <<= 8;
temp |= *pDspCode++;
}
return(temp);
}
-/* Function to write a block of data into DSP memory from Linux host
- Note the data buffer is in 32-bit format, unit of length is byte
-corNum: to write data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR
+/* ============================================================================
+ * @func swap4bytes
+ *
+ * @desc Endian swap: 0xA0B1C2D3 to 0xD3C2B1A0
+ *
+ * @modif None.
+ * ============================================================================
*/
-Uint32 WriteDSPMemory(Uint32 coreNum, Uint32 DSPMemAddr, Uint32 *buffer, Uint32 length)
+void swap4bytes(uint32_t *pDspCode, uint32_t size)
{
- Uint32 i, offset, tempReg = 0;
- Uint32 * ptr;
+ uint32_t i, temp;
+
+ for(i = 0; i < size; i += 4, pDspCode++) {
+ temp = *pDspCode;
+ temp = (temp>>24) |
+ ((temp<<8) & 0x00FF0000) |
+ ((temp>>8) & 0x0000FF00) |
+ (temp<<24);
+
+ *pDspCode = temp;
+ }
+}
+
+/* ============================================================================
+ * @func writeDSPMemory
+ *
+ * @desc Write a block of data into DSP memory from Linux host.
+ * Note the data buffer is in 32-bit format, unit of length is byte.
+ * coreNum: to write data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR.
+ *
+ * @modif None.
+ * ============================================================================
+ */
+uint32_t writeDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length)
+{
+ uint32_t i, offset, tempReg = 0;
+ uint32_t *ptr;
if (length == 0) {
return 0;
@@ -398,30 +776,30 @@ Uint32 WriteDSPMemory(Uint32 coreNum, Uint32 DSPMemAddr, Uint32 *buffer, Uint32
case 3:
#endif
DSPMemAddr &= 0x00FFFFFF;
- tempReg = ioread32(ptrReg+IB_OFFSET1/4);
- iowrite32(tempReg + coreNum*0x01000000, ptrReg+IB_OFFSET1/4); //pointing to a different core
+ tempReg = ioread32(ptrReg + IB_OFFSET(1)/4);
+ iowrite32(tempReg + coreNum*0x01000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */
if (DSPMemAddr < LL2_START) {
return 0;
} else {
offset = DSPMemAddr - LL2_START;
- ptr = (Uint32 *) memVirt + offset/4 ;
+ ptr = (uint32_t *)memVirt + offset/4;
}
break;
- case 8: //this is for MSMC
+ case 8: /* this is for MSMC */
if (DSPMemAddr < MSMC_START) {
return 0;
} else {
offset = DSPMemAddr - MSMC_START;
- ptr = (Uint32 *) msmcVirt + offset/4 ;
+ ptr = (uint32_t *)msmcVirt + offset/4;
}
break;
- case 9: //this is for DDR
+ case 9: /* this is for DDR */
if (DSPMemAddr < DDR_START) {
return 0;
} else {
offset = DSPMemAddr - DDR_START;
- ptr = (Uint32 *) ddrVirt + offset/4 ;
+ ptr = (uint32_t *)ddrVirt + offset/4;
}
break;
default:
@@ -431,25 +809,34 @@ Uint32 WriteDSPMemory(Uint32 coreNum, Uint32 DSPMemAddr, Uint32 *buffer, Uint32
}
for (i = 0; i < length/4; i++) {
+#if BIG_ENDIAN
+ swap4bytes(&buffer[i], 4);
+#endif
*ptr = buffer[i];
ptr++;
}
- if ((coreNum >= 0)&&(coreNum <=7)) {
- iowrite32(tempReg, ptrReg+IB_OFFSET1/4); //Restore IB_OFFSET1
+ if ((coreNum >= 0)&&(coreNum <= 7)) {
+ iowrite32(tempReg, ptrReg + IB_OFFSET(1)/4); /* Restore IB_OFFSET1 */
}
return length;
}
-/* Function to read a block DSP memory by Linux host
- Note the data buffer is in 32-bit format, unit of length is byte
-corNum: to read data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR
+/* ============================================================================
+ * @func readDSPMemory
+ *
+ * @desc Read a block of DSP memory by Linux host.
+ * Note the data buffer is in 32-bit format, unit of length is byte.
+ * coreNum: to read data: 0-7 for cores 0-7; 8 for MSMC; 9 for DDR.
+ *
+ * @modif None.
+ * ============================================================================
*/
-Uint32 ReadDSPMemory(Uint32 coreNum, Uint32 DSPMemAddr, Uint32 *buffer, Uint32 length)
+uint32_t readDSPMemory(uint32_t coreNum, uint32_t DSPMemAddr, uint32_t *buffer, uint32_t length)
{
- Uint32 i, offset, tempReg = 0;
- Uint32 * ptr;
+ uint32_t i, offset, tempReg = 0;
+ uint32_t *ptr;
if (length == 0) {
return 0;
@@ -473,29 +860,29 @@ Uint32 ReadDSPMemory(Uint32 coreNum, Uint32 DSPMemAddr, Uint32 *buffer, Uint32 l
case 3:
#endif
DSPMemAddr &= 0x00FFFFFF;
- tempReg = ioread32(ptrReg+IB_OFFSET1/4);
- iowrite32(tempReg + coreNum*0x1000000, ptrReg+IB_OFFSET1/4);
+ tempReg = ioread32(ptrReg + IB_OFFSET(1)/4);
+ iowrite32(tempReg + coreNum*0x1000000, ptrReg + IB_OFFSET(1)/4); /* pointing to a different core */
if (DSPMemAddr < LL2_START) {
return 0;
} else {
offset = DSPMemAddr - LL2_START;
- ptr = (Uint32 *) memVirt + offset/4 ;
+ ptr = (uint32_t *)memVirt + offset/4;
}
break;
- case 8: //this is for MSMC
+ case 8: /* this is for MSMC */
if (DSPMemAddr < MSMC_START) {
return 0;
} else {
offset = DSPMemAddr - MSMC_START;
- ptr = (Uint32 *) msmcVirt + offset/4 ;
+ ptr = (uint32_t *)msmcVirt + offset/4;
}
break;
- case 9: //this is for DDR
+ case 9: /* this is for DDR */
if (DSPMemAddr < DDR_START) {
return 0;
} else {
offset = DSPMemAddr - DDR_START;
- ptr = (Uint32 *) ddrVirt + offset/4 ;
+ ptr = (uint32_t *)ddrVirt + offset/4;
}
break;
default:
@@ -506,32 +893,42 @@ Uint32 ReadDSPMemory(Uint32 coreNum, Uint32 DSPMemAddr, Uint32 *buffer, Uint32 l
for (i = 0; i < length/4; i++) {
buffer[i] = *ptr;
+#if BIG_ENDIAN
+ swap4bytes(&buffer[i], 4);
+#endif
ptr++;
}
- if ((coreNum >= 0)&&(coreNum <=7)) {
- iowrite32(tempReg, ptrReg+IB_OFFSET1/4); //Restore IB_OFFSET1
+ if ((coreNum >= 0)&&(coreNum <= 7)) {
+ iowrite32(tempReg, ptrReg + IB_OFFSET(1)/4); /* Restore IB_OFFSET1 */
}
return length;
}
-Void pushData(Uint8 *pDspCode, Uint8 coreNum, Uint32 *bootEntryAddr)
+/* ============================================================================
+ * @func pushData
+ *
+ * @desc Parser function for DSP boot image array
+ *
+ * @modif None.
+ * ============================================================================
+ */
+void pushData(uint8_t *pDspCode, uint8_t coreNum, uint32_t *bootEntryAddr)
{
- Uint32 i, j, tempArray[BLOCK_TRANSFER_SIZE/4];
- Uint32 size, section = 0, totalSize = 0;
- Uint32 count, remainder;
- Uint32 startaddr;
+ uint32_t i, j, tempArray[BLOCK_TRANSFER_SIZE/4];
+ uint32_t size, section = 0, totalSize = 0;
+ uint32_t count, remainder, startaddr;
/* Get the boot entry address */
- *bootEntryAddr = byteto32bits(pDspCode);
+ *bootEntryAddr = byteTo32bits(pDspCode);
printk("Boot entry address is 0x%8x\n", *bootEntryAddr);
pDspCode +=4;
while(1) {
/* Get the size */
- size = byteto32bits(pDspCode);
+ size = byteTo32bits(pDspCode);
if(size == 0) break;
if ((size/4)*4 != size) {
totalSize += size;
section++;
pDspCode += 4;
- startaddr = byteto32bits(pDspCode);
+ startaddr = byteTo32bits(pDspCode);
pDspCode+= 4;
remainder = size - count * BLOCK_TRANSFER_SIZE;
- for(i=0; i<count; i++) {
+ for(i = 0; i < count; i++) {
for (j = 0; j < BLOCK_TRANSFER_SIZE/4; j++) {
- tempArray[j] = byteto32bits(pDspCode);
+ tempArray[j] = byteTo32bits(pDspCode);
pDspCode += 4;
}
/* Transfer boot tables to DSP */
- WriteDSPMemory(coreNum, startaddr, tempArray, BLOCK_TRANSFER_SIZE);
+ writeDSPMemory(coreNum, startaddr, tempArray, BLOCK_TRANSFER_SIZE);
startaddr += BLOCK_TRANSFER_SIZE;
}
for (j = 0; j < remainder/4; j++) {
- tempArray[j] = byteto32bits(pDspCode);
+ tempArray[j] = byteTo32bits(pDspCode);
pDspCode += 4;
}
- WriteDSPMemory(coreNum, startaddr, tempArray, remainder);
+ writeDSPMemory(coreNum, startaddr, tempArray, remainder);
}
printk("Total %d sections, 0x%x bytes of data written to core %d\n", section, totalSize, coreNum);
}
+/* ============================================================================
+ * @func init_module
+ *
+ * @desc Initialize a loadable module
+ *
+ * @modif None.
+ * ============================================================================
+ */
int init_module(void)
{
- Uint32 bootEntryAddr = 0; //Store 32-bit boot entry address read from .h file
-#if HELLO_WORLD_DEMO
- Uint32 buffer[BLOCK_TRANSFER_SIZE/4]; //Store 32-bit DSP memory readback data
- Uint32 i, j = 0;
+ uint32_t i;
+ uint32_t bootEntryAddr = 0; /* Store 32-bit boot entry address read from .h file */
+#if HELLO_WORLD_DEMO | EDMA_INTC_DEMO
+ uint32_t buffer[BLOCK_TRANSFER_SIZE/4]; /* Store 32-bit DSP memory readback data */
+#endif
+
+#if EDMA_INTC_DEMO
+ uint32_t diff;
#endif
printk ("Finding the device....\n") ;
- PCI_FindPciDevices () ;
- if (! PCIE_DEV) {
+ PCI_FindPciDevices();
+ if (!PCIE_DEV) {
printk ("No PCIE device found!!!\n") ;
}
if (PCIE_DEV != NULL) {
- printk ("Reading the BAR areas....\n") ;
- PCI_readBAR () ;
-
- printk ("Enabling the device....\n") ;
- /* Linux Function: Initialize device before it's used by a driver*/
- pci_enable_device (PCIE_DEV) ;
- PCI_setMaster () ;
+ printk("Reading the BAR areas....\n");
+ PCI_readBAR();
- printk ("Access PCIE application register ....\n");
+ printk("Enabling the device....\n");
+ /* Linux Function: Initialize device before it's used by a driver */
+ pci_enable_device(PCIE_DEV);
- //Pointing to the beginning of the application registers
- ptrReg = (Uint32 *) regVirt;
+ /* Linux Function: Associates the given data with the given pci_driver structure */
+ pci_set_drvdata(PCIE_DEV, memVirt);
- //Configure IB_BAR0 to BAR0 for PCIE registers
- iowrite32(0, ptrReg+IB_BAR0/4);
- iowrite32((int)PCIE_DEV->resource[0].start, ptrReg+IB_START0_LO/4);
- iowrite32(0, ptrReg+IB_START0_HI/4);
- iowrite32(PCIE_BASE_ADDRESS, ptrReg+IB_OFFSET0/4);
+ PCI_setMaster();
- //Configure IB_BAR1 to BAR1 for LL2 for core0
- iowrite32(1, ptrReg+IB_BAR1/4);
- iowrite32((int)PCIE_DEV->resource[1].start, ptrReg+IB_START1_LO/4);
- iowrite32(0, ptrReg+IB_START1_HI/4);
- iowrite32(LL2_START + (1 << 28), ptrReg+IB_OFFSET1/4);
+ printk("Access PCIE application register ....\n");
+ /* Pointing to the beginning of the application registers */
+ ptrReg = (uint32_t *)regVirt;
- //Configure IB_BAR2 to BAR2 for MSMC
- iowrite32(2, ptrReg+IB_BAR2/4);
- iowrite32((int)PCIE_DEV->resource[2].start, ptrReg+IB_START2_LO/4);
- iowrite32(0, ptrReg+IB_START2_HI/4);
- iowrite32(MSMC_START, ptrReg+IB_OFFSET2/4);
+ /* Configure IB_BAR0 to BAR0 for PCIE registers; Configure IB_BAR1 to BAR1 for LL2 for core 0
+ Configure IB_BAR2 to BAR2 for MSMC; Configure IB_BAR3 to BAR3 for DDR */
+ for (i = 0; i < 4; i++) {
+ iowrite32(i, ptrReg + IB_BAR(i)/4);
+ iowrite32(PCIE_DEV->resource[i].start, ptrReg + IB_START_LO(i)/4);
+ iowrite32(0, ptrReg + IB_START_HI(i)/4);
+ }
+ iowrite32(PCIE_BASE_ADDRESS, ptrReg + IB_OFFSET(0)/4);
+ iowrite32(LL2_START + (1 << 28), ptrReg + IB_OFFSET(1)/4);
+ iowrite32(MSMC_START, ptrReg + IB_OFFSET(2)/4);
+ iowrite32(DDR_START, ptrReg + IB_OFFSET(3)/4);
- //Configure IB_BAR3 to BAR3 for DDR
- iowrite32(3, ptrReg+IB_BAR3/4);
- iowrite32((int)PCIE_DEV->resource[3].start, ptrReg+IB_START3_LO/4);
- iowrite32(0, ptrReg+IB_START3_HI/4);
- iowrite32(DDR_START, ptrReg+IB_OFFSET3/4);
+ printk("Registering the irq %d ...\n", irqNo);
+ request_irq(irqNo, ISR_handler, IRQF_SHARED, "TI 667x PCIE", &dummy);
+ HAL_PciEnableDspInterrupt();
#if HELLO_WORLD_DEMO
- //Load DDR init code into DSP
+ /* Load DDR init code into DSP */
pushData(ddrInitCode, 0, &bootEntryAddr);
- //Write boot entry address into MAGIC_ADDR
- WriteDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+ /* Write boot entry address into MAGIC_ADDR */
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
while (1) {
- ReadDSPMemory(0, MAGIC_ADDR, buffer, 4);
- if (buffer[0]==0) break;
- for (i=0; i<1000; i++) j++;
+ readDSPMemory(0, MAGIC_ADDR, buffer, 4);
+ if (buffer[0] == 0) break;
+ for (i = 0; i < 1000; i++) i++;
}
- //Load "Hello World" demo into DSP
+ /* Load "Hello World" demo into DSP */
pushData(bootCode, 9, &bootEntryAddr);
- //Write boot entry address into MAGIC_ADDR
- WriteDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+ /* Write boot entry address into MAGIC_ADDR */
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
#endif
#if POST_DEMO
- //Load POST demo code into DSP
+ /* Load POST demo code into DSP */
pushData(post, 0, &bootEntryAddr);
- //Write boot entry address into MAGIC_ADDR
- WriteDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+ /* Write boot entry address into MAGIC_ADDR */
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+#endif
+
+#if EDMA_INTC_DEMO
+
+ printk("Allocating consistent memory ...\n");
+ wDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &wData, GFP_KERNEL);
+ rDataVirt = (uint8_t*)dma_alloc_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, &rData, GFP_KERNEL);
+
+ for (i = 0; i < DMA_TRANSFER_SIZE; i++) {
+ wDataVirt[i] = i;
+ rDataVirt[i] = 0;
+ }
+
+ /* Load Interrupt demo code into DSP */
+ pushData(pcieInterrupt, 0, &bootEntryAddr);
+
+ /* Write boot entry address into MAGIC_ADDR */
+ writeDSPMemory(0, MAGIC_ADDR, &bootEntryAddr, 4);
+
+ while (1) {
+ readDSPMemory(0, MAGIC_ADDR, buffer, 4);
+ if (buffer[0] == 0) break;
+ for (i = 0; i < 1000; i++) i++;
+ }
+
+ /* Wait 2 second for DDR init */
+ mdelay(2000);
+
+ printk ("Write DMA to DSP ...\n");
+ do_gettimeofday(&test_time1);
+ HAL_writeDMA (wData, DDR_START, DMA_TRANSFER_SIZE, 1); /* Move from GPP to DSP */
+ do_gettimeofday(&test_time2);
+
+ /* Note: From PCIE specification, legacy interrupts cannot be generated from RC and be passed downstream.
+ The example below is just making use of the facility that RC can access EP side register to generate
+ a generic interrupt on local (EP) side using one of the event inputs of Interrupt Controller (INTC).
+ There is no real interrupt signal sent over the PCIe link */
+ printk ("Generating interrupt to DSP ...\n");
+ iowrite32(1, ptrReg + LEGACY_A_IRQ_STATUS_RAW/4);
+
+ /* Waiting DSP ISR handler to process the interrupt from DSP and then generates an interrupt to host
+ Waiting for host ISR handler to process the interrupt from DSP before program exits */
+ mdelay(1000);
+
+ /* For demo how to move inside DSP purpose only, you can directly move between GPP and DSP using flag = 1 */
+ // HAL_writeDMA (0x80000000, 0x11800000, 0x10000, 0);
+ // HAL_writeDMA (0x11800000, 0x0C000000, 0x10000, 0);
+
+ diff = (test_time2.tv_sec - test_time1.tv_sec)*1000000 + (test_time2.tv_usec - test_time1.tv_usec);
+ printk("DMA write throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff,
+ ((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff);
+
+ diff = (test_time4.tv_sec - test_time3.tv_sec)*1000000 + (test_time4.tv_usec - test_time3.tv_usec);
+ printk("DMA read throughput is: %d.%02d MB/s\n", DMA_TRANSFER_SIZE/(1024*1024)*1000*1000/diff,
+ ((DMA_TRANSFER_SIZE/(1024*1024)*1000*1000)%diff)*100/diff);
+
+ printk("Freeing consistent memory ...\n");
+ dma_free_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, wDataVirt, wData);
+ dma_free_coherent(&PCIE_DEV->dev, DMA_TRANSFER_SIZE, rDataVirt, rData);
#endif
}
else {
- printk ("No PCIE device found!!!\n") ;
+ printk("No PCIE device found!!!\n");
}
-
- return 1 ;
+ return 0 ;
}
+/* ============================================================================
+ * @func cleanup_module
+ *
+ * @desc Unregister a loadable module
+ *
+ * @modif None.
+ * ============================================================================
+ */
+
void cleanup_module(void)
{
if (PCIE_DEV != NULL) {
-
+ HAL_PciDisableDspInterrupt();
/* ---------------------------------------------------------------------
* Unmap baseRegs region & release the reg region.
* ---------------------------------------------------------------------
*/
- iounmap(regVirt) ;
- if (pci_resource_flags (PCIE_DEV, 0) & IORESOURCE_MEM) {
+ iounmap(regVirt);
+ if (pci_resource_flags(PCIE_DEV, 0) & IORESOURCE_MEM) {
/* Map the memory region. */
- release_mem_region (regBase,
- regLen);
+ release_mem_region(regBase, regLen);
}
else {
/* Map the memory region. */
- release_region (regBase,
- regLen);
+ release_region(regBase, regLen);
}
/* ---------------------------------------------------------------------
* Unmap LL2 region & release the reg region.
* ---------------------------------------------------------------------
*/
- iounmap(memVirt) ;
- if (pci_resource_flags (PCIE_DEV, 1) & IORESOURCE_MEM) {
+ iounmap(memVirt);
+ if (pci_resource_flags(PCIE_DEV, 1) & IORESOURCE_MEM) {
/* Map the memory region. */
- release_mem_region (memBase,
- memLen);
+ release_mem_region(memBase, memLen);
}
else {
/* Map the memory region. */
- release_region (memBase,
- memLen);
+ release_region(memBase, memLen);
}
/* ---------------------------------------------------------------------
* Unmap MSMC region & release the reg region.
* ---------------------------------------------------------------------
*/
- iounmap(msmcVirt) ;
- if (pci_resource_flags (PCIE_DEV, 2) & IORESOURCE_MEM) {
+ iounmap(msmcVirt);
+ if (pci_resource_flags(PCIE_DEV, 2) & IORESOURCE_MEM) {
/* Map the memory region. */
- release_mem_region (msmcBase,
- msmcLen);
+ release_mem_region(msmcBase, msmcLen);
}
else {
/* Map the memory region. */
- release_region (msmcBase,
- msmcLen);
+ release_region(msmcBase, msmcLen);
}
/* ---------------------------------------------------------------------
* Unmap DDR region & release the reg region.
* ---------------------------------------------------------------------
*/
- iounmap(ddrVirt) ;
- if (pci_resource_flags (PCIE_DEV, 3) & IORESOURCE_MEM) {
+ iounmap(ddrVirt);
+ if (pci_resource_flags(PCIE_DEV, 3) & IORESOURCE_MEM) {
/* Map the memory region. */
- release_mem_region (ddrBase,
- ddrLen);
+ release_mem_region(ddrBase, ddrLen);
}
else {
/* Map the memory region. */
- release_region (ddrBase,
- ddrLen);
+ release_region(ddrBase, ddrLen);
}
- free_irq (irqNo, &dummy) ;
+ free_irq(irqNo, &dummy);
}
}
-
-
-
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/.cproject b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/.cproject
index d6583112e05dc5b6a0ad4ca60dfb0e578a035db9..3a7da0bfab6bae1fc794137359698a94569b126f 100644 (file)
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="../bin/pcieboot_ddrinit_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.1841555840" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.300112028">
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1575073769" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1086321891" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1481588786">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1012314684" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_ddrinit.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.18;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.17;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1661336306" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.819210253" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
- <builder buildPath="${workspace_loc:/pcieboot_ddrinit_evmc6670l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.196882008" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.1316163783" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1666204292" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.555732810" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.2141066262" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_ddrinit_evmc6670l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1021331156" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.2139574713" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1264743661" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1967026117" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.1435395246" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6670L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.2058816194" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1570012704" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION.1879024397" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE.907858563" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE" valueType="definedSymbols">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.719657185" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.389883393" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1043281746" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.457796925" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.807949301" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.232783869" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1481588786" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1258370791" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.3865774" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evm6670l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.744728016" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.281938076" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586" moduleId="org.eclipse.cdt.core.settings" name="DebugBE">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_ddrinit_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586" name="DebugBE" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1967095431" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1870127038">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1913648469" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_ddrinit.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ <listOptionValue builtIn="false" value="LINK_ORDER="/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.453387369" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.512952460" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_ddrinit_evmc6670l/DebugBE}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1413043939" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1821266152" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.225260017" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.630216674" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.330938921" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_EVMC6670L_"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.462762803" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.2031867250" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
<listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.208503547" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.936204695" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.1585943325" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1563772093" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.1781528137" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.1093250863" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.943751106" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1667618237" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.469971205" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN.1317701422" name="Generate big endian code (--big_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.973170621" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1652479913" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1569070101" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.551815968" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.300112028" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.85669775" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evm6670l.out"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.374973357" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evm6670l.map"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.1774145083" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
- <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1870127038" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.423892108" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.330952292" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evm6670l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.270294695" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66e""/>
<listOptionValue builtIn="false" value=""libc.a""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.1156978271" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.995813524" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- </cconfiguration>
+ </cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="pcieboot_ddrinit.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
</storageModule>
+ <storageModule moduleId="refreshScope"/>
</cproject>
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/.project b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/.project
index 4945a8591e33e91783df9beac18329f5c96ee5d0..65f742bad0569114f6ed8994f16fbc54a0986a94 100644 (file)
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ <value>${CCS_UTILS_DIR}/bin/gmake</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<link>
<name>README.pdf</name>
<type>1</type>
- <location>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</location>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
</link>
<link>
<name>src</name>
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/bin/pcieboot_ddrinit_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/bin/pcieboot_ddrinit_elf2HBin.bat
index ae1d32b3aadd34b1a0cd38375199cd92fc20d1d8..30edc43514999a50a8e3e25e4d99b9d49b1d0e5e 100644 (file)
-set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.3.1"
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
set TARGET=6670
set ENDIAN=little
set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
..\..\..\..\..\..\hfile2array\hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode
-move pcieDdrInit.h ..\..\..\linux_host_loader\pcieDdrInit_%TARGET%.h
-
-
+if %ENDIAN% == little (
+move pcieDdrInit.h ..\..\..\linux_host_loader\LE\pcieDdrInit_%TARGET%.h
+) else (
+move pcieDdrInit.h ..\..\..\linux_host_loader\BE\pcieDdrInit_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/bin/pcieboot_ddrinit_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/bin/pcieboot_ddrinit_elf2HBin.sh
index 70c68e8a8fcc75b66afabd2c2e6ebc38ebcae03a..f6d9baa3d2cd92b57a28d7eaf0b93fdf583ec66b 100755 (executable)
-export CGT_INSTALL_DIR=~/ti/TI_CGT_C6000_7.3.1
+export CGT_INSTALL_DIR=~/texas_instruments/TI_CGT_C6000_7.3.0
export TARGET=6670
export ENDIAN=little
../../../../../../hfile2array/hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode
-mv pcieDdrInit.h ../../../linux_host_loader/pcieDdrInit_${TARGET}.h
+if [ ${ENDIAN} == little ]
+then
+mv pcieDdrInit.h ../../../linux_host_loader/LE/pcieDdrInit_${TARGET}.h
+else
+mv pcieDdrInit.h ../../../linux_host_loader/BE/pcieDdrInit_${TARGET}.h
+fi
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/macros.ini_initial b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6670l/macros.ini_initial
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/.cproject b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/.cproject
index 70fb811991b10bf2308dfe87cb699da2d7a065b9..d787076c6164858c1eef1bd0321c95f196acf634 100644 (file)
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="../bin/pcieboot_ddrinit_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.887422456" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.248250944">
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1321254020" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1746715293" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.259851256">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.481373714" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_ddrinit.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.18;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.17;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.683212494" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.1721905476" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
- <builder buildPath="${workspace_loc:/pcieboot_ddrinit_evmc6678l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.1313166499" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.1382004370" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1680157596" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1700166239" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1120157158" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_ddrinit_evmc6678l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1295008155" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.777280390" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.2017755137" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1890986901" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.737261165" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6678L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.405244538" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1501215304" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION.356344810" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE.1064331546" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE" valueType="definedSymbols">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1527307228" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1469374076" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.722635559" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1419724917" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1137158571" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1939310427" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.259851256" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1507242507" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evm6678l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.464146224" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evm6678l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.503904790" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1784579309" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379" moduleId="org.eclipse.cdt.core.settings" name="DebugBE">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_ddrinit_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379" name="DebugBE" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.607805527" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.515159206">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.410188919" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_ddrinit.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1062225897" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1410749831" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_ddrinit_evmc6678l/DebugBE}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.826069596" name="GNU Make.DebugBE" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1801902341" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.342306904" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.532191226" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.779276246" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_EVMC6678L_"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.1745027542" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.427345087" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
<listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.2117695525" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.936204695" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.1556849566" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1583337144" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.1515830032" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.1836593459" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1622583466" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1392684389" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1632167603" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN.1450822819" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1353164103" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1836350007" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1026287875" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1804863495" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.248250944" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.2002078346" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evm6678l.out"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.6784208" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evm6678l.map"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.1243773245" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
- <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66""/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.515159206" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.87150891" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_ddrinit_evm6678l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.1338371048" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_ddrinit_evm6678l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1737959246" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66e""/>
<listOptionValue builtIn="false" value=""libc.a""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.354626356" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1535108319" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- </cconfiguration>
+ </cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="pcieboot_ddrinit.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
</storageModule>
+ <storageModule moduleId="refreshScope"/>
</cproject>
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/.project b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/.project
index 1a61bf359cea406d5b6cb9bc911d51481ac673ae..021b2d6c520624c995db76adf926c942e549b6c0 100644 (file)
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ <value>${CCS_UTILS_DIR}/bin/gmake</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<link>
<name>README.pdf</name>
<type>1</type>
- <location>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</location>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
</link>
<link>
<name>src</name>
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/bin/pcieboot_ddrinit_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/bin/pcieboot_ddrinit_elf2HBin.bat
index 31314e798971374aa819f2510a723cf880373830..ccd8245b20a34155b4da5fb55f280f2079080a30 100644 (file)
-set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.3.1"
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
set TARGET=6678
set ENDIAN=little
set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
..\..\..\..\..\..\hfile2array\hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode
-move pcieDdrInit.h ..\..\..\linux_host_loader\pcieDdrInit_%TARGET%.h
-
-
+if %ENDIAN% == little (
+move pcieDdrInit.h ..\..\..\linux_host_loader\LE\pcieDdrInit_%TARGET%.h
+) else (
+move pcieDdrInit.h ..\..\..\linux_host_loader\BE\pcieDdrInit_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/bin/pcieboot_ddrinit_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/bin/pcieboot_ddrinit_elf2HBin.sh
index 90777f7f8487ce73d7eab80bdd050c45f98a5c24..f4d12d0c4d2a0ba75114073c17bf30acdb276ab2 100755 (executable)
-export CGT_INSTALL_DIR=~/ti/TI_CGT_C6000_7.3.1
+export CGT_INSTALL_DIR=~/texas_instruments/TI_CGT_C6000_7.3.0
export TARGET=6678
export ENDIAN=little
../../../../../../hfile2array/hfile2array pcieboot_ddrinit.h pcieDdrInit.h ddrInitCode
-mv pcieDdrInit.h ../../../linux_host_loader/pcieDdrInit_${TARGET}.h
+if [ ${ENDIAN} == little ]
+then
+mv pcieDdrInit.h ../../../linux_host_loader/LE/pcieDdrInit_${TARGET}.h
+else
+mv pcieDdrInit.h ../../../linux_host_loader/BE/pcieDdrInit_${TARGET}.h
+fi
\ No newline at end of file
diff --git a/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/macros.ini_initial b/boot_loader/examples/pcie/pcieboot_ddrinit/evmc6678l/macros.ini_initial
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/.cproject b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/.cproject
index a3eceb15f6cb2dcda5b106f1f2cb2027e5926c59..5d74cfcb0240bdd6743bd9bf8bfc112bfa5d627e 100644 (file)
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="../bin/pcieboot_helloworld_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.1873470455" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.1791845818">
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1343716594" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1197571457" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1098282386">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.801085244" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_helloworld.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.18;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.17;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.197938147" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.1040178317" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
- <builder buildPath="${workspace_loc:/pcieboot_helloworld_evmc6670l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.1391780872" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.68298238" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1445279470" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.203292325" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.272107056" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_helloworld_evmc6670l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1483633795" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.704834950" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1909352185" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.34173241" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.1533986461" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6670L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.907780866" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1274449838" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION.1424759233" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE.2124863636" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE" valueType="definedSymbols">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.925703390" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.495635" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.892689011" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1753319386" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1388312468" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.556657979" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1098282386" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.582128246" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.376883208" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evm6670l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1048244110" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1556106893" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.455144340">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.455144340" moduleId="org.eclipse.cdt.core.settings" name="DebugBE">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_helloworld_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.455144340" name="DebugBE" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.455144340." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.851325798" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1387334561">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.811919258" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_helloworld.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.635450393" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.122905308" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_helloworld_evmc6670l/DebugBE}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.937767188" name="GNU Make.DebugBE" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1030726372" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1602279473" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.223792134" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.1578645038" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_EVMC6670L_"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.934178540" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.857697755" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
<listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.1314787188" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.936204695" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.563654703" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1553068425" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.1849995185" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.873025424" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.827796130" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1328724236" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1293158023" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN.950260597" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.264701200" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1782187034" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.201201975" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1561248166" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.1791845818" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.1731379773" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evm6670l.out"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.215554692" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evm6670l.map"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.2084768107" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
- <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1387334561" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1707295732" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.1649954458" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evm6670l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1845940281" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66e""/>
<listOptionValue builtIn="false" value=""libc.a""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.1616729709" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1349611070" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- </cconfiguration>
+ </cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="pcieboot_helloworld.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
</storageModule>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="scannerConfiguration"/>
</cproject>
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/.project b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/.project
index b905f35fa869ce7f43c8ab0a4dc8076157c58833..0f590bfe08b6c92ddb93e2613ce76714d8e10201 100644 (file)
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ <value>${CCS_UTILS_DIR}/bin/gmake</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/bin/helloworld_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/bin/helloworld_elf2HBin.bat
index c1addea8dd542557922edbece7388f5c36076adf..9866eeea644ecd1d18a80f581e187496d18181c2 100644 (file)
-set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.3.1"
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
set TOOL_DIR="..\..\..\..\..\..\"
set TARGET=6670
set ENDIAN=little
..\..\..\..\..\..\hfile2array\hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode
-move pcieBootCode.h ..\..\..\linux_host_loader\pcieBootCode_%TARGET%.h
-
+if %ENDIAN% == little (
+move pcieBootCode.h ..\..\..\linux_host_loader\LE\pcieBootCode_%TARGET%.h
+) else (
+move pcieBootCode.h ..\..\..\linux_host_loader\BE\pcieBootCode_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/bin/helloworld_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/bin/helloworld_elf2HBin.sh
index 64be9e33088700fd35b9d06845eb0f29a8d151bd..3722d47a3b863f5408b5b689da6a75b41491ec20 100755 (executable)
-export CGT_INSTALL_DIR=~/ti/TI_CGT_C6000_7.3.1
+export CGT_INSTALL_DIR=~/texas_instruments/TI_CGT_C6000_7.3.0
export TOOL_DIR="../../../../../../"
export TARGET=6670
export ENDIAN=little
+export PATH=${PATH};${SystemRoot}/system32;${SystemRoot};
echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
echo TARGET set as: ${TARGET}
../../../../../../hfile2array/hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode
-mv pcieBootCode.h ../../../linux_host_loader/pcieBootCode_${TARGET}.h
+if [ ${ENDIAN} == little ]
+then
+mv pcieBootCode.h ../../../linux_host_loader/LE/pcieBootCode_${TARGET}.h
+else
+mv pcieBootCode.h ../../../linux_host_loader/BE/pcieBootCode_${TARGET}.h
+fi
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/macros.ini_initial b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6670l/macros.ini_initial
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/.cproject b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/.cproject
index 471909732f797efac7823a5009ecc9e9ad0e76cf..d006dc9e18a93c8050c16a26fa0df9ef75dbee35 100644 (file)
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-l <configuration artifactExtension="out" artifactName="../bin/pcieboot_helloworld_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_helloworld_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain.1693364981" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.1268593461">
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.799302483" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.119491204" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.537340077">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.111971679" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_helloworld.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
- <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.18;"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.17;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.74082412" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug.337520997" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.targetPlatformDebug"/>
- <builder buildPath="${workspace_loc:/pcieboot_helloworld_evmc6678l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug.963374553" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug.1508425974" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING.1023307215" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.481213066" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1966101363" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_helloworld_evmc6678l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.2024421314" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1206593936" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.885363783" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.33318020" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.95474216" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6678L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.836452898" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1472995049" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION.1251224803" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE.1628713044" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEFINE" valueType="definedSymbols">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1369185184" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1458970916" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.243963368" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.429298315" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1870474446" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.431866887" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.537340077" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1055286640" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evm6678l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.619705049" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evm6678l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1378192542" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1857135169" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.810302262">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.810302262" moduleId="org.eclipse.cdt.core.settings" name="DebugBE">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_helloworld_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.810302262" name="DebugBE" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.810302262." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.503543482" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.371448596">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1290262677" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_helloworld.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.981601370" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1384845238" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_helloworld_evmc6678l/DebugBE}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.774591035" name="GNU Make.DebugBE" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.939371242" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1295523161" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1305516945" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.355118194" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_EVMC6678L_"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH.1706385833" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.INCLUDE_PATH" valueType="includePath">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.1395470998" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
<listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.500544268" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI.eabi" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.936204695" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS.40719850" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS.1980235494" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS.288187526" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS.558871968" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.compiler.inputType__ASM2_SRCS"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.138695170" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1700116725" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.671783368" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN.2118534414" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.86613066" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.132548921" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.726128883" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1997421553" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug.1268593461" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE.778551819" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evm6678l.out"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE.1680542407" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evm6678l.map"" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY.534058426" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.LIBRARY" valueType="libs">
- <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66""/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.371448596" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1005318464" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_helloworld_evm6678l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.748826412" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_helloworld_evm6678l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.732843432" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66e""/>
<listOptionValue builtIn="false" value=""libc.a""/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH.1384675551" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.2.linkerID.SEARCH_PATH" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.2009253219" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
<listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- </cconfiguration>
+ </cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="pcieboot_helloworld.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
</storageModule>
+ <storageModule moduleId="refreshScope"/>
</cproject>
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/.project b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/.project
index edd35155bce72e0ded50010f6c109d44bd1b5e10..9255aaafc9c713f7dfc5df4c311d261ab0760938 100644 (file)
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>${CCS_INSTALL_ROOT}/utils/gmake/gmake</value>
+ <value>${CCS_UTILS_DIR}/bin/gmake</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<link>
<name>README.pdf</name>
<type>1</type>
- <location>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</location>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
</link>
<link>
<name>src</name>
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/bin/helloworld_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/bin/helloworld_elf2HBin.bat
index 32d8b48b6cd5bea32988b50a661a68032d02f769..2543cbeac57cb42f180f7e2ac9e9fdb7cca811aa 100644 (file)
-set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.3.1"
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
set TOOL_DIR="..\..\..\..\..\..\"
set TARGET=6678
set ENDIAN=little
..\..\..\..\..\..\hfile2array\hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode
-move pcieBootCode.h ..\..\..\linux_host_loader\pcieBootCode_%TARGET%.h
-
+if %ENDIAN% == little (
+move pcieBootCode.h ..\..\..\linux_host_loader\LE\pcieBootCode_%TARGET%.h
+) else (
+move pcieBootCode.h ..\..\..\linux_host_loader\BE\pcieBootCode_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/bin/helloworld_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/bin/helloworld_elf2HBin.sh
index 3845a47e120a63a2c115422ee9a62d7abe89fa3d..f79163502413e9d46e634de503d1070e07f28d45 100755 (executable)
-export CGT_INSTALL_DIR=~/ti/TI_CGT_C6000_7.3.1
+export CGT_INSTALL_DIR=~/texas_instruments/TI_CGT_C6000_7.3.0
export TOOL_DIR="../../../../../../"
export TARGET=6678
export ENDIAN=little
../../../../../../hfile2array/hfile2array pcieboot_helloworld.h pcieBootCode.h bootCode
-mv pcieBootCode.h ../../../linux_host_loader/pcieBootCode_${TARGET}.h
+if [ ${ENDIAN} == little ]
+then
+mv pcieBootCode.h ../../../linux_host_loader/LE/pcieBootCode_${TARGET}.h
+else
+mv pcieBootCode.h ../../../linux_host_loader/BE/pcieBootCode_${TARGET}.h
+fi
diff --git a/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/macros.ini_initial b/boot_loader/examples/pcie/pcieboot_helloworld/evmc6678l/macros.ini_initial
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/.ccsproject b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/.ccsproject
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+</projectOptions>
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/.cproject b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/.cproject
--- /dev/null
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_interrupt_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1086321891" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1481588786">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1012314684" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_interrupt.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.555732810" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.2141066262" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_interrupt_evmc6670l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1021331156" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.2139574713" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.1264743661" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1967026117" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.1435395246" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6670L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.2058816194" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1570012704" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.719657185" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.389883393" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1043281746" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.457796925" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.807949301" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.232783869" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1481588786" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1258370791" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_interrupt_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.3865774" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_interrupt_evm6670l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.744728016" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66""/>
+ <listOptionValue builtIn="false" value=""ti.csl.ae66""/>
+ <listOptionValue builtIn="false" value=""ti.csl.intc.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.281938076" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/csl/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586" moduleId="org.eclipse.cdt.core.settings" name="DebugBE">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_interrupt_evm6670l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586" name="DebugBE" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1651212586." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1967095431" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1870127038">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1913648469" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_interrupt.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6670:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ <listOptionValue builtIn="false" value="LINK_ORDER="/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.453387369" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.512952460" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_interrupt_evmc6670l/DebugBE}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1413043939" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1821266152" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.225260017" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.630216674" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.330938921" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6670L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.2031867250" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.943751106" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1667618237" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.469971205" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN.1317701422" name="Generate big endian code (--big_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.973170621" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1652479913" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1569070101" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.551815968" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.1870127038" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.423892108" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_interrupt_evm6670l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.330952292" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_interrupt_evm6670l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.270294695" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6670l.ae66e""/>
+ <listOptionValue builtIn="false" value=""ti.csl.ae66e""/>
+ <listOptionValue builtIn="false" value=""ti.csl.intc.ae66e""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.995813524" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/csl/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6670_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="pcieboot_interrupt.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+ <project-mappings>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ </project-mappings>
+ </storageModule>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="scannerConfiguration"/>
+</cproject>
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/.project b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>pcieboot_interrupt_evmc6670l</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value>-k</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>${CCS_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/pcieboot_interrupt_evmc6670l/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.core.ccsNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>README.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/pcieboot_interrupt/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_PCIEBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/header.txt b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/interrupt_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/interrupt_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,29 @@
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
+set TOOL_DIR="..\..\..\..\..\..\"
+set TARGET=6670
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR%
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L interrupt_image.rmd pcieboot_interrupt_evm%TARGET%l.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M interrupt_image.rmd pcieboot_interrupt_evm%TARGET%l.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_interrupt.btbl pcieboot_interrupt.h pcieboot_interrupt.bin
+
+..\..\..\..\..\..\hfile2array\hfile2array pcieboot_interrupt.h pcieInterrupt.h pcieInterrupt
+
+if %ENDIAN% == little (
+move pcieInterrupt.h ..\..\..\linux_host_loader\LE\pcieInterrupt_%TARGET%.h
+) else (
+move pcieInterrupt.h ..\..\..\linux_host_loader\BE\pcieInterrupt_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/interrupt_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/interrupt_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,28 @@
+export CGT_INSTALL_DIR=~/texas_instruments/TI_CGT_C6000_7.3.0
+export TOOL_DIR="../../../../../../"
+export TARGET=6670
+export ENDIAN=little
+export PATH=${PATH};${SystemRoot}/system32;${SystemRoot};
+
+echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo TARGET set as: ${TARGET}
+echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR}
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${CGT_INSTALL_DIR}/bin/hex6x -order L interrupt_image.rmd pcieboot_interrupt_evm${TARGET}l.out
+else
+${CGT_INSTALL_DIR}/bin/hex6x -order M interrupt_image.rmd pcieboot_interrupt_evm${TARGET}l.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_interrupt.btbl pcieboot_interrupt.h pcieboot_interrupt.bin
+
+../../../../../../hfile2array/hfile2array pcieboot_interrupt.h pcieInterrupt.h Interrupt
+
+if [ ${ENDIAN} == little ]
+then
+mv pcieBootCode.h ../../../linux_host_loader/LE/pcieInterrupt_${TARGET}.h
+else
+mv pcieBootCode.h ../../../linux_host_loader/BE/pcieInterrupt_${TARGET}.h
+fi
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/interrupt_image.rmd b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/bin/interrupt_image.rmd
--- /dev/null
@@ -0,0 +1,11 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0x80000000, length = 0x200000, memwidth = 32, romwidth = 32
+ files = { pcieboot_interrupt.btbl }
+}
+
+
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/macros.ini_initial b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/macros.ini_initial
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/pcieboot_interrupt.cmd b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6670l/pcieboot_interrupt.cmd
--- /dev/null
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************/
+/*
+ * Linker command file
+ *
+ */
+
+-c
+-heap 0x2000
+-stack 0x2000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ LL2 (RWX) : org = 0x00820000, len = 0x00020000
+}
+
+SECTIONS
+{
+ .csl_vect > LL2
+ .text > LL2
+ platform_lib > LL2
+ .const > LL2
+ .neardata > LL2
+ .fardata > LL2
+ .switch > LL2
+ .cinit > LL2
+ .stack > LL2
+ .sysmem > LL2
+ .bss > LL2
+ .far > LL2
+ .cio > LL2
+}
+
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/.ccsproject b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/.ccsproject
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?ccsproject version="1.0"?>
+
+<projectOptions>
+<deviceVariant value="com.ti.ccstudio.deviceModel.C6000.CustomC6000Device"/>
+<deviceEndianness value="little"/>
+<codegenToolVersion value="7.2.4"/>
+<isElfFormat value="true"/>
+<rts value="rts6600_elf.lib"/>
+</projectOptions>
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/.cproject b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/.cproject
--- /dev/null
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_interrupt_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.1746715293" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.259851256">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.481373714" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_interrupt.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1700166239" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1120157158" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_interrupt_evmc6678l/Debug}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.1295008155" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.777280390" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.2017755137" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.1890986901" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.737261165" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6678L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.405244538" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1501215304" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1527307228" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1469374076" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.722635559" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1419724917" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1137158571" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1939310427" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.259851256" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.1507242507" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_interrupt_evm6678l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.464146224" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_interrupt_evm6678l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.503904790" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66""/>
+ <listOptionValue builtIn="false" value=""ti.csl.ae66""/>
+ <listOptionValue builtIn="false" value=""ti.csl.intc.ae66""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1784579309" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/csl/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ <cconfiguration id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379" moduleId="org.eclipse.cdt.core.settings" name="DebugBE">
+ <macros>
+ <stringMacro name="TI_MCSDK_PCIEBOOT_DIR" type="VALUE_PATH_DIR" value="${PROJECT_ROOT}/../.."/>
+ </macros>
+ <externalSettings/>
+ <extensions>
+ <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="out" artifactName="../bin/pcieboot_interrupt_evm6678l" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379" name="DebugBE" parent="com.ti.ccstudio.buildDefinitions.C6000.Debug">
+ <folderInfo id="com.ti.ccstudio.buildDefinitions.C6000.Debug.1869204513.1851499379." name="/" resourcePath="">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain.607805527" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.515159206">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.410188919" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice"/>
+ <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=big"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=pcieboot_interrupt.cmd"/>
+ <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+ <listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.biosmcsdk.pdk.C6678L:1.0.0.17;"/>
+ <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1062225897" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="7.3.1" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug.1410749831" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.targetPlatformDebug"/>
+ <builder buildPath="${workspace_loc:/pcieboot_interrupt_evmc6678l/DebugBE}" id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug.826069596" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug.1801902341" name="C6000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION.342306904" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.SILICON_VERSION" value="6600" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.532191226" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE.779276246" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DEFINE" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_EVMC6678L_"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH.427345087" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.INCLUDE_PATH" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages""/>
+ <listOptionValue builtIn="false" value=""${PROJECT_ROOT}/../include""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER.1622583466" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING.1392684389" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.DIAG_WARNING" valueType="stringList">
+ <listOptionValue builtIn="false" value="225"/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.1632167603" name="Application binary interface (coffabi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.ABI.eabi" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN.1450822819" name="Generate big endian code (--big_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compilerID.BIG_ENDIAN" value="true" valueType="boolean"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS.1353164103" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS.1836350007" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS.1026287875" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS.1804863495" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.compiler.inputType__ASM2_SRCS"/>
+ </tool>
+ <tool id="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug.515159206" name="C6000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE.87150891" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.OUTPUT_FILE" value=""../bin/pcieboot_interrupt_evm6678l.out"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE.1338371048" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.MAP_FILE" value=""../bin/pcieboot_interrupt_evm6678l.map"" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY.1737959246" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.LIBRARY" valueType="libs">
+ <listOptionValue builtIn="false" value=""ti.platform.evm6678l.ae66e""/>
+ <listOptionValue builtIn="false" value=""ti.csl.ae66e""/>
+ <listOptionValue builtIn="false" value=""ti.csl.intc.ae66e""/>
+ <listOptionValue builtIn="false" value=""libc.a""/>
+ </option>
+ <option id="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH.1535108319" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C6000_7.3.linkerID.SEARCH_PATH" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/csl/lib""/>
+ <listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
+ <listOptionValue builtIn="false" value=""${TI_PDK_C6678_INSTALL_DIR}/packages/ti/platform/evmc6678l/platform_lib/lib/debug""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="pcieboot_interrupt.com.ti.ccstudio.buildDefinitions.C6000.ProjectType.1742876545" name="C6000" projectType="com.ti.ccstudio.buildDefinitions.C6000.ProjectType"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+ <project-mappings>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+ </project-mappings>
+ </storageModule>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="scannerConfiguration"/>
+</cproject>
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/.project b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/.project
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>pcieboot_interrupt_evmc6678l</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value>-k</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>${CCS_UTILS_DIR}/bin/gmake</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/pcieboot_interrupt_evmc6678l/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.ti.ccstudio.managedbuild.core.ccsNature</nature>
+ <nature>com.ti.ccstudio.core.ccsNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>README.pdf</name>
+ <type>1</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/docs/README.pdf</locationURI>
+ </link>
+ <link>
+ <name>src</name>
+ <type>2</type>
+ <locationURI>TI_MCSDK_PCIEBOOT_DIR/pcieboot_interrupt/src</locationURI>
+ </link>
+ </linkedResources>
+ <variableList>
+ <variable>
+ <name>TI_MCSDK_PCIEBOOT_DIR</name>
+ <value>$%7BPARENT-2-PROJECT_LOC%7D</value>
+ </variable>
+ </variableList>
+</projectDescription>
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/header.txt b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/header.txt
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/interrupt_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/interrupt_elf2HBin.bat
--- /dev/null
@@ -0,0 +1,29 @@
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000"
+set TOOL_DIR="..\..\..\..\..\..\"
+set TARGET=6678
+set ENDIAN=little
+set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
+
+
+@echo off
+
+echo C6000_CG_DIR set as: %C6000_CG_DIR%
+echo TARGET set as: %TARGET%
+echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR%
+
+echo Converting .out to HEX ...
+if %ENDIAN% == little (
+%C6000_CG_DIR%\bin\hex6x -order L interrupt_image.rmd pcieboot_interrupt_evm%TARGET%l.out
+) else (
+%C6000_CG_DIR%\bin\hex6x -order M interrupt_image.rmd pcieboot_interrupt_evm%TARGET%l.out
+)
+
+..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_interrupt.btbl pcieboot_interrupt.h pcieboot_interrupt.bin
+
+..\..\..\..\..\..\hfile2array\hfile2array pcieboot_interrupt.h pcieInterrupt.h pcieInterrupt
+
+if %ENDIAN% == little (
+move pcieInterrupt.h ..\..\..\linux_host_loader\LE\pcieInterrupt_%TARGET%.h
+) else (
+move pcieInterrupt.h ..\..\..\linux_host_loader\BE\pcieInterrupt_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/interrupt_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/interrupt_elf2HBin.sh
--- /dev/null
@@ -0,0 +1,28 @@
+export CGT_INSTALL_DIR=~/texas_instruments/TI_CGT_C6000_7.3.0
+export TOOL_DIR="../../../../../../"
+export TARGET=6678
+export ENDIAN=little
+export PATH=${PATH};${SystemRoot}/system32;${SystemRoot};
+
+echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo TARGET set as: ${TARGET}
+echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR}
+
+echo Converting .out to HEX ...
+if [ ${ENDIAN} == little ]
+then
+${CGT_INSTALL_DIR}/bin/hex6x -order L interrupt_image.rmd pcieboot_interrupt_evm${TARGET}l.out
+else
+${CGT_INSTALL_DIR}/bin/hex6x -order M interrupt_image.rmd pcieboot_interrupt_evm${TARGET}l.out
+fi
+
+../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_interrupt.btbl pcieboot_interrupt.h pcieboot_interrupt.bin
+
+../../../../../../hfile2array/hfile2array pcieboot_interrupt.h pcieInterrupt.h Interrupt
+
+if [ ${ENDIAN} == little ]
+then
+mv pcieBootCode.h ../../../linux_host_loader/LE/pcieInterrupt_${TARGET}.h
+else
+mv pcieBootCode.h ../../../linux_host_loader/BE/pcieInterrupt_${TARGET}.h
+fi
\ No newline at end of file
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/interrupt_image.rmd b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/bin/interrupt_image.rmd
--- /dev/null
@@ -0,0 +1,11 @@
+-a
+-boot
+-e _c_int00
+
+ROMS
+{
+ ROM1: org = 0x80000000, length = 0x200000, memwidth = 32, romwidth = 32
+ files = { pcieboot_interrupt.btbl }
+}
+
+
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/macros.ini_initial b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/macros.ini_initial
--- /dev/null
@@ -0,0 +1 @@
+TI_MCSDK_PCIEBOOT_DIR="../../../../
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/pcieboot_interrupt.cmd b/boot_loader/examples/pcie/pcieboot_interrupt/evmc6678l/pcieboot_interrupt.cmd
--- /dev/null
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************/
+/*
+ * Linker command file
+ *
+ */
+
+-c
+-heap 0x2000
+-stack 0x2000
+
+/* Memory Map 1 - the default */
+MEMORY
+{
+ LL2 (RWX) : org = 0x00820000, len = 0x00020000
+}
+
+SECTIONS
+{
+ .csl_vect > LL2
+ .text > LL2
+ platform_lib > LL2
+ .const > LL2
+ .neardata > LL2
+ .fardata > LL2
+ .switch > LL2
+ .cinit > LL2
+ .stack > LL2
+ .sysmem > LL2
+ .bss > LL2
+ .far > LL2
+ .cio > LL2
+}
+
diff --git a/boot_loader/examples/pcie/pcieboot_interrupt/src/pcieboot_interrupt.c b/boot_loader/examples/pcie/pcieboot_interrupt/src/pcieboot_interrupt.c
--- /dev/null
@@ -0,0 +1,305 @@
+/******************************************************************************
+* Copyright (c) 2011 Texas Instruments Incorporated - http://www.ti.com
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated emac the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*****************************************************************************/
+
+/**************************************************************************************
+* FILE PURPOSE: PCIe Boot Interrupt Example
+**************************************************************************************
+* FILE NAME: pcieboot_interrupt.c
+*
+* DESCRIPTION: A simple interrupt example demonstrating PCIe boot.
+*
+***************************************************************************************/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "platform.h"
+
+#include <ti/csl/src/intc/csl_intc.h>
+#include <ti/csl/tistdtypes.h>
+#include <ti/csl/csl_cpIntcAux.h>
+
+#define DEVICE_REG32_W(x,y) *(volatile uint32_t *)(x)=(y)
+#define DEVICE_REG32_R(x) (*(volatile uint32_t *)(x))
+
+#define DDR_TEST_START 0x80000000
+#define DDR_TEST_END 0x80400000
+#define BOOT_UART_BAUDRATE 115200
+#define PCIEXpress_Legacy_INTA 50
+#define PCIE_IRQ_EOI 0x21800050
+#define PCIE_EP_IRQ_SET 0x21800064
+#define PCIE_LEGACY_A_IRQ_STATUS 0x21800184
+
+#ifdef _EVMC6678L_
+#define MAGIC_ADDR 0x87fffc
+#define INTC0_OUT3 63
+#endif
+
+#ifdef _EVMC6670L_
+#define MAGIC_ADDR 0x8ffffc
+#define INTC0_OUT3 59
+#endif
+
+/**********************************************************************
+ ************************** Global Variables **************************
+ **********************************************************************/
+/* Intc variable declaration */
+CSL_CPINTC_Handle hnd;
+CSL_IntcContext intcContext;
+CSL_IntcEventHandlerRecord EventHandler[30];
+CSL_IntcObj intcObj;
+CSL_IntcHandle hTest;
+CSL_IntcGlobalEnableState state;
+CSL_IntcEventHandlerRecord EventRecord;
+CSL_IntcParam vectId;
+
+uint32_t counter = 0;
+
+void write_uart(char* msg)
+{
+ uint32_t i;
+ uint32_t msg_len = strlen(msg);
+
+ /* Write the message to the UART */
+ for (i = 0; i < msg_len; i++)
+ {
+ platform_uart_write(msg[i]);
+ }
+}
+
+void start_boot(void)
+{
+ void (*exit)();
+ uint32_t entry_addr;
+
+ /* Clear the boot entry address */
+ DEVICE_REG32_W(MAGIC_ADDR, 0);
+
+ while(1)
+ {
+ entry_addr = DEVICE_REG32_R(MAGIC_ADDR);
+ if (entry_addr != 0)
+ {
+ /* jump to the exit point, which will be the entry point for the full IBL */
+ exit = (void (*)())entry_addr;
+ (*exit)();
+ }
+ platform_delay(1);
+ }
+}
+
+/**********************************************************************
+ ************************ CPINTC TEST FUNCTIONS ***********************
+ **********************************************************************/
+
+/**
+ * @b Description
+ * @n
+ * This is the TEST ISR Handler which has been installed.
+ * This simply increments a global variable which counts
+ * the number of interrupts which have been received.
+ *
+ * @retval
+ * Not Applicable.
+ */
+static void test_isr_handler(void* handle)
+{
+ uint32_t i;
+
+ counter++;
+ printf ("DSP receives interrupt from host.\n");
+ write_uart("DSP receives interrupt from host.\n\r");
+
+ /* Disable host interrupt */
+ CSL_CPINTC_disableHostInterrupt (hnd, 3);
+
+ /* do a simple operation in the DDR data */
+ for (i = DDR_TEST_START; i < DDR_TEST_END; i += 4)
+ *(uint32_t *)i = ~(*(uint32_t *)i);
+
+ /* clear PCIE interrupt */
+ DEVICE_REG32_W(PCIE_LEGACY_A_IRQ_STATUS, 0x1);
+ DEVICE_REG32_W(PCIE_IRQ_EOI, 0x0);
+ CSL_CPINTC_clearSysInterrupt (hnd, PCIEXpress_Legacy_INTA);
+
+ /* Enable host interrupt */
+ CSL_CPINTC_enableHostInterrupt (hnd, 3);
+
+ /* generate interrupt to host */
+ *((uint32_t *)PCIE_EP_IRQ_SET) = 0x1;
+ printf ("DSP generates interrupt to host.\n");
+ write_uart("DSP generates interrupt to host.\n\r");
+}
+
+/* OSAL functions for Platform Library */
+uint8_t *Osal_platformMalloc (uint32_t num_bytes, uint32_t alignment)
+{
+ return malloc(num_bytes);
+}
+
+void Osal_platformFree (uint8_t *dataPtr, uint32_t num_bytes)
+{
+ /* Free up the memory */
+ if (dataPtr)
+ {
+ free(dataPtr);
+ }
+}
+
+void Osal_platformSpiCsEnter(void)
+{
+ return;
+}
+
+void Osal_platformSpiCsExit (void)
+{
+ return;
+}
+
+/**
+ * @b Description
+ * @n
+ * Entry point for the test code.
+ *
+ * @retval
+ * Not Applicable.
+ */
+void main (void)
+{
+ platform_init_flags init_flags;
+ platform_init_config init_config;
+
+ /* Initialize main Platform lib */
+ memset(&init_config, 0, sizeof(platform_init_config));
+ memset(&init_flags, 1, sizeof(platform_init_flags));
+
+ platform_init(&init_flags, &init_config);
+
+ /* Initialize UART */
+ platform_uart_init();
+ platform_uart_set_baudrate(BOOT_UART_BAUDRATE);
+
+ DEVICE_REG32_W(MAGIC_ADDR, 0);
+ DEVICE_REG32_W(PCIE_LEGACY_A_IRQ_STATUS, 0x1);
+
+ /************************************************
+ *************** INTC Configuration *************
+ ************************************************/
+ write_uart("Debug: GEM-INTC Configuration...\n\r");
+
+ /* INTC module initialization */
+ intcContext.eventhandlerRecord = EventHandler;
+ intcContext.numEvtEntries = 10;
+ if (CSL_intcInit(&intcContext) != CSL_SOK)
+ {
+ write_uart("Error: GEM-INTC initialization failed n\r");
+ return;
+ }
+
+ /* Enable NMIs */
+ if (CSL_intcGlobalNmiEnable() != CSL_SOK)
+ {
+ write_uart("Error: GEM-INTC global NMI enable failed n\r");
+ return;
+ }
+
+ /* Enable global interrupts */
+ if (CSL_intcGlobalEnable(&state) != CSL_SOK)
+ {
+ write_uart("Error: GEM-INTC global enable failed \n\r");
+ return;
+ }
+
+ /* Open the INTC Module for Vector ID: 4 and Event ID: 63 (C6678) 59 (C6670)
+ * Refer to the interrupt architecture and mapping document for the Event ID (INTC0_OUT3)*/
+ vectId = CSL_INTC_VECTID_4;
+ hTest = CSL_intcOpen (&intcObj, INTC0_OUT3, &vectId , NULL);
+ if (hTest == NULL)
+ {
+ write_uart("Error: GEM-INTC Open failed\n\r");
+ return;
+ }
+
+ /* Register an call-back handler which is invoked when the event occurs. */
+ EventRecord.handler = &test_isr_handler;
+ EventRecord.arg = 0;
+ if (CSL_intcPlugEventHandler(hTest,&EventRecord) != CSL_SOK)
+ {
+ write_uart("Error: GEM-INTC Plug event handler failed\n\r");
+ return;
+ }
+
+ /* Enabling the events. */
+ if (CSL_intcHwControl(hTest,CSL_INTC_CMD_EVTENABLE, NULL) != CSL_SOK)
+ {
+ write_uart("Error: GEM-INTC CSL_INTC_CMD_EVTENABLE command failed\n\r");
+ return;
+ }
+
+ write_uart("Debug: GEM-INTC Configuration Completed \n\r");
+
+ /**************************************************
+ ************* CPINTC-0 Configuration *************
+ **************************************************/
+
+ write_uart("Debug: CPINTC-0 Configuration...\n\r");
+
+ /* Open the handle to the CPINT Instance */
+ hnd = CSL_CPINTC_open(0);
+ if (hnd == 0)
+ {
+ write_uart("Error: Unable to open CPINTC-0\n\r");
+ return;
+ }
+
+ /* Disable all host interrupts. */
+ CSL_CPINTC_disableAllHostInterrupt(hnd);
+
+ /* Configure no nesting support in the CPINTC Module. */
+ CSL_CPINTC_setNestingMode (hnd, CPINTC_NO_NESTING);
+
+ /* We now map System Interrupt 0 - 3 to channel 3 */
+ CSL_CPINTC_mapSystemIntrToChannel (hnd, PCIEXpress_Legacy_INTA, 3);
+
+ /* We now enable system interrupt 0 - 3 */
+ CSL_CPINTC_enableSysInterrupt (hnd, PCIEXpress_Legacy_INTA);
+
+ /* We enable host interrupts. */
+ CSL_CPINTC_enableHostInterrupt (hnd, 3);
+
+ /* Enable all host interrupts also. */
+ CSL_CPINTC_enableAllHostInterrupt(hnd);
+
+ write_uart("Debug: CPINTC-0 Configuration Completed\n\r");
+
+ start_boot();
+}
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmc6670l/bin/pcieboot_post_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_post/evmc6670l/bin/pcieboot_post_elf2HBin.bat
index e3680830e6e1b1806e8ad2861f27f3e26af4a02b..91e25c5cc324213504323bd57c3a3aef3e99cf44 100644 (file)
-set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.3.1"
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.2.4"
set TOOL_DIR="..\..\..\..\..\..\"
set TARGET=6670
set ENDIAN=little
..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin
..\..\..\..\..\..\hfile2array\hfile2array pcieboot_post.h post.h post
-move post.h ..\..\..\linux_host_loader\post_%TARGET%.h
+
+if %ENDIAN% == little (
+move post.h ..\..\..\linux_host_loader\LE\post_%TARGET%.h
+) else (
+move post.h ..\..\..\linux_host_loader\BE\post_%TARGET%.h
+)
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmc6670l/bin/pcieboot_post_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_post/evmc6670l/bin/pcieboot_post_elf2HBin.sh
index 4d19de22d2802b2049606d2c3c5ca9b7e2ef07c4..30cb22580665e5ea065359021a7617cb3cca7eb8 100755 (executable)
-export CGT_INSTALL_DIR=~/ti/TI_CGT_C6000_7.3.1
+export C6000_CG_DIR=~/ti/TI_CGT_C6000_7.2.4
export TOOL_DIR="../../../../../../"
export TARGET=6670
export ENDIAN=little
-echo CGT_INSTALL_DIR set as: ${CGT_INSTALL_DIR}
+echo C6000_CG_DIR set as: ${C6000_CG_DIR}
echo TARGET set as: ${TARGET}
echo IBL_ROOT_DIR set as : ${IBL_ROOT_DIR}
echo Converting .out to HEX ...
if [ ${ENDIAN} == little ]
then
-${CGT_INSTALL_DIR}/bin/hex6x -order L post.rmd post_evm${TARGET}l.out
+${C6000_CG_DIR}/bin/hex6x -order L post.rmd post_evm${TARGET}l.out
else
-${CGT_INSTALL_DIR}/bin/hex6x -order M post.rmd post_evm${TARGET}l.out
+${C6000_CG_DIR}/bin/hex6x -order M post.rmd post_evm${TARGET}l.out
fi
../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin
../../../../../../hfile2array/hfile2array pcieboot_post.h post.h post
-mv post.h ../../../linux_host_loader/post_${TARGET}.h
+
+if [ ${ENDIAN} == little ]
+then
+mv post.h ../../../linux_host_loader/LE/post_${TARGET}.h
+else
+mv post.h ../../../linux_host_loader/BE/post_${TARGET}.h
+fi
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmc6678l/bin/pcieboot_post_elf2HBin.bat b/boot_loader/examples/pcie/pcieboot_post/evmc6678l/bin/pcieboot_post_elf2HBin.bat
index ced2270875dd6822f324a12a54224652bee05b8d..68bf374fb42a0437271a47bc2a7b58f329025517 100644 (file)
-set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.3.1"
+set C6000_CG_DIR="C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.2.4"
set TOOL_DIR="..\..\..\..\..\..\"
set TARGET=6678
set ENDIAN=little
..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin
..\..\..\..\..\..\hfile2array\hfile2array pcieboot_post.h post.h post
-move post.h ..\..\..\linux_host_loader\post_%TARGET%.h
+
+if %ENDIAN% == little (
+move post.h ..\..\..\linux_host_loader\LE\post_%TARGET%.h
+) else (
+move post.h ..\..\..\linux_host_loader\BE\post_%TARGET%.h
+)
\ No newline at end of file
diff --git a/boot_loader/examples/pcie/pcieboot_post/evmc6678l/bin/pcieboot_post_elf2HBin.sh b/boot_loader/examples/pcie/pcieboot_post/evmc6678l/bin/pcieboot_post_elf2HBin.sh
index eb94c8245d711f0fff29b267adb9507d2d0233c8..51a4865476a7985aabb476540acecc574682a193 100755 (executable)
-export C6000_CG_DIR=~/ti/TI_CGT_C6000_7.3.1
+export C6000_CG_DIR=~/ti/TI_CGT_C6000_7.2.4
export TOOL_DIR="../../../../../../"
export TARGET=6678
export ENDIAN=little
../../../../../../bttbl2hfile/Bttbl2Hfile pcieboot_post.btbl pcieboot_post.h pcieboot_post.bin
../../../../../../hfile2array/hfile2array pcieboot_post.h post.h post
-mv post.h ../../../linux_host_loader/post_${TARGET}.h
+
+if [ ${ENDIAN} == little ]
+then
+mv post.h ../../../linux_host_loader/LE/post_${TARGET}.h
+else
+mv post.h ../../../linux_host_loader/BE/post_${TARGET}.h
+fi
\ No newline at end of file