
	     TOPPERS/JSPͥ 桼ޥ˥奢 
                TMS320C5402 åȰ¸

            Release 1.3бǽ: 12-Apr-2002

------------------------------------------------------------------------ 
 TOPPERS/JSP Kernel
     Toyohashi Open Platform for Embedded Real-Time Systems/
     Just Standard Profile Kernel

 Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
                             Toyohashi Univ. of Technology, JAPAN

 嵭ԤϡFree Software Foundation ˤäƸɽƤ 
 GNU General Public License  Version 2 ˵ҤƤ狼
 ξΤ줫˸¤ꡤܥեȥܥեȥ
 ѤΤޤࡥʲƱˤѡʣѡۡʰʲ
 ѤȸƤ֡ˤ뤳Ȥ̵ǵ롥
 (1) ܥեȥ򥽡ɤηѤˤϡ嵭
     ɽѾ浪Ӳ̵ݾڵ꤬Τޤޤηǥ
     ˴ޤޤƤ뤳ȡ
 (2) ܥեȥѲǽʥХʥꥳɡʥ֥륪
     ȥե饤֥ʤɡˤηѤˤϡ
     ȼɥȡѼԥޥ˥奢ʤɡˤˡ嵭ɽ
     Ѿ浪Ӳ̵ݾڵǺܤ뤳ȡ
 (3) ܥեȥԲǽʥХʥꥳɤηޤϵ
     ߹ѤˤϡΤ줫ξȡ
   (a) ѤȼɥȡѼԥޥ˥奢ʤɡˤˡ嵭
       ɽѾ浪Ӳ̵ݾڵǺܤ뤳ȡ
   (b) Ѥη֤̤ˡˤäơ嵭Ԥ𤹤
       ȡ
 (4) ܥեȥѤˤľŪޤϴŪ뤤ʤ»
     ⡤嵭Ԥդ뤳ȡ

 ܥեȥϡ̵ݾڤ󶡤ƤΤǤ롥嵭Ԥϡ
 ܥեȥ˴ؤơŬѲǽޤơʤݾڤԤ
 ʤޤܥեȥѤˤľŪޤϴŪ
 ʤ»˴ؤƤ⡤Ǥʤ

 @(#) $Id: tms320c54x.txt,v 1.6 2002/04/14 14:54:10 reiji Exp $
------------------------------------------------------------------------


C54x åȰ¸γ

1.1 åȥƥȳȯĶ

TMS320C54x DSP ΥåȥƥȤƤϡTMS320VC5402 DSP 
TEXAS INSTRUMENTS TMS320VC5402 DSP å(DSK) 
ݡȤƤ롥
ȯĶˤϡDSK˥Хɥ뤵Ƥ糫ȯĶ Code Composer Studio 2.0 
(CCS 2.0) Ѥ֥ȥեեޥåȤ COFF ȤʤäƤ롥


1.2 ݡȤ뵡ǽγ

TMS320VC5402 ΰ¸εǽȤơǽɾѥƥﻲȵǽ(vxget_tim)
ݡȤƤ롥ߤζػߤȵ(dis_int, ena_int)ϥݡȤƤʤ


1.3 ¾ΥåȤؤΥݡƥ

СǤϡTMS320C54x 򥵥ݡȤƤ롥


1.5 ꥢݡ

DSKܡɤܤƤ륷ꥢݡȤϡͥΥѤ˻Ѥ롥
ꥢݡȤϡǡ : 8bitParity : noneStop   : 1bit Ǥ롥

                          ͥ
TMS320VC5402 DSK        COM : 1152000bps


1.6 եˤĤ

եˤĤƤϡߤϥݡȤƤʤΤᡤǥѥå
ˤơĥץ५(XPC)¸ϹԤä
ʤ


TMS320VC5402 DSP ¸εǽ

Ǥϡͥ뤪ӥƥॵӥεǽǡTMS320VC5402 DSP 
¸ʬˤĤƲ⤹롥

2.1 ǡ

TMS320C54x Ǥϡ16ӥåȡ32ӥå ĹΥǡ򥵥ݡȤƤ롥
int charshortΥ 16ӥåȤǤ롥long 32ӥåȤǤ롥
8ӥå Υǡʤ B, UB, VB  16ӥåȤˤʤäƤꡤդɬפ
롥


2.2 եåȥե

֥ǵҤץफ顤Cι¤Τ˥
ɬפȤʤ륪եåͤե˽Ϥ뤿ˡJSPͥǤϡ
genoffset ѰդƤ롥ʤ顤TMS320C54x Ǥ genoffset Ѥ
ȤǤʤᡤTCB Υƥȥ֥åtskctxbˤ˴ޤޤ
 pc ڤ sp եɤΥեåͤϸȤʤäƤ롥ΤᡤTCB 
ӥåȥեɤǡ˽ä硤 pc ڤ sp Υեåͤ
դɬפǤ롥ϡ2.1 ǡ ʸʻƹθ롥


2.3 ߴǽȳߥϥɥ

ͥγߤȤƤϡ NMI 롥äơCPUå֤
롼ǤϡNMIʳγߤϤ٤ƶػߤƤ롥Ūˤϡ
ST1(ơ쥸)Υޥ֥߶ػߥӥå(INTM : bit 11) 1 
ꤵ롥

DEF_INH ǻꤹߥϥɥֹ(inhno)ϡC5402 Ǥϡߥ٥ݥ
(IPTR)γƳߥ٥Υեåͤ򱦤2ӥåȥե(4ǽ)ͤǤ롥
ǡ(INHNO) unsigned intƤ롥


2.4 CPU㳰ǽCPU㳰ϥɥ

TMS320C54x DSPˤCPU㳰ʤ


2.5 ȥåץ⥸塼

C5402 DSP ¸Υȥåץ⥸塼(start.S)ǤϡνԤ

(A) ơ쥸νȥåݥ󥿤ν

ǽˡޥ֥ߤζػߤ롥

ˡľܥɥå󥰤˥åݥ(SP)Ѥ륳ѥߴ⡼
ꤷCץ򥵥ݡȤ롥

ˡåݥ󥿤 STACKTOP ꤹ롥ǳߥåݥ
ꤵ줿åΰϡͥ뵯ư󥿥ƥѤΥå
ΰȤƻȤ롥STACKTOP ϡsys_surpport.S 뤳Ȥ
롥

(B) hardware_init_hook θƽФ

hardware_init_hook  0 Ǥʤˤϡhardware_init_hook ƤӽФ
hardware_init_hook ϡͥ뤬ư˹Ԥɬפ륿å
¸νԤѰդƤ롥hardware_init_hook ɤǤ
Ƥʤ硤󥫤ǤΥܥ 0 (󥫥ޥɥե
 c5402dsk.cmd ˵Ҥ)

(C) bss cinitν

bss򥼥ꥢ롥ޤdata

(D) software_init_hook θƽФ

software_init_hook  0 Ǥʤˤϡsoftware_init_hook ƤӽФ
software_init_hook ϡͥ뤬ư˹Ԥɬפ륽եȥ
Ķ(Ūˤϡ饤֥)¸νԤѰդƤ롥
software_init_hook ɤǤƤʤ硤󥫤ǤΥܥ 
0 (󥫥ޥɥե˵Ҥ)

(E) ͥεư

kernel_start ʬͥư롥kernel_start ꥿󤷤
뤳ȤꤷƤʤ


ƥ¸εǽ

3.1 ƥ९åɥ饤

ƥ९åɥ饤Ф isig_tim ƤӽФϡsys_defs.h   
TIC_NUME  TIC_DENO Ƥ(ɸ 1 ߥü)
ѹ뤳Ȥǡisig_tim ƤӽФѹ뤳ȤǤ롥
ޤ٤ 1äǤ뤿ᡤñ̤üˤʤͤꤷ
ˤϡisig_tim θƽФ˸뤳Ȥˤʤ롥


3.2 ǽɾѥƥﻲȵǽ

TMS320VC5402 DSP ¸Ǥϡǽɾѥƥﻲȵǽ(vxget_tim)
ݡȤƤ롥ǽɾѥƥ٤ϡñ̤Ǥ롥ʤ
SYSUTIM UW(32ӥåȤ̵)Ƥ롥

3.3 ꥢ륤󥿥եɥ饤

TMS320VC5402 DSK ꥢ륤󥿥եɥ饤ФϡDSK ܡɾ 
TL16C550CFN UART򥵥ݡȤƤ롥

3.4 ޥå

C5402 DSK
¸Ǥϡΰ 0x4000  0xFFFF 96KBǡΰ 0x0080  
0x3FFF 32KB󥿥ƥѤΥåΰ  0x3FFF ˳ݤ
Ƥ롥ΰ 0xFF80  0xFFFF ϡߥ٥ơ֥ΰȤ
ѤƤ롥ޤ0x0060  0x007F 򥹥åѥåΰȤƳݤ
롥åѥåΰǤϡ ޥåץ 쥸 ɥå 
Ѥ뤳ȤǤ롥


ȯĶι

ȯĶˤϡ糫ȯĶ CCS (2.0)  Windows ߥ졼Ķ
롥줾γȯĶιˡˤĤƤϡCCS ΥɥȤӡ
Windows ߥ졼Ķۥޥ˥奢򻲾ȤΤȡʤCCS (2.0) 
Υ󥹥ȡ c:\ti Υǥ쥯ȥ˹ԤȤȤԤ

4.1 ȯĶγ

ե졼ϡWindowsߥ졼ĶǺ cfg.exe Ѥ롥

4.1.2 饤֥ؿ

TMS320C54x Ǥϡ32ӥåȾ軻˥饤֥ؿѤƤ롥
饤֥ץȤȤ߹ǥӥɤȡstart.S Υȥå
롼󤬻ѤǤʤʤ롥Τᡤ饤֥Υ (rts.src) 餤
ĤδؿΥեФƥץȤɲäɬפ
礬롥ץץǤϡldiv.asm, udiv.asm, lmpy.asm 3Ĥ
ե뤬ɬפȤʤ롥ʲΥޥɤǥեФ롥

    ar500 -x rts.src ldiv.asm udiv.asm lmpy.asm

    c:\ti\c5400\cgtools\bin\
      ar500.exe
    c:\ti\c5400\cgtools\lib\
      rts.src


ΥեȴФ顤jsp/config/tms320c54x ɲä롥


4.1.2 Code Composer Studio 2.0 (CCS 2.0) ˤӥˡ

ޤjsp Υ֥ե c:\ti\myprojects\ Ÿ롥

jsp\sample  sample1.cfg, sample1.h, sample1.c  jsp\C5402DSK ˥ԡ
롥
\jsp\C5402DSK\ccs_project ˤ륵ץץΥץȥե
򳫤ȡӥɤɬפ򽪤֤ CCS ư롥

ץʳΥե졼եѤ硤ե졼
 kernel_id.h  kernel_cfg.c ɬפ롥ˡˤĤƤϡ
Windows ߥ졼Ķۥޥ˥奢򻲾ȤΤȡ줿顤
ΥեץȤɲäCCS ӥɤԤХץब
롥

4.1.3 ե졼»

CCS Ǥ϶Υ֥ȤϺʤᡤcfg ΥץȤ 

  --ZERO "x y[1]"

ꤹ롥


¾ 

5.1 ǥ쥯ȥꡦե빽

     c:\ti\myprojects\jsp\C5402DSK
	build.bat        kernel_cfg.c kernel_id.h ΤΥХåե
	\ccs_project\ccs_project.pjt	CCS 2.0 ץȥե

     c:\ti\myprojects\jsp\config\tms320c54x
	c54x.h			TMS320C54x 
	cpu_support.S		ץå¸Υ֥롼
	cpu_config.c		ץå¸δؿ
	cpu_config.h		ץå¸ι
	cpu_context.h		ƥ
	cpu_defs.h		ץå¸Υץꥱ
	start.S			ȥåץ⥸塼
	vectors.S		ߥ٥ơ֥
	hw_timer.h		롼

	
     c:\ti\myprojects\jsp\config\tms320c54x\c5402dsk
	c5402dsk.cmd		󥫥ޥɥե
	hw_serial.h		ꥢ륤󥿥եǥХ롼
	c5402dsk.h		C5402 DSK ϡɥ
	sys_config.c		ƥ¸δؿ
	sys_config.h		ƥ¸ι
	sys_defs.h		ƥ¸Υץꥱ
	sys_support.S		ƥ¸Υ֥롼

