Hello,
I am writing code to test the 8 units in the C66x, for that I need to call a external function defined outside of the file.
How to make an external call using assembler instruction?
Thank you.
Best regards,
Sofiene Bk
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
I am writing code to test the 8 units in the C66x, for that I need to call a external function defined outside of the file.
How to make an external call using assembler instruction?
Thank you.
Best regards,
Sofiene Bk
Hello Sofiene,
Repeating my feedback from your other post:
As stated on the device product page, this device does not have ongoing direct design support from TI and we cannot help with this question.
There are list of third parties on the product page so I'll provide an FAQ post that has their contact info. This device isn't listed on the FAQ, so the collateral on it won't be of use, but at least it will get you the details for the third parties: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/813421/faq-davinci-digital-media-devices-support-guidance-dm335-dm355-dm365-dm368-dm369-dm3725-dm3730-dm383-dm385-dm388-dm505-dm640-dm642-dm643-dm6431-dm6433-dm6435-dm6437-dm6441-dm6443-dm6446-dm6467-dm6467t-dm647-dm648-etc
Best Regards,
Ralph Jacobi
Sofiene Bk,
8 units, you mean the 8 cores in the C6678 or you mean the 8 products with C6670 processor?
In the question, the part number appear as C6670.
--
To call an external function, we can use "extern"
For example, "extern void CSL_tscEnable(void);"
----
The below doc talks about the usage of assembler instructions.
Please have a look at these docs.
https://www.ti.com/lit/ug/sprui04d/sprui04d.pdf
https://www.ti.com/lit/ug/sprui03d/sprui03d.pdf
https://www.ti.com/tool/C6000-CGT
Regards
Shankari G
Hi Ahankari,
Basically here I am talking about the 8 unites L1, L2, M1, M2, D1, D2, S1 and S2.
What you propose for me it can be used when I write a C code, but as you can see in my question it is about how to call external function using assembler instruction!
Best regards,
Sofiene Bk
Sofiene Bk,
Let me notify one of our compiler experts - Ki-Soo-Lee.
Thanks for your patience.
Regards
Shankari G
Sofiene Bk,
I am not an expert in assembly related stuffs.. However,
What I meant to say is this...
To call an external function, we can use "extern"
For example, "extern void CSL_tscEnable(void);"
here , CSL_tscEnable() function exists as a assembly code. ---> in the file "csl_tsc.asm"
.global _CSL_tscEnable
.global CSL_tscEnable
.sect ".text:cslsys_section:tsc"
_CSL_tscEnable:
BNOP B3, 4 ;
MVC A4, TSCL ; Initiate CPU Timer by writing to TSCL
.global _CSL_tscRead
.global CSL_tscRead
.sect ".text:cslsys_section:tsc"
_CSL_tscRead:
BNOP B3, 2 ; Branch Return Pointer
MVC TSCL, B0 ; Read TSCL
MVC TSCH, B1 ; Read TSCH
|| MV B0, A4
MV B1, A5
---
In the .c file, we can call this function, CSL_tscEnable() using "extern" and in the linker section, we can include the library, "ti.csl.ae66" which encloses the csl function written in assembly
Let me notify one of our compiler experts - Ki-Soo-Lee.
Thanks for your patience.
Regards
Shankari G