OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [src_processor/] [or1200/] [sw/] [Makefile] - Blame information for rev 48

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 alirezamon
HDR_SOURCE_DIR=or1200
2
 
3
TOOLCHAIN=$(PRONOC_WORK)/toolchain/or1k-elf
4
IHEX2MIF =$(PRONOC_WORK)/toolchain/bin/ihex2mif
5
IHEX2BIN =$(PRONOC_WORK)/toolchain/bin/ihex2bin
6
BIN2HEX =$(PRONOC_WORK)/toolchain/bin/bin2str
7 48 alirezamon
BIN2MIF=$(PRONOC_WORK)/toolchain/bin/bin2mif
8
BIN2MEM=$(PRONOC_WORK)/toolchain/bin/bin2mem
9 38 alirezamon
 
10
 
11 48 alirezamon
 
12 38 alirezamon
OR32_TOOL_PREFIX=${TOOLCHAIN}/bin/or1k-elf-
13
 
14
OR32_LD=$(OR32_TOOL_PREFIX)ld
15
OR32_AS=$(OR32_TOOL_PREFIX)as
16
OR32_CC=$(OR32_TOOL_PREFIX)gcc
17
OR32_AR=$(OR32_TOOL_PREFIX)ar
18
OR32_OBJDUMP=$(OR32_TOOL_PREFIX)objdump
19
OR32_OBJCOPY=$(OR32_TOOL_PREFIX)objcopy
20
OR32_LIB1=${TOOLCHAIN}/lib/gcc/or1k-elf/5.2.0
21
 
22
LIBRARIES = -L${OR32_LIB1} -L. -L./$(HDR_SOURCE_DIR) -lorlib -lgcc
23
 
24
MARCH_FLAGS ?=-msoft-mul -msoft-div -msoft-float
25
CFLAGS ?= -g -nostdlib -O2 $(MARCH_FLAGS)
26
 
27
LDFLAGS ?=    -Tlink.ld  -e 256
28
 
29 45 alirezamon
#RAMSIZE=3FFF
30 38 alirezamon
 
31
# Sources to go into the liborpsoc.a support library
32
COMPILE_SRCS=$(HDR_SOURCE_DIR)/exceptions.c $(HDR_SOURCE_DIR)/int.c  $(HDR_SOURCE_DIR)/mmu.S  $(HDR_SOURCE_DIR)/$(HDR_SOURCE_DIR)-utils.c $(HDR_SOURCE_DIR)/cache.S
33
 
34
 
35
all: image.ihex
36
 
37
lib:
38
#compile all source code
39
        $(OR32_CC) -Wall $(CFLAGS) -c $(COMPILE_SRCS) -I./$(HDR_SOURCE_DIR)/include/
40
#add them to liborlib.a
41
        $(OR32_AR) -cvq liborlib.a *.o
42
 
43
crt0.o: ./$(HDR_SOURCE_DIR)/crt0.S
44
        $(OR32_CC) $(CFLAGS) -c  ./$(HDR_SOURCE_DIR)/crt0.S -I./$(HDR_SOURCE_DIR)/include/
45
 
46
#compile main file using liborlib.a
47
main.o: lib main.c
48
        $(OR32_CC) -Wall $(CFLAGS) -c main.c  -o main.o
49
 
50
image:  crt0.o main.o  link.ld Makefile
51
        $(OR32_LD) $(LDFLAGS) -Map image.map -N -o image crt0.o main.o $(LIBRARIES)
52
 
53
 
54
image.lst: image
55
        $(OR32_OBJDUMP) -h -S $< > $@
56
 
57
 
58
image.ihex: image image.lst
59
# Convert the ELF file to an IHEX file
60
        mkdir -p ./RAM
61
        $(OR32_OBJCOPY) -O ihex image image.ihex
62
# Generate a MIF & BIN files from the IHEX file
63 45 alirezamon
#       $(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif
64 48 alirezamon
#       $(IHEX2MIF) -f image.ihex -o RAM/ram0.mif
65 38 alirezamon
        $(IHEX2BIN) -i image.ihex -o RAM/ram0.bin
66 48 alirezamon
        $(BIN2MIF)  -f RAM/ram0.bin -o RAM/ram0.mif -w 32
67
        $(BIN2MEM)  -f RAM/ram0.bin -o RAM/ram0.mem -w 32
68 38 alirezamon
        $(BIN2HEX)  -f RAM/ram0.bin -h
69
        rm *.o
70
 
71
 
72
 
73
 
74
clean:
75
        rm -f image.ihex  image image.lst image.bin image.srec image.map  image.ram image.hex RAM/* *.o *.a
76
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.