xref: /utopia/UTPA2-700.0.x/projects/tools/gr/main.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
2*53ee8cc1Swenshuai.xi //
3*53ee8cc1Swenshuai.xi // Copyright (c) 2006-2007 MStar Semiconductor, Inc.
4*53ee8cc1Swenshuai.xi // All rights reserved.
5*53ee8cc1Swenshuai.xi //
6*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained
7*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of
8*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence
9*53ee8cc1Swenshuai.xi // (��MStar Confidential Information��) by the recipient.
10*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure,
11*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling,
12*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential
13*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the
14*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom.
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
17*53ee8cc1Swenshuai.xi 
18*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////////////////////////
19*53ee8cc1Swenshuai.xi ///
20*53ee8cc1Swenshuai.xi /// file    main.c
21*53ee8cc1Swenshuai.xi /// @brief  main entry point of the application program
22*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc.
23*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////////////////////////
24*53ee8cc1Swenshuai.xi 
25*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
26*53ee8cc1Swenshuai.xi //  Include Files
27*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
28*53ee8cc1Swenshuai.xi 
29*53ee8cc1Swenshuai.xi #include<stdio.h>
30*53ee8cc1Swenshuai.xi #include<stdlib.h>
31*53ee8cc1Swenshuai.xi #include<string.h>
32*53ee8cc1Swenshuai.xi #include <fcntl.h>
33*53ee8cc1Swenshuai.xi #include "mdrv_types.h"
34*53ee8cc1Swenshuai.xi 
SPILoad(void)35*53ee8cc1Swenshuai.xi int SPILoad(void)
36*53ee8cc1Swenshuai.xi {
37*53ee8cc1Swenshuai.xi 	FILE *fp;
38*53ee8cc1Swenshuai.xi 	int size;
39*53ee8cc1Swenshuai.xi 	unsigned int start;
40*53ee8cc1Swenshuai.xi 	unsigned char *pp=0;
41*53ee8cc1Swenshuai.xi 
42*53ee8cc1Swenshuai.xi 	char fn[256];
43*53ee8cc1Swenshuai.xi 	printf("--- Start to load file from SPI or DRAM ---\n");
44*53ee8cc1Swenshuai.xi 	printf("SPI base: 0xBFC00000, DRAM base: 0x80000000\n");
45*53ee8cc1Swenshuai.xi 	printf("file name: ");
46*53ee8cc1Swenshuai.xi 	scanf("%s",&fn);
47*53ee8cc1Swenshuai.xi 	printf("start address: 0x ");
48*53ee8cc1Swenshuai.xi 	scanf("%x",&start);
49*53ee8cc1Swenshuai.xi 	printf("size (bytes): ");
50*53ee8cc1Swenshuai.xi 	scanf("%d",&size);
51*53ee8cc1Swenshuai.xi 
52*53ee8cc1Swenshuai.xi 	//pp = malloc( DEFAULT_SIZE ) ;
53*53ee8cc1Swenshuai.xi 	pp = malloc( size+4 ) ;
54*53ee8cc1Swenshuai.xi 	if( 0==pp ){
55*53ee8cc1Swenshuai.xi 		printf( "alloc fail\n" ) ;
56*53ee8cc1Swenshuai.xi 		return 0 ;
57*53ee8cc1Swenshuai.xi 	}
58*53ee8cc1Swenshuai.xi 
59*53ee8cc1Swenshuai.xi 	//MAdp_getSPI(pp);
60*53ee8cc1Swenshuai.xi 	MAdp_SPI_Load(start,size,pp);
61*53ee8cc1Swenshuai.xi 	printf( "\nfirst: 0x%02X-0x%02X-0x%02X-0x%02X\n", pp[0],pp[1],pp[2],pp[3] );
62*53ee8cc1Swenshuai.xi 	fp = fopen( fn, "w+" ) ;
63*53ee8cc1Swenshuai.xi 	fwrite( pp, 1, size, fp ) ;
64*53ee8cc1Swenshuai.xi 	fclose(fp) ;
65*53ee8cc1Swenshuai.xi 
66*53ee8cc1Swenshuai.xi 	free(pp) ;
67*53ee8cc1Swenshuai.xi 
68*53ee8cc1Swenshuai.xi }
69*53ee8cc1Swenshuai.xi 
70*53ee8cc1Swenshuai.xi 
71*53ee8cc1Swenshuai.xi extern void MAdp_SYS_Init(void);
main(int argc,char * argv[])72*53ee8cc1Swenshuai.xi int main(int argc, char* argv[])
73*53ee8cc1Swenshuai.xi {
74*53ee8cc1Swenshuai.xi     //----------------------------------------------------------------------------------------------
75*53ee8cc1Swenshuai.xi     //  System Initialization
76*53ee8cc1Swenshuai.xi     //----------------------------------------------------------------------------------------------
77*53ee8cc1Swenshuai.xi     MAdp_SYS_Init(); //call adaptation function
78*53ee8cc1Swenshuai.xi 
79*53ee8cc1Swenshuai.xi     SPILoad();   //gr
80*53ee8cc1Swenshuai.xi     return 0;
81*53ee8cc1Swenshuai.xi }
82*53ee8cc1Swenshuai.xi 
83*53ee8cc1Swenshuai.xi 
84*53ee8cc1Swenshuai.xi 
85