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