EXE = ethercat_slave_demo #**** rules.mk *************************************************************** CROSS_COMPILE = $(TOOLCHAIN_PATH_A53)/bin/aarch64-elf- CC=$(CROSS_COMPILE)gcc LD=$(CROSS_COMPILE)gcc AR=$(CROSS_COMPILE)ar BIN=$(CROSS_COMPILE)objcopy OBJDUMP=$(CROSS_COMPILE)objdump BINFLAGS=-O binary OBJS = $(patsubst %.c,%.o,$(CSRCS)) OBJS += $(patsubst %.S,%.o,$(ASRCS)) # Install path for PRU-ICSS-EtherCAT_Slave # Update the path in the line below as needed and then uncomment the line IA_SDK_HOME=/home/lam/ti/ccs910/PRU-ICSS-EtherCAT_Slave_01.00.07.02 ifeq (,$(IA_SDK_HOME)) $(error must specify IA_SDK_HOME) endif CCS_COPT=-DSOC_AM65XX -Dam6548 -Dcore0 -DAARCH64 -DECAT_MII -DNO_UART_MSG_APP -DECAT_LIMITED_DEMO \ -O2 -Wall CCS_INCDIRS=-I$(PDK_INSTALL_PATH) \ -I$(IA_SDK_HOME) \ -I$(IA_SDK_HOME)/examples \ -I$(IA_SDK_HOME)/protocols/ethercat_slave/include \ -I$(IA_SDK_HOME)/protocols/ethercat_slave/ecat_appl/EcatStack \ -I$(IA_SDK_HOME)/protocols/ethercat_slave/ecat_appl/idkAM65xx \ -I$(IA_SDK_HOME)/protocols/ethercat_slave/firmware/g_v1.0 GCCOPT = -gdwarf-2 -gstrict-dwarf -Wall -mtune=cortex-a53 \ -g \ CCS_L=-DSOC_AM65XX \ -DNO_UART_MSG_APP \ -DECAT_LIMITED_DEMO \ -O2 \ -ffunction-sections \ -fdata-sections \ -nodefaultlibs LDIR=-L$(BIOS_INSTALL_PATH)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard \ -L$(IA_SDK_HOME)/third_party/protocols/ethercat_slave/stack_lib/am65xx/a53 \ INCDIRS = -I$(XDC_INSTALL_PATH)/packages \ -I$(BIOS_INSTALL_PATH)/packages \ $(CCS_INCDIRS) XDC_OPT = -Dxdc_target_types__="gnu/targets/arm/std.h" \ -Dxdc_target_name__=A53F CFLAGS = $(GCCOPT) -g $(INCDIRS) $(XDC_OPT) -mcpu=cortex-a53 \ $(CCS_COPT) -D_JAILHOUSE_INMATE LDFLAGS= $(GCCOPT) -Dam6548 -Dcore0 \ $(CCS_L) \ -Wl,-Map,$(EXE).map -nostartfiles \ -static -Wl,--gc-sections $(LDIR) --specs=nano.specs \ -Wl,--defsym,CORE0=1 \ -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 \ -Wl,--start-group \ $(OBJS) \ -Wl,-T$(LDS) \ -Wl,--start-group -lrdimon -lgcc -lc \ -lethercat_slave_stack_AM65xx_arm \ -Wl,--end-group \ #****************************************************************************** VPATH = $(PDK_INSTALL_PATH)/ti/drv/pruss/soc/am65xx \ $(PDK_INSTALL_PATH)/ti/drv/gpio/soc/am65xx \ $(PDK_INSTALL_PATH)/ti/drv/uart/soc/am65xx \ $(IA_SDK_HOME)/examples/board/idkAM65xx \ $(IA_SDK_HOME)/examples/board/common \ $(IA_SDK_HOME)/examples/ethercat_slave \ $(IA_SDK_HOME)/examples/osal \ $(IA_SDK_HOME)/protocols/ethercat_slave/ecat_appl/idkAM65xx \ $(IA_SDK_HOME)/protocols/ethercat_slave/ecat_appl/EcatStack \ ./src CSRCS = pruicss_soc.c GPIO_soc.c UART_soc.c \ board_phy.c \ board_misc.c board_tlk105.c board_tlkphy.c tiescutils.c \ tiescappl.c tiesc_soc.c tiescphy_tlk105l.c delay_us.c \ tiesc_fw_cir_buff.c tiescbsp.c tieschw.c \ tiescmiscappl.c \ board_jh.c TaskP_tirtos.c OSP_tirtos.c LDS = ./bios/configPkg/linker.cmd all: $(EXE).bin $(EXE).out: $(LDS) $(OBJS) $(LD) $(LDFLAGS) -o $@ $(EXE).bin: $(EXE).out sed -i -e 's/org = 0x80000000, len = 0x80000000/org = 0x90000000, len = 0x70000000/g' $(LDS) $(BIN) $(BINFLAGS) $< $@ $(LDS): $(MAKE) -C ./bios sysbios clean: $(MAKE) -C ./bios clean rm -rf *.o *.map *.a *.bin *.out *.d install: $(EXE).bin cp $(EXE).bin $(INSTALL_DIR) -include ../Rules.mk