URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [or32/] [tools/] [bintoc.c] - Rev 1777
Go to most recent revision | Compare with Previous | Blame | View Log
#include <stdio.h> extern long ce_exec_config[]; main(int argc, char *argv[]) { int i, cnt, pos, len; unsigned char *lp; unsigned char buf[8192]; if (argc != 1) { fprintf(stderr, "usage: %s <in-file >out-file\n", argv[0]); exit(1); } fprintf(stdout, "#\n"); fprintf(stdout, "# Miscellaneous data structures:\n"); fprintf(stdout, "# WARNING - this file is automatically generated!\n"); fprintf(stdout, "#\n"); fprintf(stdout, "\n"); fprintf(stdout, "\t.section .initrd, \"a\"\n"); pos = 0; while ((len = read(0, buf, sizeof(buf))) > 0) { cnt = 0; lp = (unsigned char *)buf; len = (len + 3) & ~3; /* Round up to longwords */ for (i = 0; i < len; i += 4) { if (cnt == 0) { fprintf(stdout, "\t.long\t"); } fprintf(stdout, "0x%02X%02X%02X%02X", lp[0], lp[1], lp[2], lp[3]); lp += 4; if (++cnt == 4) { cnt = 0; fprintf(stdout, "/* %x */\n", pos+i-12); fflush(stdout); } else { fprintf(stdout, ","); } } if (cnt) { fprintf(stdout, "0\n"); } pos += len; } fflush(stdout); fclose(stdout); exit(0); }
Go to most recent revision | Compare with Previous | Blame | View Log