Communication Between ARM and DSP

8
TI Information – Selective Disclosure TI Information – Selective Disclosure Communication Between ARM and DSP Vincent Han Mar, 2014 1

description

Communication Between ARM and DSP. Vincent Han Mar, 2014. Agenda. ARM and DSP Communication Basics Run ARM & DSP Communication Example. Ways for ARM and DSP Communication. Use common flags for communication Set some flags or signs as the public interface - PowerPoint PPT Presentation

Transcript of Communication Between ARM and DSP

Page 1: Communication  Between  ARM and DSP

TI Information – Selective DisclosureTI Information – Selective Disclosure

Communication Between ARM and DSP

Vincent Han

Mar, 2014

1

Page 2: Communication  Between  ARM and DSP

TI Information – Selective Disclosure

• ARM and DSP Communication Basics

• Run ARM & DSP Communication Example

2

Agenda

Page 3: Communication  Between  ARM and DSP

TI Information – Selective Disclosure 3

• Use common flags for communication− Set some flags or signs as the public interface− Communicates depends on flags/signs’ value change

• Use Navigator for communication− Descriptors carry messages/values to be passed− Use QMSS to pass descriptors between different queues− Cores push/pop related queues to send/receive message descriptors

• Use IPC for communication− Initialize the interrupt sub-system− Set source and trigger the dedicated IPCGR register − Related core received interrupt and react

Ways for ARM and DSP Communication

Page 4: Communication  Between  ARM and DSP

TI Information – Selective Disclosure 4

Advantage and Disadvantage Analysis

• Use common flags for communication− A: Easiest way to implement communication, no extra IP usage− D: Spin lock implement by SW, need maintain Cache if used− D: Core will be occupied when posting/pending flags

• Use Navigator for communication− A: Message sending/receiving by HW− D: Need to initialize Navigator HW, need maintain Cache if used− D: Core will be occupied when posting/pending descriptors if no interrupt used

• Use IPC for communication− A: Latency is short due to use interrupt directly− A: No Core occupation before trigger/response IPC− D: Need to initialize interrupt controller HW, need maintain Cache if used

Page 5: Communication  Between  ARM and DSP

TI Information – Selective Disclosure

• ARM and DSP Communication Basics

• Run ARM & DSP Communication Example

5

Agenda

Page 6: Communication  Between  ARM and DSP

TI Information – Selective Disclosure 6

ARM & DSP Communication Example ProcedureDSP Core0 ARM Core0

ARM Core0 trigger IPC to DSP Core0

Basic System Hardware Initialization

Wait for ARM Core0 interrupt

ARM Core0 received IPC response from DSP Core0

DSP Core0 received IPC from ARM Core0

DSP Core0 reply IPC back to ARM Core0

While (1); While (1);

Run

Run

ARM Core0 pending IPC response from DSP Core0

IPC

IPC

Page 7: Communication  Between  ARM and DSP

TI Information – Selective Disclosure 7

1) Create TCI6638 EVM CCXML file with loading attached GEL file on DSP Core0

2) Launch the debug session with this CCXML configuration file

3) Connect and load the DSP executable on DSP Core0

4) Connect and Load the ARM executable on ARM Core0

5) Run the DSP executable first then run the ARM executable

For more information, please refer operation guide on deyisupport:http://www.deyisupport.com/

Run ARM & DSP Communication Example

Page 8: Communication  Between  ARM and DSP

TI Information – Selective DisclosureTI Information – Selective Disclosure

Thank You!