Renamed old to new
Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@703 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -10,13 +10,11 @@ ramgen: ./src/ramgen.c
|
|||||||
$(CC) $(CFLAGS) ./src/ramgen.c -lm -o ./ramgen
|
$(CC) $(CFLAGS) ./src/ramgen.c -lm -o ./ramgen
|
||||||
|
|
||||||
flashgen: ./src/flashgen.c
|
flashgen: ./src/flashgen.c
|
||||||
$(CC) $(CFLAGS) ./src/flashgen.c -lm -o ./flashgen_el
|
$(CC) $(CFLAGS) ./src/flashgen.c -lm -o ./flashgen
|
||||||
$(CC) $(CFLAGS) -DTARGET_IS_BIG_ENDIAN ./src/flashgen.c -lm -o ./flashgen_eb
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
cp romgen $(PREFIX)/bin
|
cp romgen $(PREFIX)/bin
|
||||||
cp ramgen $(PREFIX)/bin
|
cp ramgen $(PREFIX)/bin
|
||||||
cp flashgen_el $(PREFIX)/bin
|
cp flashgen $(PREFIX)/bin
|
||||||
cp flashgen_eb $(PREFIX)/bin
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf romgen* ramgen* flashgen*
|
rm -rf romgen* ramgen* flashgen*
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
#define SDRAM_BASE 0x40000000
|
#define SDRAM_BASE 0x40000000
|
||||||
#define FLASH_OFFSET 0x00000000
|
#define FLASH_OFFSET 0x00000000
|
||||||
|
|
||||||
|
#define MAGIC_EB 0x4A464931 // "JFI1" in big-endian;
|
||||||
|
#define MAGIC_EL 0x3149464A // "JFI1" in little-endian;
|
||||||
|
|
||||||
UINT32 conv_endian32(UINT32 src)
|
UINT32 conv_endian32(UINT32 src)
|
||||||
{
|
{
|
||||||
UINT32 dst;
|
UINT32 dst;
|
||||||
@@ -29,28 +32,10 @@ UINT32 conv_endian32(UINT32 src)
|
|||||||
return dst;
|
return dst;
|
||||||
};
|
};
|
||||||
|
|
||||||
UINT32 to_big_endian32(UINT32 src)
|
|
||||||
{
|
|
||||||
#ifndef NATIVE_IS_BIG_ENDIAN
|
|
||||||
return conv_endian32(src);
|
|
||||||
#else
|
|
||||||
return src;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
UINT32 from_big_endian32(UINT32 src)
|
|
||||||
{
|
|
||||||
#ifndef NATIVE_IS_BIG_ENDIAN
|
|
||||||
return conv_endian32(src);
|
|
||||||
#else
|
|
||||||
return src;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------
|
// --------------------------------------------------------------
|
||||||
typedef struct _sflash_img_hdr_t
|
typedef struct _sflash_img_hdr_t
|
||||||
{
|
{
|
||||||
UINT8 magic[4];
|
UINT32 magic;
|
||||||
UINT32 target_addr;
|
UINT32 target_addr;
|
||||||
UINT32 img_offset;
|
UINT32 img_offset;
|
||||||
UINT32 img_size;
|
UINT32 img_size;
|
||||||
@@ -84,6 +69,7 @@ int main(int argc, char *argv[])
|
|||||||
char name_flash[1024];
|
char name_flash[1024];
|
||||||
char name_prj[1024];
|
char name_prj[1024];
|
||||||
char *pBuf;
|
char *pBuf;
|
||||||
|
UINT32 *pBuf32;
|
||||||
flash_img_hdr_t img_hdr = {0};
|
flash_img_hdr_t img_hdr = {0};
|
||||||
|
|
||||||
FILE *pFile;
|
FILE *pFile;
|
||||||
@@ -93,7 +79,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: flashgen <input file>\n");
|
fprintf(stderr, "Usage: flashgen <input file> [-{EL|EB}]\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,21 +114,22 @@ int main(int argc, char *argv[])
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
img_hdr.magic[0] = 'J';
|
img_hdr.magic = MAGIC_EL;
|
||||||
img_hdr.magic[1] = 'F';
|
|
||||||
img_hdr.magic[2] = 'I';
|
|
||||||
img_hdr.magic[3] = '1';
|
|
||||||
#ifdef TARGET_IS_BIG_ENDIAN
|
|
||||||
img_hdr.target_addr = to_big_endian32(SDRAM_BASE);
|
|
||||||
img_hdr.img_size = to_big_endian32(filesize);
|
|
||||||
img_hdr.img_offset = to_big_endian32(FLASH_OFFSET + sizeof(flash_img_hdr_t));
|
|
||||||
img_hdr.hdr_next = to_big_endian32(FLASH_OFFSET);
|
|
||||||
#else
|
|
||||||
img_hdr.target_addr = SDRAM_BASE;
|
img_hdr.target_addr = SDRAM_BASE;
|
||||||
img_hdr.img_size = filesize;
|
img_hdr.img_size = filesize;
|
||||||
img_hdr.img_offset = FLASH_OFFSET + sizeof(flash_img_hdr_t);
|
img_hdr.img_offset = FLASH_OFFSET + sizeof(flash_img_hdr_t);
|
||||||
img_hdr.hdr_next = FLASH_OFFSET;
|
img_hdr.hdr_next = FLASH_OFFSET;
|
||||||
#endif
|
|
||||||
|
if (argc == 3)
|
||||||
|
{
|
||||||
|
if ((argv[2][0] == '-') && (toupper(argv[2][1]) == 'E') && (toupper(argv[2][2]) == 'B'))
|
||||||
|
{
|
||||||
|
img_hdr.magic = MAGIC_EB;
|
||||||
|
pBuf32 = (UINT32*)pBuf;
|
||||||
|
for (i=0; i < filesize/4; i ++)
|
||||||
|
pBuf32[i] = conv_endian32(pBuf32[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
fwrite(&img_hdr, sizeof(flash_img_hdr_t), 1, pFile);
|
fwrite(&img_hdr, sizeof(flash_img_hdr_t), 1, pFile);
|
||||||
fwrite(pBuf, 1, filesize, pFile);
|
fwrite(pBuf, 1, filesize, pFile);
|
||||||
|
|
||||||
|
|||||||
@@ -399,7 +399,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: romgen <input file> <num. word address bits> [{EL|EB}]\n");
|
fprintf(stderr, "Usage: romgen <input file> <num. word address bits> [-{EL|EB}]\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -409,11 +409,10 @@ int main(int argc, char *argv[])
|
|||||||
g_endianess_EB = 0;
|
g_endianess_EB = 0;
|
||||||
if (argc == 4)
|
if (argc == 4)
|
||||||
{
|
{
|
||||||
if ((toupper(argv[3][0]) == 'E') && (toupper(argv[3][1]) == 'B'))
|
if ((argv[3][0] == '-') && (toupper(argv[3][1]) == 'E') && (toupper(argv[3][2]) == 'B'))
|
||||||
g_endianess_EB = 1;
|
g_endianess_EB = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
basename(pFilenameIn, name_prj);
|
basename(pFilenameIn, name_prj);
|
||||||
sprintf(name_rom, "%s.vhd", name_prj);
|
sprintf(name_rom, "%s.vhd", name_prj);
|
||||||
sprintf(name_rom_v4ld, "%s_ld.vhd", name_prj);
|
sprintf(name_rom_v4ld, "%s_ld.vhd", name_prj);
|
||||||
|
|||||||
Reference in New Issue
Block a user