sh3entry.c

来自「epson 13506 driver code」· C语言 代码 · 共 88 行

C
88
字号
//----------------------------------------------------------------------------
//
// Copyright (c) 1998, 2001 Epson Research and Development, Inc.
// All rights reserved.
//
//----------------------------------------------------------------------------

/* entry.c - initialization for 13506 test and diagnostics routines */

#include <stdio.h>
#include <_syslist.h>

#define SE_NODEFMAIN
#include "hal.h"

#define CMDBUFSIZE 80

#define SH3_BCR2 0xFFFFFF62
#define SH3_WCR1 0xFFFFFF64
#define SH3_WCR2 0xFFFFFF66

int seMain(int argc, char *argv[]);
int read(int handle, void *buffer, unsigned int count);

static void SetupCS (void)
    {
    unsigned short *ptr_SH3Reg = (unsigned short *)SH3_BCR2;

    *ptr_SH3Reg = 0x2bf8;  /* was originally 0x3bf8 */

    ptr_SH3Reg  = (unsigned short *)SH3_WCR1;
    *ptr_SH3Reg = 0;

    ptr_SH3Reg  = (unsigned short *)SH3_WCR2;
    *ptr_SH3Reg = 0xe7d7;
    }

int main()
    {
    int argc,j, len;
    char *argv[6];
    char cmdbuf[CMDBUFSIZE+1];

    /* turn off i/o buffering */
    setvbuf (stdin, 0, _IONBF, 0);
    setvbuf (stdout, 0, _IONBF, 0);
    setvbuf (stderr, 0, _IONBF, 0);

    /* set up chip selects to 13506 */
    SetupCS ();

    /* get command line parameters */

    printf ("\nArguments:");
    len = read (0, cmdbuf, CMDBUFSIZE) -1;

    /* parse command line into argv [] */
    
    argv[0] = "argv0";

    for (j = 0,argc = 1; (argc < sizeof(argv)/sizeof(argv[0])) && (j < len);)
        {
        /* skip leading blanks */

        for (; (j < len) && (cmdbuf[j] == ' '); j++);

        argv[argc] = &cmdbuf[j];

        if (j < len)
            {
            argc++;

            /* skip the non-blank characters */

            for (; (j < len) && (cmdbuf[j] != ' '); j++);

            /* terminate the argument */

            cmdbuf[j++] = 0;
            }
        }

    /* execute main program and return result */

    return seMain (argc,argv);
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?