Skip to content

Commit

Permalink
remove build dependency on pru compiler for greater portability, ship…
Browse files Browse the repository at this point in the history
… pru source & binary together in source tree.
  • Loading branch information
Demo User committed Jul 14, 2018
1 parent 9566b4b commit dd704e1
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 21 deletions.
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
*.rtf diff=astextplain
*.RTF diff=astextplain

# my edits, stop git from messing with picture files
# my edits, stop git from messing with binary files
*.png binary
*.jpg binary
*-fw binary
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ INSTALLDIRWRITE := install -d -m 777
INSTALLNONEXEC := install -m 644

all:
@make -C pru_firmware --no-print-directory
@make -C library --no-print-directory
@make -C examples --no-print-directory
@make -C services/rc_battery_monitor --no-print-directory
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Source: librobotcontrol
Section: utils
Priority: optional
Build-Depends: debhelper (>= 9), devscripts, debconf (>= 0.2.26), ti-pru-cgt-installer, pru-software-support-package
Build-Depends: debhelper (>= 9), devscripts, debconf (>= 0.2.26)
Standards-Version: 3.9.8
Maintainer: James Strawson <[email protected]>
Homepage: http://www.strawsondesign.com/
Expand Down
37 changes: 19 additions & 18 deletions pru_firmware/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,18 @@
# to remoteproc.


BIN_DIR := bin
BIN_DIR := fw
SRC_DIR := src
BUILD_DIR := build

PRU0_FW := am335x-pru0-rc-encoder-fw
PRU1_FW := am335x-pru1-rc-servo-fw

TARGET0 := $(BIN_DIR)/$(PRU0_FW)
TARGET1 := $(BIN_DIR)/$(PRU1_FW)
TARGETS := $(TARGET0) $(TARGET1)
LINK_PRU1_FW := $(BIN_DIR)/pru1-servo.object
LINK_PRU0_FW := $(BIN_DIR)/pru0-encoder.object
LINK_PRU1_FW := $(BUILD_DIR)/pru1-servo.object
LINK_PRU0_FW := $(BUILD_DIR)/pru0-encoder.object

RM := rm -f -r
INSTALL := install -m 755
Expand All @@ -42,12 +43,12 @@ INCLUDE=--include_path=/usr/lib/ti/pru-software-support-package/include \
endif


LINKER_COMMAND_FILE=./AM335x_PRU.cmd
LINKER_COMMAND_FILE=./$(SRC_DIR)/AM335x_PRU.cmd
STACK_SIZE=0x100
HEAP_SIZE=0x100


CFLAGS=-v3 -O2 --display_error_number --endian=little --hardware_mac=on --obj_directory=$(BIN_DIR) --pp_directory=$(BIN_DIR) -ppd -ppa --asm_listing --c_src_interlist # --absolute_listing
CFLAGS=-v3 -O2 --display_error_number --endian=little --hardware_mac=on --obj_directory=$(BUILD_DIR) --pp_directory=$(BUILD_DIR) -ppd -ppa --asm_listing --c_src_interlist # --absolute_listing
LFLAGS=--reread_libs --warn_sections --stack_size=$(STACK_SIZE) --heap_size=$(HEAP_SIZE) -m file.map


Expand All @@ -56,50 +57,50 @@ all: $(TARGETS)
@echo "Generated: $^"


$(TARGET0): $(BIN_DIR)/main_pru0.object $(LINK_PRU0_FW)
$(TARGET0): $(BUILD_DIR)/main_pru0.object $(LINK_PRU0_FW)
@echo 'LD $^'
@mkdir -p $(BIN_DIR)
@$(LNKPRU) -i$(PRU_CGT)/lib -i$(PRU_CGT)/include $(LFLAGS) -o $@ $^ $(LINKER_COMMAND_FILE) --library=libc.a $(LIBS) $^

$(TARGET1): $(BIN_DIR)/main_pru1.object $(LINK_PRU1_FW)
$(TARGET1): $(BUILD_DIR)/main_pru1.object $(LINK_PRU1_FW)
@echo 'LD $^'
@mkdir -p $(BIN_DIR)
@$(LNKPRU) -i$(PRU_CGT)/lib -i$(PRU_CGT)/include $(LFLAGS) -o $@ $^ $(LINKER_COMMAND_FILE) --library=libc.a $(LIBS) $^


$(BIN_DIR)/main_pru0.object: $(SRC_DIR)/main_pru0.c
@mkdir -p $(BIN_DIR)
$(BUILD_DIR)/main_pru0.object: $(SRC_DIR)/main_pru0.c
@mkdir -p $(BUILD_DIR)
@echo 'CC $<'
@$(CLPRU) $(INCLUDE) $(CFLAGS) -fe $@ $<


$(BIN_DIR)/main_pru1.object: $(SRC_DIR)/main_pru1.c
@mkdir -p $(BIN_DIR)
$(BUILD_DIR)/main_pru1.object: $(SRC_DIR)/main_pru1.c
@mkdir -p $(BUILD_DIR)
@echo 'CC $<'
@$(CLPRU) $(INCLUDE) $(CFLAGS) -fe $@ $<


$(BIN_DIR)/pru1-servo.object: $(SRC_DIR)/pru1-servo.asm
@mkdir -p $(BIN_DIR)
$(BUILD_DIR)/pru1-servo.object: $(SRC_DIR)/pru1-servo.asm
@mkdir -p $(BUILD_DIR)
@echo 'CC $<'
@$(CLPRU) $(INCLUDE) $(CFLAGS) -fe $@ $<

$(BIN_DIR)/pru0-encoder.object: $(SRC_DIR)/pru0-encoder.asm
@mkdir -p $(BIN_DIR)
$(BUILD_DIR)/pru0-encoder.object: $(SRC_DIR)/pru0-encoder.asm
@mkdir -p $(BUILD_DIR)
@echo 'CC $<'
@$(CLPRU) $(INCLUDE) $(CFLAGS) -fe $@ $<



install:
$(MAKE)
@$(INSTALLDIR) $(DESTDIR)/lib/firmware
@$(INSTALLDIR) $(DESTDIR)/etc/modprobe.d
@$(INSTALLNONEXEC) $(TARGET0) $(DESTDIR)/lib/firmware/
@$(INSTALLNONEXEC) $(TARGET1) $(DESTDIR)/lib/firmware/
@echo 'PRU Firmware Install Complete'


clean:
@$(RM) $(BIN_DIR)
@$(RM) $(BUILD_DIR)
@$(RM) main_pru1.asm main_pru0.asm file.map
@echo 'PRU Firmware Cleanup Complete'

Expand Down
Binary file added pru_firmware/fw/am335x-pru0-rc-encoder-fw
Binary file not shown.
Binary file added pru_firmware/fw/am335x-pru1-rc-servo-fw
Binary file not shown.
File renamed without changes.

0 comments on commit dd704e1

Please sign in to comment.