Renesas M3T-MR100 Manual De Usuario

Descargar
Página de 304
   
- 219 - 
7.3.1 
C Language Startup Program (crt0mr.a30) 
Figure 7.11 shows the C language startup program(crt0mr.a30). 
 
1
  ; **************************************************************** 
2
  ;                                                                  
3
  ; 
MR100 start up program for C language                      
4
  ; 
COPYRIGHT(C) 2003,2006,2007 RENESAS TECHNOLOGY CORPORATION  
5
  ; 
AND RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED 
6
  ; MR100 
 
7
  ;                                                                  
8
  ; **************************************************************** 
9
  ; 
"$Id: crt0mr.a30 512 2007-07-09 10:11:36Z inui $" 
10
  ;*A1* 2005-02-28 for ES 
11
  ;*G0* 2006-06-15 for MR100/4 
12
  ; 
13
   .LIST 
OFF 
14
   .INCLUDE 
c_sec.inc 
15
   .INCLUDE 
mr100.inc 
16
   .INCLUDE 
sys_rom.inc 
17
   .INCLUDE 
sys_ram.inc 
18
   .LIST 
ON 
19
   
20
   .GLB __SYS_INITIAL 
21
   .GLB __END_INIT 
22
   .GLB __init_sys,__init_tsk 
23
   
24
  regoffset .EQU  0 
25
   
26
  ;----------------------------------------------------------------- 
27
  ; SBDATA area definition 
28
  ;----------------------------------------------------------------- 
29
   .GLB __SB__ 
30
   .SB  __SB__ 
31
   
32
  ;================================================================= 
33
  ; Initialize Macro declaration 
34
  ;----------------------------------------------------------------- 
35
  BZERO .macro 
  TOP_,SECT_ 
36
   XOR.B 
 
R0L,R0L 
37
   mov.l 
 
#TOP_,A1 
38
   mov.l 
 
#sizeof 
SECT_,R7R5 
39
   sstr.b 
40
   .endm 
41
  BCOPY .macro 
  FROM_,TO_,SECT_ 
42
   mov.l 
 
#FROM_,A0 
43
   mov.l 
 
#TO_,A1 
44
   mov.l 
 
#sizeof 
SECT_,R7R5 
45
   smovf.b 
46
   .endm 
47
  ;================================================================= 
48
  ; Interrupt section start 
49
  ;----------------------------------------------------------------- 
50
   .SECTION 
MR_KERNEL,CODE,ALIGN 
51
   
52
  ;----------------------------------------------------------------- 
53
  ; after reset,this program will start 
54
  ;----------------------------------------------------------------- 
55
  __SYS_INITIAL: 
56
   
LDC 
#__Sys_Sp,ISP 
; set initial ISP 
57
   
58
  ; MOV.B #2,0AH 
59
  ; 
MOV.B 
#00,PMOD 
 
; Set Processor Mode Register 
60
  ; 
MOV.B 
#0,0AH 
  ; 
61
   LDC  #00000010H,FLG 
62
   LDC  #__SB__,SB 
63
   LDC  #00000000H,FLG 
64
   LDC  #__Sys_Sp,FB 
65
   LDC  #__SB__,SB 
66
   
67
  ;================================================================= 
68
  ; MR_RAM zero clear 
69
  ;-------------------------------------------------------- 
70
   BZERO 
MR_RAM_top,MR_RAM 
71
   
72
  ;================================================================= 
73
  ; NEAR area initialize. 
74
  ; FAR area initialize.