⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flashpgm.c

📁 三星S3C4510 FLASH编程的C源码
💻 C
字号:
#define VERSION "1.0"
#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <conio.h>
#include "s3c4510.h"
#include "sst28sf040.h"

unsigned char test_buf[256];
int lpt_addr;
void main(int argc, char **argv)
{
    char fpath[40];
    FILE *pgmfile;
    unsigned  int  tdata = 0, taddr = 0, i, EndOfFile;

    if (argc < 2)
        return;

    sprintf(fpath, "%s", argv[1]);
    sscanf(argv[2], "%x", &taddr);
    printf("taddr = %x\n", taddr);

    pgmfile = fopen(fpath, "rb");
    if (pgmfile == NULL)
    {
        printf("File %s not found\n", fpath);
        return;
    }

    lpt_addr = test_port();  // find a valid parallel port address
    printf("LPT is at %04x\n\n", lpt_addr);
    reset_jtag();
    test_logic_reset();
    id_command();
    extest();
    if (Check_SST_28SF040() ==  -1)
    {
        printf("SST 28SF040 not found!!\n");
        exit(0);
    }
    else
        printf("SST 28SF040 found!!\n");

    EndOfFile = FALSE;
    while(1)
    {
        memset(test_buf, 0xff, sizeof(test_buf));
        if (1 != fread(test_buf, sizeof(test_buf), 1, pgmfile))
            EndOfFile = TRUE;

        if (Write_28SF040(test_buf, taddr))
            printf("Write fail[%08x]\n", taddr);
        else
            printf("Write success[%08x]\n", taddr);
        taddr = taddr + 256;
        if (EndOfFile == TRUE)
            break;
    }
    fclose(pgmfile);
}

⌨️ 快捷键说明

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