LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Adam Pierce<adam@d...>
    Date: Sat Mar 1 06:25:57 CET 2008
    Subject: [oc] ZPU
    Top
    I've got another step further, I noticed that the Java "MakeRam" utility
    tends to leave a few bytes off the end. I'm not much of a Java person so
    I re-wrote it in C. Here it is. You could include it in the ZPU CVS if
    you think it useful.

    My code unfortunately still doesn't run.

    // zpuromgen.c
    //
    // Program to turn a binary file into a VHDL lookup table.
    // by Adam Pierce
    // 29-Feb-2008
    //
    // This software is free to use by anyone for any purpose.
    //

    #include <unistd.h>
    #include <stdio.h>

    typedef uint8_t BYTE;

    main(int argc, char **argv)
    {
    BYTE opcode[4];
    int fd;
    int addr = 0;
    ssize_t s;

    // Check the user has given us an input file.
    if(argc < 2)
    {
    printf("Usage: %s <binary_file>\n\n", argv[0]);
    return 1;
    }

    // Open the input file.
    fd = open(argv[1], 0);
    if(fd == -1)
    {
    perror("File Open");
    return 2;
    }

    while(1)
    {
    // Read 32 bits.
    s = read(fd, opcode, 4);
    if(s == -1)
    {
    perror("File read");
    return 3;
    }

    if(s == 0)
    break; // End of file.

    // Output to STDOUT.
    printf("%6d => x\"%02x%02x%02x%02x\",\n",
    addr++, opcode[0], opcode[1],
    opcode[2], opcode[3]);
    }

    close(fd);
    return 0;
    }


    --
    __ __
    _______ __/ \____________________________/ \__ _______
    \_____ | \ o \ Adam Pierce / o / | _____/
    \___ | \ o \________________________/ o / | ___/
    \__|____\ o www.doctort.org/adam o /____|__/
    \__\____________________________/__/
    ~~~~~~~\____________/~~~~~~~
    \______/
    \/

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.