summaryrefslogtreecommitdiffstats
path: root/recipes-bsp/pru/pru-swuart-fw/0001-icss_uart-add-Makefile-for-building-firmware.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/pru/pru-swuart-fw/0001-icss_uart-add-Makefile-for-building-firmware.patch')
-rw-r--r--recipes-bsp/pru/pru-swuart-fw/0001-icss_uart-add-Makefile-for-building-firmware.patch145
1 files changed, 145 insertions, 0 deletions
diff --git a/recipes-bsp/pru/pru-swuart-fw/0001-icss_uart-add-Makefile-for-building-firmware.patch b/recipes-bsp/pru/pru-swuart-fw/0001-icss_uart-add-Makefile-for-building-firmware.patch
new file mode 100644
index 00000000..8414d945
--- /dev/null
+++ b/recipes-bsp/pru/pru-swuart-fw/0001-icss_uart-add-Makefile-for-building-firmware.patch
@@ -0,0 +1,145 @@
+From d37359e7b2bd26da4d04fc97a94967cf457558e9 Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@ti.com>
+Date: Tue, 6 Aug 2019 19:50:59 -0400
+Subject: [PATCH] icss_uart: add Makefile for building firmware
+
+Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+---
+ firmware/icss_uart/src/Makefile | 125 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 125 insertions(+)
+ create mode 100644 firmware/icss_uart/src/Makefile
+
+diff --git a/firmware/icss_uart/src/Makefile b/firmware/icss_uart/src/Makefile
+new file mode 100644
+index 0000000..4764622
+--- /dev/null
++++ b/firmware/icss_uart/src/Makefile
+@@ -0,0 +1,125 @@
++# PRU_CGT environment variable must point to the TI PRU code gen tools directory. E.g.:
++#(Desktop Linux) export PRU_CGT=/path/to/pru/code/gen/tools/ti-cgt-pru_2.x.y
++#(Windows) set PRU_CGT=C:/path/to/pru/code/gen/tools/ti-cgt-pru_2.x.y
++#(ARM Linux*) export PRU_CGT=/usr/share/ti/cgt-pru
++#
++# *ARM Linux also needs to create a symbolic link to the /usr/bin/ directory in
++# order to use the same Makefile
++#(ARM Linux) ln -s /usr/bin/ /usr/share/ti/cgt-pru/bin
++
++ifndef PRU_CGT
++define ERROR_BODY
++
++*******************************************************************************
++PRU_CGT environment variable is not set. Examples given:
++(Desktop Linux) export PRU_CGT=/path/to/pru/code/gen/tools/ti-cgt-pru_2.1.2
++(Windows) set PRU_CGT=C:/path/to/pru/code/gen/tools/ti-cgt-pru_2.1.2
++(ARM Linux*) export PRU_CGT=/usr/share/ti/cgt-pru
++
++*ARM Linux also needs to create a symbolic link to the /usr/bin/ directory in
++order to use the same Makefile
++(ARM Linux) ln -s /usr/bin/ /usr/share/ti/cgt-pru/bin
++*******************************************************************************
++
++endef
++$(error $(ERROR_BODY))
++endif
++
++# PRU_SSP environment variable must point to the PRU Software Support Package. E.g.:
++#(Desktop Linux) export PRU_SSP=/path/to/pru_software_support_package
++#(Windows) set PRU_SSP=C:/path/to/pru_software_support_package
++#(ARM Linux*) export PRU_SSP=/path/to/pru_software_support_package
++
++ifndef PRU_SSP
++define ERROR_BODY
++
++*******************************************************************************
++PRU_SSP environment variable must point to the PRU Software Support Package. E.g.:
++(Desktop Linux) export PRU_SSP=/path/to/pru_software_support_package
++(Windows) set PRU_SSP=C:/path/to/pru_software_support_package
++(ARM Linux*) export PRU_SSP=/path/to/pru_software_support_package
++PRU_CGT environment variable is not set. Examples given:
++*******************************************************************************
++
++endef
++$(error $(ERROR_BODY))
++endif
++
++MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
++CURRENT_DIR := $(notdir $(patsubst %/,%,$(dir $(MKFILE_PATH))))
++PROJ_NAME=$(CURRENT_DIR)
++LINKER_COMMAND_FILE=./AM335x_PRU.cmd
++LIBS=--library=$(PRU_SSP)/lib/rpmsg_lib.lib
++INCLUDE=--include_path=$(PRU_SSP)/include --include_path=$(PRU_SSP)/include/am335x
++STACK_SIZE=0x100
++HEAP_SIZE=0x100
++GEN_DIR=gen
++
++#Common compiler and linker flags (Defined in 'PRU Optimizing C/C++ Compiler User's Guide)
++CFLAGS=-v3 -o2 --display_error_number --endian=little --hardware_mac=on --asm_directory=$(GEN_DIR) --obj_directory=$(GEN_DIR) --pp_directory=$(GEN_DIR) -ppd -ppa -DICSS_REV2
++#Linker flags (Defined in 'PRU Optimizing C/C++ Compiler User's Guide)
++LFLAGS=--reread_libs --warn_sections --stack_size=$(STACK_SIZE) --heap_size=$(HEAP_SIZE)
++
++TARGET=$(GEN_DIR)/$(PROJ_NAME).out
++MAP=$(GEN_DIR)/$(PROJ_NAME).map
++OBJECTS=$(patsubst %.asm,$(GEN_DIR)/%.object,$(wildcard *.asm))
++OBJECTS+=$(patsubst %.c,$(GEN_DIR)/%.object,$(wildcard *.c))
++
++
++all: printStart $(TARGET) printEnd
++
++printStart:
++ @echo ''
++ @echo '************************************************************'
++ @echo 'Building project: $(PROJ_NAME)'
++
++printEnd:
++ @echo ''
++ @echo 'Output files can be found in the "$(GEN_DIR)" directory'
++ @echo ''
++ @echo 'Finished building project: $(PROJ_NAME)'
++ @echo '************************************************************'
++ @echo ''
++
++# Invokes the linker (-z flag) to make the .out file
++$(TARGET): $(OBJECTS) $(LINKER_COMMAND_FILE)
++ @echo ''
++ @echo 'Building target: $@'
++ @echo 'Invoking: PRU Linker'
++ $(PRU_CGT)/bin/clpru $(CFLAGS) -z -i$(PRU_CGT)/lib -i$(PRU_CGT)/include $(LFLAGS) -o $(TARGET) $(OBJECTS) -m$(MAP) $(LINKER_COMMAND_FILE) --library=libc.a $(LIBS)
++ @echo 'Finished building target: $@'
++
++# Invokes the compiler on all assembly files in the directory to create the object files
++$(GEN_DIR)/%.object: %.asm
++ @mkdir -p $(GEN_DIR)
++ @echo ''
++ @echo 'Building file: $<'
++ @echo 'Invoking: PRU Compiler'
++ $(PRU_CGT)/bin/clpru --include_path=$(PRU_CGT)/include $(INCLUDE) $(CFLAGS) -fe $@ $<
++
++# Invokes the compiler on all c files in the directory to create the object files
++$(GEN_DIR)/%.object: %.c
++ @mkdir -p $(GEN_DIR)
++ @echo ''
++ @echo 'Building file: $<'
++ @echo 'Invoking: PRU Compiler'
++ $(PRU_CGT)/bin/clpru -k --include_path=$(PRU_CGT)/include $(INCLUDE) $(CFLAGS) -fe $@ $<
++
++.PHONY: all clean
++
++# Remove the $(GEN_DIR) directory
++clean:
++ @echo ''
++ @echo '************************************************************'
++ @echo 'Cleaning project: $(PROJ_NAME)'
++ @echo ''
++ @echo 'Removing files in the "$(GEN_DIR)" directory'
++ @rm -rf $(GEN_DIR)
++ @echo ''
++ @echo 'Finished cleaning project: $(PROJ_NAME)'
++ @echo '************************************************************'
++ @echo ''
++
++# Includes the dependencies that the compiler creates (-ppd and -ppa flags)
++-include $(OBJECTS:%.object=%.pp)
++
+--
+2.7.4
+