Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This example.projectspec file is for PRU projects written in assembly -->
<projectSpec>
<applicability>
<when>
<context
deviceFamily="PRU"
deviceId="AM243x_GP_EVM"
/>
</when>
</applicability>

<project
title="Crc"
name = "crc_am243x-evm_icss_g0_pru0_fw_ti-pru-cgt"
products="com.ti.OPEN_PRU"
configurations="
Release,
Debug,
"
connection="TIXDS110_Connection.xml"
toolChain="TI"
cgtVersion="2.3.3"
device="AM243x_GP_EVM"
deviceCore="ICSS_G0_PRU_0"
ignoreDefaultDeviceSettings="true"
ignoreDefaultCCSSettings="true"
endianness="little"
outputFormat="ELF"
outputType="executable"

compilerBuildOptions="
-I${CG_TOOL_ROOT}/include
-I${OPEN_PRU_PATH}/source
-I${OPEN_PRU_PATH}/source/firmware/common
-I${OPEN_PRU_PATH}/source/include
-I${OPEN_PRU_PATH}/source/include/am243x
-DPRU0
-DSLICE0
-v4
-DSOC_AM243X
-O2
Comment thread
nsaulnier-ti marked this conversation as resolved.
"
linkerBuildOptions="
-m=crc.${ConfigName}.map
--disable_auto_rts
--entry_point=main
--diag_suppress=10063-D
--warn_sections
--reread_libs
--diag_warning=225
--ram_model
"

postBuildStep="
$(CG_TOOL_ROOT)/bin/hexpru --diag_wrap=off --array --array:name_prefix=PRU0Firmware -o ../pru0_load_bin.h ${BuildArtifactFileBaseName}.out;
"

description="A Crc FW project">

<configuration name="Debug"
compilerBuildOptions="
-D_DEBUG_=1
"
linkerBuildOptions="
"
></configuration>
<configuration name="Release"
compilerBuildOptions="
"
linkerBuildOptions="
"
></configuration>
<pathVariable name="OPEN_PRU_PATH" path="${COM_TI_OPEN_PRU_INSTALL_DIR}" scope="project" />
<file path="../../../main.asm" openOnCreation="false" excludeFromBuild="false" action="copy">
</file>
<file path="./linker.cmd" openOnCreation="false" excludeFromBuild="false" action="copy">
</file>
</project>
</projectSpec>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* AM243x_PRU0.cmd
*
* Example Linker command file for linking assembly programs built with the TI-PRU-CGT
* on AM243x PRU0 cores
*/

/* Specify the System Memory Map */
MEMORY
{
PAGE 0:
/* 12 KB PRU Instruction RAM */
PRU_IMEM : org = 0x00000000 len = 0x00003000

PAGE 1:
/* Data RAMs */
/* 8 KB PRU Data RAM 0; use only the first 4 KB for PRU0 and reserve
* the second 4 KB for RTU0 and Tx_PRU0 */
PRU0_DMEM_0 : org = 0x00000000 len = 0x00001000
/* 8 KB PRU Data RAM 1; reserved completely for Slice1 cores - PRU1,
* RTU1 and Tx_PRU1; do not use for any Slice0 cores */
PRU1_DMEM_1 : org = 0x00002000 len = 0x00001000
/* NOTE: Custom split of the second 4 KB of ICSS Data RAMs 0 and 1
* split equally between the corresponding RTU and Tx_PRU cores in
* each slice */
RTU0_DMEM_0 : org = 0x00001000 len = 0x00000800
TX_PRU0_DMEM_0 : org = 0x00001800 len = 0x00000800
RTU1_DMEM_1 : org = 0x00003000 len = 0x00000800
TX_PRU1_DMEM_1 : org = 0x00003800 len = 0x00000800

PAGE 2:
/* C28 needs to be programmed to point to SHAREDMEM, default is 0 */
/* 64 KB PRU Shared RAM */
PRU_SHAREDMEM : org = 0x00010000 len = 0x00010000
}

/* Specify the sections allocation into memory */
SECTIONS {

.text > PRU_IMEM, PAGE 0
.stack > PRU0_DMEM_0, PAGE 1
.bss > PRU0_DMEM_0, PAGE 1
.cio > PRU0_DMEM_0, PAGE 1
.data > PRU0_DMEM_0, PAGE 1
.switch > PRU0_DMEM_0, PAGE 1
.sysmem > PRU0_DMEM_0, PAGE 1
.cinit > PRU0_DMEM_0, PAGE 1
.rodata > PRU0_DMEM_0, PAGE 1
.rofardata > PRU0_DMEM_0, PAGE 1
.farbss > PRU0_DMEM_0, PAGE 1
.fardata > PRU0_DMEM_0, PAGE 1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
export OPEN_PRU_PATH?=$(abspath ../../../../../../..)
include $(OPEN_PRU_PATH)/imports.mak

# Define build outputs
OUTPUT_NAME := crc_am243x-evm_icss_g0_pru0_fw

# MCU+ projects: rename & move hex array output
MCU_HEX_NAME := pru0_load_bin.h
HEX_ARRAY_PREFIX := PRU0Firmware
MCU_HEX_PATH := $(OPEN_PRU_PATH)/academy/crc/crc/firmware/am243x-evm/$(MCU_HEX_NAME)

# which directories to search for assembly & C source files?
FILES_PATH := .. ../../.. .

# Linker command file
COMMAND_FILES := linker.cmd

# Silicon version (3: PRUSS, PRU-ICSS; 4: PRU_ICSSG)
PRU_VERSION := 4
EXPECTED_DEVICE := am243x

# Default values are defined in pru_rules.mak:
# - include paths (INCLUDE)
# - compiler flags (CFLAGS)
# - linker flags (LFLAGS)

# Optional:
# Pre-define here to override default value
# OPT_LEVEL, STACK_SIZE, HEAP_SIZE, or ENTRY_POINT

# pru_rules.mak has shared settings for all PRU/RTU/TX_PRU core makefiles
include $(OPEN_PRU_PATH)/pru_rules.mak

# Optional:
# Append values to INCLUDE, CFLAGS, or LFLAGS here.
# Values can be appended like this:
# INCLUDE += --include_path=<value>

# Defines (pass instance specific definitions to the program)
# see --define or -D in 'PRU Optimizing C/C++ Compiler User's Guide'
# For example, to define PRU0, ICSSG1, SOC_AM243X, and set _DEBUG_=1:
# -DPRU0 -DICSSG1 --define=SOC_AM243X -D_DEBUG_=1
DFLAGS :=

# Libraries
# see --library in 'PRU Optimizing C/C++ Compiler User's Guide'
LIBS :=
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
export OPEN_PRU_PATH?=$(abspath ../../../../../../..)
include $(OPEN_PRU_PATH)/imports.mak

PROFILE?=Release

PROJECT_NAME=crc_am243x-evm_icss_g0_pru0_fw_ti-pru-cgt

all:
$(CCS_ECLIPSE) -noSplash -data $(OPEN_PRU_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectBuild -ccs.projects $(PROJECT_NAME) -ccs.configuration $(PROFILE)

clean:
$(CCS_ECLIPSE) -noSplash -data $(OPEN_PRU_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectBuild -ccs.projects $(PROJECT_NAME) -ccs.configuration $(PROFILE) -ccs.clean

export:
$(MKDIR) $(OPEN_PRU_PATH)/ccs_projects
$(CCS_ECLIPSE) -noSplash -data $(OPEN_PRU_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectCreate -ccs.projectSpec example.projectspec -ccs.overwrite full
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* ======== syscfg_c.rov.xs ========
* This file contains the information needed by the Runtime Object
* View (ROV) tool.
*/
var crovFiles = [
"kernel/freertos/rov/FreeRTOS.rov.js",
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This example.projectspec file is for PRU projects written in assembly -->
<projectSpec>
<applicability>
<when>
<context
deviceFamily="PRU"
deviceId="AM243x_GP_EVM"
/>
</when>
</applicability>

<project
title="Crc"
name = "crc_am243x-evm_icss_g0_pru1_fw_ti-pru-cgt"
products="com.ti.OPEN_PRU"
configurations="
Release,
Debug,
"
connection="TIXDS110_Connection.xml"
toolChain="TI"
cgtVersion="2.3.3"
device="AM243x_GP_EVM"
deviceCore="ICSS_G0_PRU_1"
ignoreDefaultDeviceSettings="true"
ignoreDefaultCCSSettings="true"
endianness="little"
outputFormat="ELF"
outputType="executable"

compilerBuildOptions="
-I${CG_TOOL_ROOT}/include
-I${OPEN_PRU_PATH}/source
-I${OPEN_PRU_PATH}/source/firmware/common
-I${OPEN_PRU_PATH}/source/include
-I${OPEN_PRU_PATH}/source/include/am243x
-DPRU1
-DSLICE1
-v4
-DSOC_AM243X
-O2
"
linkerBuildOptions="
-m=crc.${ConfigName}.map
--disable_auto_rts
--entry_point=main
--diag_suppress=10063-D
--warn_sections
--reread_libs
--diag_warning=225
--ram_model
"

postBuildStep="
$(CG_TOOL_ROOT)/bin/hexpru --diag_wrap=off --array --array:name_prefix=PRU1Firmware -o ../pru1_load_bin.h ${BuildArtifactFileBaseName}.out;
"

description="A Crc FW project">

<configuration name="Debug"
compilerBuildOptions="
-D_DEBUG_=1
"
linkerBuildOptions="
"
></configuration>
<configuration name="Release"
compilerBuildOptions="
"
linkerBuildOptions="
"
></configuration>
<pathVariable name="OPEN_PRU_PATH" path="${COM_TI_OPEN_PRU_INSTALL_DIR}" scope="project" />
<file path="../../../main.asm" openOnCreation="false" excludeFromBuild="false" action="copy">
</file>
<file path="./linker.cmd" openOnCreation="false" excludeFromBuild="false" action="copy">
</file>
</project>
</projectSpec>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* AM243x_PRU1.cmd
*
* Example Linker command file for linking assembly programs built with the TI-PRU-CGT
* on AM243x PRU1 cores
*/

/* Specify the System Memory Map */
MEMORY
{
PAGE 0:
/* 12 KB PRU Instruction RAM */
PRU_IMEM : org = 0x00000000 len = 0x00003000

PAGE 1:
/* Data RAMs */
/* 8 KB PRU Data RAM 1; use only the first 4 KB for PRU1 and reserve
* the second 4 KB for RTU1 and Tx_PRU1 */
PRU1_DMEM_1 : org = 0x00000000 len = 0x00001000
/* 8 KB PRU Data RAM 0; reserved completely for Slice0 cores - PRU0,
* RTU0 and Tx_PRU0; do not use for any Slice1 cores */
PRU0_DMEM_0 : org = 0x00002000 len = 0x00001000
/* NOTE: Custom split of the second 4 KB of ICSS Data RAMs 0 and 1
* split equally between the corresponding RTU and Tx_PRU cores in
* each slice */
RTU1_DMEM_1 : org = 0x00001000 len = 0x00000800
TX_PRU1_DMEM_1 : org = 0x00001800 len = 0x00000800
RTU0_DMEM_0 : org = 0x00003000 len = 0x00000800
TX_PRU0_DMEM_0 : org = 0x00003800 len = 0x00000800

PAGE 2:
/* C28 needs to be programmed to point to SHAREDMEM, default is 0 */
/* 64 KB PRU Shared RAM */
PRU_SHAREDMEM : org = 0x00010000 len = 0x00010000
}

/* Specify the sections allocation into memory */
SECTIONS {

.text > PRU_IMEM, PAGE 0
.stack > PRU1_DMEM_1, PAGE 1
.bss > PRU1_DMEM_1, PAGE 1
.cio > PRU1_DMEM_1, PAGE 1
.data > PRU1_DMEM_1, PAGE 1
.switch > PRU1_DMEM_1, PAGE 1
.sysmem > PRU1_DMEM_1, PAGE 1
.cinit > PRU1_DMEM_1, PAGE 1
.rodata > PRU1_DMEM_1, PAGE 1
.rofardata > PRU1_DMEM_1, PAGE 1
.farbss > PRU1_DMEM_1, PAGE 1
.fardata > PRU1_DMEM_1, PAGE 1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
export OPEN_PRU_PATH?=$(abspath ../../../../../../..)
include $(OPEN_PRU_PATH)/imports.mak

# Define build outputs
OUTPUT_NAME := crc_am243x-evm_icss_g0_pru1_fw

# MCU+ projects: rename & move hex array output
MCU_HEX_NAME := pru1_load_bin.h
HEX_ARRAY_PREFIX := PRU1Firmware
MCU_HEX_PATH := $(OPEN_PRU_PATH)/academy/crc/crc/firmware/am243x-evm/$(MCU_HEX_NAME)

# which directories to search for assembly & C source files?
FILES_PATH := .. ../../.. .

# Linker command file
COMMAND_FILES := linker.cmd

# Silicon version (3: PRUSS, PRU-ICSS; 4: PRU_ICSSG)
PRU_VERSION := 4
EXPECTED_DEVICE := am243x

# Default values are defined in pru_rules.mak:
# - include paths (INCLUDE)
# - compiler flags (CFLAGS)
# - linker flags (LFLAGS)

# Optional:
# Pre-define here to override default value
# OPT_LEVEL, STACK_SIZE, HEAP_SIZE, or ENTRY_POINT

# pru_rules.mak has shared settings for all PRU/RTU/TX_PRU core makefiles
include $(OPEN_PRU_PATH)/pru_rules.mak

# Optional:
# Append values to INCLUDE, CFLAGS, or LFLAGS here.
# Values can be appended like this:
# INCLUDE += --include_path=<value>

# Defines (pass instance specific definitions to the program)
# see --define or -D in 'PRU Optimizing C/C++ Compiler User's Guide'
# For example, to define PRU0, ICSSG1, SOC_AM243X, and set _DEBUG_=1:
# -DPRU0 -DICSSG1 --define=SOC_AM243X -D_DEBUG_=1
DFLAGS :=

# Libraries
# see --library in 'PRU Optimizing C/C++ Compiler User's Guide'
LIBS :=
Loading
Loading