Developing dual cores application on Delfino F28379D MCU using simulink
8 views (last 30 days)
Show older comments
Hello, I want to use Delfino F28379D for a dual core application but I can not as I have to choose which CPU to use on the Hardware Implementation tap.
Can I use Simulink for that, and how can I do inter-processor communication (IPC)??
Thankn in advance
1 Comment
Arun Munuswamy Sambandham
on 13 May 2020
Inter-Processor Communications (IPC) F2837xD IPC Receive and F2837xD IPC Transmit blocks are supported for F2837xD processors from R2018a.
Answers (1)
Arun Munuswamy Sambandham
on 18 Jul 2017
Current support for F2837xD is with two model approach. You have to create two different models for each CPU core and establish a physical connection between two CPUs over SPI and share data (Note: requires additional external connections). Currently IPC is not supported by TI C2000 support package. May I know data type, data size you want to share and in what application? Your details will help us when we start supporting IPC in future.
2 Comments
Arun Munuswamy Sambandham
on 19 Jul 2017
Yes you can use S-function, but easier way is to use System Objects. Refer this topic to create blocks https://www.mathworks.com/help/simulink/custom-blocks.html. The logic to use IPC is described in F2837xD IPC (Inter-Processor Communication) Device Driver documentation located in controlSUITE under the /device_support/F2837xD/ (VERSION)/doc/ directory. Hints: Create shared memory (Message RAM) for CPU1 and CPU2 from linker file, copy your variables into memory, before writing and reading use IPC flags to protect your write and read.
One more way is to add memory copy block in both models and insert custom code. For example, in CPU1 model add memory copy block as Input port, provide address of message RAM defined in linker for IPC (hex2dec('0003FC00')) as destination, then in Options insert custom code before mem write (set a IPC_FLAG) and after(Clear a IPC_FLAG). Use a similar protection logic in CPU2 memory copy block to read from this address.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!