Run ARM & DSP Communication Example

advertisement
Communication Between ARM and DSP
Vincent Han
Mar, 2014
TI Information – Selective Disclosure
1
Agenda
• ARM and DSP Communication Basics
• Run ARM & DSP Communication Example
TI Information – Selective Disclosure
2
Ways for ARM and DSP Communication
• 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
TI Information – Selective Disclosure
3
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
TI Information – Selective Disclosure
4
Agenda
• ARM and DSP Communication Basics
• Run ARM & DSP Communication Example
TI Information – Selective Disclosure
5
ARM & DSP Communication Example Procedure
DSP Core0
ARM Core0
Basic System Hardware Initialization
Run
Wait for ARM Core0 interrupt
ARM Core0 trigger IPC to DSP Core0
Run
IPC
DSP Core0 received IPC from ARM Core0
ARM Core0 pending IPC response
from DSP Core0
DSP Core0 reply IPC back to ARM Core0
IPC
While (1);
TI Information – Selective Disclosure
ARM Core0 received IPC response
from DSP Core0
While (1);
6
Run ARM & DSP Communication Example
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/
TI Information – Selective Disclosure
7
Thank You!
TI Information – Selective Disclosure
Download