Interfacing C and TMS320C6713 Assembly Language (Part-I)
This paper describes an interfacing of C and the
TMS320C6713 assembly language which is crucially important for
many real-time applications. Similarly, interfacing of C with the
assembly language of a conventional microprocessor such as
MC68000 is presented for comparison. However, it should be noted
that the way the C compiler passes arguments among various
functions in the TMS320C6713-based environment is totally
different from the way the C compiler passes arguments in a
conventional microprocessor such as MC68000. Therefore, it is very
important for a user of the TMS320C6713-based system to properly
understand and follow the register conventions when interfacing C
with the TMS320C6713 assembly language subroutine. It should be
also noted that in some cases (examples 6-9) the endian-mode of the
board needs to be taken into consideration. In this paper, one method
is presented in great detail. Other methods will be presented in the
future.
[1] A A Wardak, G A King, R Backhouse, Interfacing high-level and
assembly language with microcodes in 3-D image generation. Journal of
Microprocessors and Microsystems, Vol. 18, No.4, May 1994,
Butterworth-Heinemann Ltd.
[2] A A Wardak, Real-Time 3-D Image Generation with TMS320C30
EVM, Journal of Microcomputer Applications, Vol. 18, pp 355-373,
1995, Academic Press Limited.
[3] TMS320C6000 Optimizing C Compiler User-s Guide, SPRU187K,
Texas Instruments, Dallas, TX, 2002.
[4] R Chassaing, Digital Signal Processing and Applications with the 6713
and C6416 DSK, Wiley, New York, 2005.
[5] TMS320C6000 Programmer-s Guide, SPRU198G, Texas Instruments,
Dallas, TX, 2002.
[6] TMS320C6000 CPU and Instruction Set Reference Guide, October
2000, Literature Number: SPRU189F.
[7] TMS320C6000 Assembly Language Tools, User's Guide, Literature
Number: SPRU186K, October 2002.
[8] http://193.140.141.8/~redizkan/Interfacing_C_and_Assembly.pdf
[1] A A Wardak, G A King, R Backhouse, Interfacing high-level and
assembly language with microcodes in 3-D image generation. Journal of
Microprocessors and Microsystems, Vol. 18, No.4, May 1994,
Butterworth-Heinemann Ltd.
[2] A A Wardak, Real-Time 3-D Image Generation with TMS320C30
EVM, Journal of Microcomputer Applications, Vol. 18, pp 355-373,
1995, Academic Press Limited.
[3] TMS320C6000 Optimizing C Compiler User-s Guide, SPRU187K,
Texas Instruments, Dallas, TX, 2002.
[4] R Chassaing, Digital Signal Processing and Applications with the 6713
and C6416 DSK, Wiley, New York, 2005.
[5] TMS320C6000 Programmer-s Guide, SPRU198G, Texas Instruments,
Dallas, TX, 2002.
[6] TMS320C6000 CPU and Instruction Set Reference Guide, October
2000, Literature Number: SPRU189F.
[7] TMS320C6000 Assembly Language Tools, User's Guide, Literature
Number: SPRU186K, October 2002.
[8] http://193.140.141.8/~redizkan/Interfacing_C_and_Assembly.pdf
@article{"International Journal of Electrical, Electronic and Communication Sciences:62204", author = "Abdullah A. Wardak", title = "Interfacing C and TMS320C6713 Assembly Language (Part-I)", abstract = "This paper describes an interfacing of C and the
TMS320C6713 assembly language which is crucially important for
many real-time applications. Similarly, interfacing of C with the
assembly language of a conventional microprocessor such as
MC68000 is presented for comparison. However, it should be noted
that the way the C compiler passes arguments among various
functions in the TMS320C6713-based environment is totally
different from the way the C compiler passes arguments in a
conventional microprocessor such as MC68000. Therefore, it is very
important for a user of the TMS320C6713-based system to properly
understand and follow the register conventions when interfacing C
with the TMS320C6713 assembly language subroutine. It should be
also noted that in some cases (examples 6-9) the endian-mode of the
board needs to be taken into consideration. In this paper, one method
is presented in great detail. Other methods will be presented in the
future.", keywords = "Assembly language, high level language, interfacing,
stack, arguments.", volume = "3", number = "1", pages = "117-7", }