KeyStone Training Multicore Applications Literature Number: SPRPXXX

Slides:



Advertisements
Similar presentations
KeyStone Connectivity and Priorities
Advertisements

purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
KeyStone C66x CorePac Overview
KeyStone Training More About Cache. XMC – External Memory Controller The XMC is responsible for the following: 1.Address extension/translation 2.Memory.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Extended Memory Controller and the MPAX registers And Cache
Concept V2.5 Lesson 11 Objectives: After completing this lesson, the learner will be able to:  Define the configuration rules associated with the Quantum.
Corporate Property Automated Information System (CPAIS) Macro Walkthrough Guide for Excel Version 2003.
Computer System Overview
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
KeyStone Training Multicore Navigator Overview. Overview Agenda What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet.
Keystone PCIe Usage Eric Ding.
0 - 1 © 2007 Texas Instruments Inc, Content developed in partnership with Tel-Aviv University From MATLAB ® and Simulink ® to Real Time with TI DSPs Audio.
EET 450 Chapter 2 – How hardware and Software Work Together.
Processes and Resources
KeyStone Training Multicore Applications Literature Number: SPRPXXX
Functional Simulation Overview1 OpenTV PC Simulator.
MSP432™ MCUs Training Part 9: Porting between MSP430 and MSP432
Multicore Software Development Kit (MCSDK) Training Introduction to the MCSDK.
Multicore Software Development Kit (MCSDK) Training Introduction to the MCSDK.
KeyStone Resource Manager June What is resource manager? LLD for global Resource management – static assignment of the device resources to DSP cores.
OpenMP China MCP.
SOC Consortium Course Material SoC Design Laboratory Lab 8 Real-time OS - 2 Speaker: Yung-Chih Chen Advisor: Prof. Chun-Yao Wang November 17, 2003 Department.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training course describes how to configure the the C/C++ compiler options.
KeyStone Training Network Coprocessor (NETCP) Overview.
Extended Memory Controller and the MPAX registers
EE 446 Project Assignment Top Design Sensor Components Pin Assignment and Configuration Completed Physical Setup Project Tasks.
KeyStone MPM Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Typical Microcontroller Purposes
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
C66x KeyStone Training HyperLink. Agenda 1.HyperLink Overview 2.Address Translation 3.Configuration 4.Example and Demo.
EE 445S Real-Time Digital Signal Processing Lab Fall 2013 Lab #2 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6748 DSP.
C66x KeyStone Training HyperLink
Lecture 3. APIC ID Prof. Taeweon Suh Computer Science Education Korea University COM509 Computer Systems.
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
KeyStone II Interrupts. Agenda Motivation for this presentation The interrupt Scheme – SPI 0 example Configure interrupt - Hyperlink example.
KeyStone Training Multicore Navigator: Packet DMA (PKTDMA)
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
Keystone Family PCIE Eric Ding. TI Information – Selective Disclosure Agenda PCIE Overview Address Translation Configuration PCIE boot demo.
Chapter 9 Hardware Addressing and Frame Type Identification 1.Delivering and sending packets 2.Hardware addressing: specifying a destination 3. Broadcasting.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
Embedded Network Interface (ENI). What is ENI? Embedded Network Interface Originally called DPO (Digital Product Option) card Printer without network.
EDMA3, QDMA and IDMA for the Keystone Platform
Msi interrupt reception as EP. Msi debug Based on sprugs6a.pdf, Keystone architecture Perpheral Component Interconnect Express (PCIe) wrote 8 into MSI_IRQ.
Debugging TI RTOS TEAM 4 JORGE JIMENEZ JHONY MEDRANO ALBIEN FEZGA.
NS Training Hardware Traffic Flow Note: Traffic direction in the 1284 is classified as either forward or reverse. The forward direction is.
Network Coprocessor (NETCP) Overview
Chapter 5 - Interrupts.
Linux Operations and Administration
DSP C5000 Chapter 10 Understanding and Programming the Host Port Interface (EHPI) Copyright © 2003 Texas Instruments. All rights reserved.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
Presented by: © 2015 Jacob Beningo All Rights Reserved Writing Portable and Robust Firmware in C September 2, 2015 Jacob Beningo, CSDP Class 3: Uart Driver.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
CSL DAT Adapter CSL 2.x DAT Reference Implementation on EDMA3 hardware using EDMA3 Low level driver.
EE 345S Real-Time Digital Signal Processing Lab Fall 2008 Lab #3 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6713 DSP.
© D. J. Foreman, Structure of an O/S. © D. J. Foreman, Overview  Required functionality –Handle interrupts –Manage resources Processes.
Muen Policy & Toolchain
Lab 1: Using NIOS II processor for code execution on FPGA
Processes and threads.
Code review: GPIO, timer, and ISR
Microprocessor Systems Design I
NS Training Hardware.
Key Terms By: Kelly, Jackson, & Merle
8259 Chip The Intel 8259 is a family of Programmable Interrupt Controllers (PIC) designed and developed for use with the Intel 8085 and Intel 8086 microprocessors.
Installing the HI 6600 into the CompactLogix System.
OSKAR station simulator
Cognitive Service in AR platform.
BACS Training: Requesting Access.
Mr. M. D. Jamadar Assistant Professor
Presentation transcript:

KeyStone Training Multicore Applications Literature Number: SPRPXXX KeyStone Interrupts KeyStone Training Multicore Applications Literature Number: SPRPXXX

Agenda Motivation Interrupt Scheme (SPI 0 Example) Configuring Interrupts (Hyperlink Example)

Motivation KeyStone Interrupts

Configuring an Hwi: Statically via GUI Example: Tie SPI_INT to the CPU HWI5 1 Use Hwi module (Available Products), insert new Hwi (Outline View) NOTE: BIOS objects can be created via the GUI, script code, or C code (dynamic). 2 Configure Hwi: Event ID, CPU Int #, ISR vector: To enable INT at startup, check the box Where do you find the Event Id #?

Hardware Event IDs Source: TMS320C6678 datasheet How do you know the names of the interrupt events and their corresponding event numbers? Look it up in the datasheet. Source: TMS320C6678 datasheet As appropriate, refer to the datasheet for your target platform.

Interrupt Scheme KeyStone Interrupts

System Events Some events are connected directly to the cores; But not SPI.

System Events

C66x Event Mapping From the C66x User’s Guide: 22 assigned events 5 reserve primary events 17 secondary events 7 reserved events 99 Available events The available events are connected to the device. The next slides show how and what is connected to the available events within the C6638 device.

KeyStone II Interrupt Topology CIC0 CIC1 CIC2 Events C66x CorePac0 C66x CorePac1 C66x CorePac2 C66x CorePac3 C66x CorePac4 C66x CorePac5 C66x CorePac6 C66x CorePac7 HyperLink EDMA CC0 EDMA CC1 EDMA CC2 EDMA CC3 EDMA CC4 ARM A15 CorePac Peripherals All events from all IP come to the interrupt controllers. Some are connected directly to C66x or other masters (EDMA, ARM, Hyperlink) Some are mapped by the interrupt controllers

Where is SPIXEVT? Not on the above page Not on any of the other two pages in the table But we see that there are eight events (56 to 63) that come out of the interrupt controller. We can connect SPIXEVT through the interrupt controller to one of these events (broadcast events). We will connect to broadcast event 63 They are other events from the interrupt controller that could be considered (Both, broadcast and single core) The ARM GIC has 480 input events and 12 of them are connected to SPI

Connecting SPIXEVT to Core 3 66AK2H12 has multiple instances of SPI; We will look at SPI 0 The next slide shows one page from the input table for CIC0. The same events are connected to CIC1 as well.

Connecting SPI 0 Transmit event to core 3 ISR

Configuring Interrupts KeyStone Interrupts

Configuration API Read the following Wiki: http://processors.wiki.ti.com/index.php/Configuring_Interrupts_on_Keystone_Devices For KeyStone II (MCSDK 3.x), look at the two include files to see all the API that are needed: csl_cpIntc.h csl_cpIntCAux.h

csl_cpIntCAux.h shows the APIs that connect system events to channels (e.g., the output of the CIC). Connecting channel events to interrupt queues is done using CSL or SYSBIOS, as described previously.

Code Examples MCSDK includes examples of interrupts originating from peripherals: MCSDK_3_01_12\pdk_keystone2_3_00_01_12\packages\ti\drv Consider an example using HyperLink, where an interrupt is sent from Hyperlink 0 to a DSP core.

Hyperlink Interrupt

Hyperlink Interrupt Overview

Following Hyperlink Interrupt 0 From Table 5-24 of 66AK2H12- CIC0 input events Event number 111 (ox6F) is HyperLink 0 interrupt. Next, this interrupt is connected to a core …

static int hyplnkExampleInitChipIntc (void) { CSL_CPINTC_Handle hnd; // I drop some of the functions here (enable/disable interrupts etc. CSL_CPINTC_mapSystemIntrToChannel (hnd, CSL_CIC0_HYPERLINK_0_INT, hyplnk_EXAMPLE_INTC_OUTPUT); return 0; } CSL_CIC0_HYPERLINK_0_INT = 111 What about hyplnk_EXAMPLE_INTC_OUTPUT?

Choose to use event 45 of the core It could be any one of other CIC_OUT lines (look at the complete table for even more)

Following Hyperlink Interrupt 0 - Continue Event 45 on the C66 core is connected to CIC out 64 + 10 x N, that is Core 0 event 45 is connected to CIC output event 64 Core 1 event 45 is connected to CIC output event 74 Core 2 event 45 is connected to CIC output event 84 You got the point CIC0 should map input event 111 to output event 64 (or 74, or 84 or … depends on what core is used)

Screen Shot from CCS The value of hyplnk_EXAMPLE_INTC_OUTPUT is (64 + 10 * DNUM)

ARM A15 Interrupt Scheme

ARM A15 Interrupt Scheme

System Events Mapping to GIC

Following GPIO 0 From Table 5-23 of 66AK2H12- ARM CorePac Interrupts

From the file gpio-keystone.c

From the file gpio-keystone.c

Questions?