diff --git a/.github/workflows/ccs_build.yml b/.github/workflows/ccs_build.yml
index a7bc8792b..46f0a7692 100644
--- a/.github/workflows/ccs_build.yml
+++ b/.github/workflows/ccs_build.yml
@@ -66,8 +66,8 @@ jobs:
~/ti/ccs_20.3.1
~/ti/ti-cgt-pru_2.3.3
~/ti/ti-cgt-armllvm_4.0.3.LTS
- ~/ti/sysconfig_1.26.2
- key: toolchain-ccs-${{ runner.os }}-v5-ccs20_3_1-sysconfig1_26_2-pru2_3_3-armclang4_0_3
+ ~/ti/sysconfig_1.27.0
+ key: toolchain-ccs-${{ runner.os }}-v5-ccs20_3_1-sysconfig1_27_0-pru2_3_3-armclang4_0_3
- name: Install CCS, SYSCONFIG, TIARMCLANG and PRU CGT if missing
if: success() && steps.cache.outputs.cache-hit != 'true'
@@ -87,14 +87,14 @@ jobs:
cd CCS_20.3.1.00005_linux
./ccs_setup_20.3.1.00005.run --mode unattended --enable-components PF_ARM_MPU,PF_SITARA_MCU --prefix "$HOME/ti/ccs_20.3.1"
fi
- # Install SYSCONFIG 1.26.2
- if [ ! -d "$HOME/ti/ccs_20.3.1/ccs/utils/sysconfig_1.26.2" ] && [ ! -d "$HOME/ti/sysconfig_1.26.2" ]; then
+ # Install SYSCONFIG 1.27.0
+ if [ ! -d "$HOME/ti/ccs_20.3.1/ccs/utils/sysconfig_1.27.0" ] && [ ! -d "$HOME/ti/sysconfig_1.27.0" ]; then
cd "$HOME/ti/downloads"
wget -q --retry-connrefused --waitretry=1 --tries=5 --timeout=30 \
- https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-nsUM6f7Vvb/1.26.2.4477/sysconfig-1.26.2_4477-setup.run
- chmod +x sysconfig-1.26.2_4477-setup.run
- ./sysconfig-1.26.2_4477-setup.run --mode unattended --prefix "$HOME/ti/sysconfig_1.26.2"
- chmod -R +x "$HOME/ti/sysconfig_1.26.2"
+ https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-nsUM6f7Vvb/1.27.0.4565/sysconfig-1.27.0_4565-setup.run
+ chmod +x sysconfig-1.27.0_4565-setup.run
+ ./sysconfig-1.27.0_4565-setup.run --mode unattended --prefix "$HOME/ti/sysconfig_1.27.0"
+ chmod -R +x "$HOME/ti/sysconfig_1.27.0"
fi
# Install ARM CLANG CGT 4.0.3
if [ ! -d "$HOME/ti/ccs_20.3.1/ccs/tools/compiler/ti-cgt-armllvm_4.0.3.LTS" ] && [ ! -d "$HOME/ti/ti-cgt-armllvm_4.0.3.LTS" ]; then
@@ -134,7 +134,7 @@ jobs:
rm -rf "$HOME/ti/ccs_20.3.1/ccs/uninstallers"
echo "=== Toolchain sizes after cleanup ==="
du -sh "$HOME/ti/ccs_20.3.1" "$HOME/ti/ti-cgt-pru_2.3.3" \
- "$HOME/ti/ti-cgt-armllvm_4.0.3.LTS" "$HOME/ti/sysconfig_1.26.2" 2>/dev/null || true
+ "$HOME/ti/ti-cgt-armllvm_4.0.3.LTS" "$HOME/ti/sysconfig_1.27.0" 2>/dev/null || true
- name: Save toolchain cache
if: success() && steps.cache.outputs.cache-hit != 'true'
@@ -144,8 +144,8 @@ jobs:
~/ti/ccs_20.3.1
~/ti/ti-cgt-pru_2.3.3
~/ti/ti-cgt-armllvm_4.0.3.LTS
- ~/ti/sysconfig_1.26.2
- key: toolchain-ccs-${{ runner.os }}-v5-ccs20_3_1-sysconfig1_26_2-pru2_3_3-armclang4_0_3
+ ~/ti/sysconfig_1.27.0
+ key: toolchain-ccs-${{ runner.os }}-v5-ccs20_3_1-sysconfig1_27_0-pru2_3_3-armclang4_0_3
ccs-build:
name: CCS Build (${{ matrix.device }})
@@ -157,25 +157,25 @@ jobs:
matrix:
include:
- device: am243x
- mcu_plus_sdk: mcu_plus_sdk_am243x_11_02_00_24
- sdk_installer: mcu_plus_sdk_am243x_11_02_00_24-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-ouHbHEm1PK/11.02.00.24/mcu_plus_sdk_am243x_11_02_00_24-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am243x_12_00_00_26
+ sdk_installer: mcu_plus_sdk_am243x_12_00_00_26-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-ouHbHEm1PK/12.00.00.26/mcu_plus_sdk_am243x_12_00_00_26-linux-x64-installer.run
- device: am261x
- mcu_plus_sdk: mcu_plus_sdk_am261x_10_02_00_15
- sdk_installer: mcu_plus_sdk_am261x_10_02_00_15-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/10.02.00.15/mcu_plus_sdk_am261x_10_02_00_15-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am261x_26_00_00_06
+ sdk_installer: mcu_plus_sdk_am261x_26_00_00_06-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/26.00.00.06.STS/mcu_plus_sdk_am261x_26_00_00_06-linux-x64-installer.run
- device: am263px
- mcu_plus_sdk: mcu_plus_sdk_am263px_10_02_00_15
- sdk_installer: mcu_plus_sdk_am263px_10_02_00_15-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/10.02.00.15/mcu_plus_sdk_am263px_10_02_00_15-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am263px_26_00_00_06
+ sdk_installer: mcu_plus_sdk_am263px_26_00_00_06-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/26.00.00.06.STS/mcu_plus_sdk_am263px_26_00_00_06-linux-x64-installer.run
- device: am263x
- mcu_plus_sdk: mcu_plus_sdk_am263x_10_02_00_13
- sdk_installer: mcu_plus_sdk_am263x_10_02_00_13-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/10.02.00.13/mcu_plus_sdk_am263x_10_02_00_13-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am263x_26_00_00_06
+ sdk_installer: mcu_plus_sdk_am263x_26_00_00_06-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/26.00.00.06.STS/mcu_plus_sdk_am263x_26_00_00_06-linux-x64-installer.run
- device: am64x
- mcu_plus_sdk: mcu_plus_sdk_am64x_11_02_00_24
- sdk_installer: mcu_plus_sdk_am64x_11_02_00_24-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-SfkcjYAjGS/11.02.00.24/mcu_plus_sdk_am64x_11_02_00_24-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am64x_12_00_00_27
+ sdk_installer: mcu_plus_sdk_am64x_12_00_00_27-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-SfkcjYAjGS/12.00.00.27/mcu_plus_sdk_am64x_12_00_00_27-linux-x64-installer.run
- device: am62x
mcu_plus_sdk: ""
sdk_installer: ""
@@ -204,8 +204,8 @@ jobs:
~/ti/ccs_20.3.1
~/ti/ti-cgt-pru_2.3.3
~/ti/ti-cgt-armllvm_4.0.3.LTS
- ~/ti/sysconfig_1.26.2
- key: toolchain-ccs-${{ runner.os }}-v5-ccs20_3_1-sysconfig1_26_2-pru2_3_3-armclang4_0_3
+ ~/ti/sysconfig_1.27.0
+ key: toolchain-ccs-${{ runner.os }}-v5-ccs20_3_1-sysconfig1_27_0-pru2_3_3-armclang4_0_3
fail-on-cache-miss: true
- name: Install device MCU+ SDK
@@ -255,7 +255,7 @@ jobs:
# initializing the workspace. See test_ccs_import.sh for background.
# No backup/restore needed — CI workspace is ephemeral.
run: |
- SYSCFG_VERSION="1.26.2"
+ SYSCFG_VERSION="1.27.0"
OPENPRU_VERSION="1.${SYSCFG_VERSION}"
sed -i "s/^ \"version\": \"[^\"]*\"/ \"version\": \"${OPENPRU_VERSION}\"/" \
.metadata/.tirex/package.tirex.json
@@ -276,9 +276,9 @@ jobs:
WORKSPACE="${HOME}/workspace_ccs_${DEVICE}"
CCS_CLI="$HOME/ti/ccs_20.3.1/ccs/eclipse/ccs-server-cli.sh"
- PRODUCT_PATHS="${GITHUB_WORKSPACE};$HOME/ti/sysconfig_1.26.2"
- if [ -d "$HOME/ti/ccs_20.3.1/ccs/utils/sysconfig_1.26.2" ]; then
- PRODUCT_PATHS="${GITHUB_WORKSPACE};$HOME/ti/ccs_20.3.1/ccs/utils/sysconfig_1.26.2"
+ PRODUCT_PATHS="${GITHUB_WORKSPACE};$HOME/ti/sysconfig_1.27.0"
+ if [ -d "$HOME/ti/ccs_20.3.1/ccs/utils/sysconfig_1.27.0" ]; then
+ PRODUCT_PATHS="${GITHUB_WORKSPACE};$HOME/ti/ccs_20.3.1/ccs/utils/sysconfig_1.27.0"
fi
if [ -n "${{ matrix.mcu_plus_sdk }}" ]; then
PRODUCT_PATHS="${PRODUCT_PATHS};$HOME/ti/${{ matrix.mcu_plus_sdk }}"
diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml
index 0df4bb2c9..7a6180666 100644
--- a/.github/workflows/makefile.yml
+++ b/.github/workflows/makefile.yml
@@ -24,25 +24,25 @@ jobs:
matrix:
include:
- device: am243x
- mcu_plus_sdk: mcu_plus_sdk_am243x_11_02_00_24
- sdk_installer: mcu_plus_sdk_am243x_11_02_00_24-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-ouHbHEm1PK/11.02.00.24/mcu_plus_sdk_am243x_11_02_00_24-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am243x_12_00_00_26
+ sdk_installer: mcu_plus_sdk_am243x_12_00_00_26-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-ouHbHEm1PK/12.00.00.26/mcu_plus_sdk_am243x_12_00_00_26-linux-x64-installer.run
- device: am261x
- mcu_plus_sdk: mcu_plus_sdk_am261x_10_02_00_15
- sdk_installer: mcu_plus_sdk_am261x_10_02_00_15-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/10.02.00.15/mcu_plus_sdk_am261x_10_02_00_15-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am261x_26_00_00_06
+ sdk_installer: mcu_plus_sdk_am261x_26_00_00_06-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/26.00.00.06.STS/mcu_plus_sdk_am261x_26_00_00_06-linux-x64-installer.run
- device: am263px
- mcu_plus_sdk: mcu_plus_sdk_am263px_10_02_00_15
- sdk_installer: mcu_plus_sdk_am263px_10_02_00_15-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/10.02.00.15/mcu_plus_sdk_am263px_10_02_00_15-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am263px_26_00_00_06
+ sdk_installer: mcu_plus_sdk_am263px_26_00_00_06-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/26.00.00.06.STS/mcu_plus_sdk_am263px_26_00_00_06-linux-x64-installer.run
- device: am263x
- mcu_plus_sdk: mcu_plus_sdk_am263x_10_02_00_13
- sdk_installer: mcu_plus_sdk_am263x_10_02_00_13-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/10.02.00.13/mcu_plus_sdk_am263x_10_02_00_13-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am263x_26_00_00_06
+ sdk_installer: mcu_plus_sdk_am263x_26_00_00_06-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/26.00.00.06.STS/mcu_plus_sdk_am263x_26_00_00_06-linux-x64-installer.run
- device: am64x
- mcu_plus_sdk: mcu_plus_sdk_am64x_11_02_00_24
- sdk_installer: mcu_plus_sdk_am64x_11_02_00_24-linux-x64-installer.run
- sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-SfkcjYAjGS/11.02.00.24/mcu_plus_sdk_am64x_11_02_00_24-linux-x64-installer.run
+ mcu_plus_sdk: mcu_plus_sdk_am64x_12_00_00_27
+ sdk_installer: mcu_plus_sdk_am64x_12_00_00_27-linux-x64-installer.run
+ sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-SfkcjYAjGS/12.00.00.27/mcu_plus_sdk_am64x_12_00_00_27-linux-x64-installer.run
- device: am62x
mcu_plus_sdk: ""
sdk_installer: ""
@@ -82,8 +82,8 @@ jobs:
path: |
~/ti/ti-cgt-pru_2.3.3
~/ti/ti-cgt-armllvm_4.0.3.LTS
- ~/ti/sysconfig_1.26.2
- key: toolchain-make-${{ runner.os }}-v3-sysconfig1_26_2-pru2_3_3-armclang4_0_3
+ ~/ti/sysconfig_1.27.0
+ key: toolchain-make-${{ runner.os }}-v3-sysconfig1_27_0-pru2_3_3-armclang4_0_3
- name: Install SYSCONFIG, TIARMCLANG and PRU CGT if missing
if: steps.cache.outputs.cache-hit != 'true'
@@ -91,14 +91,14 @@ jobs:
set -e
mkdir -p "$HOME/ti/downloads"
- # Install SYSCONFIG 1.26.2
- if [ ! -d "$HOME/ti/sysconfig_1.26.2" ]; then
+ # Install SYSCONFIG 1.27.0
+ if [ ! -d "$HOME/ti/sysconfig_1.27.0" ]; then
cd "$HOME/ti/downloads"
wget -q --retry-connrefused --waitretry=1 --tries=5 --timeout=30 \
- https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-nsUM6f7Vvb/1.26.2.4477/sysconfig-1.26.2_4477-setup.run
- chmod +x sysconfig-1.26.2_4477-setup.run
- ./sysconfig-1.26.2_4477-setup.run --mode unattended --prefix "$HOME/ti/sysconfig_1.26.2"
- chmod -R +x "$HOME/ti/sysconfig_1.26.2"
+ https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-nsUM6f7Vvb/1.27.0.4565/sysconfig-1.27.0_4565-setup.run
+ chmod +x sysconfig-1.27.0_4565-setup.run
+ ./sysconfig-1.27.0_4565-setup.run --mode unattended --prefix "$HOME/ti/sysconfig_1.27.0"
+ chmod -R +x "$HOME/ti/sysconfig_1.27.0"
fi
# Install ARM CLANG CGT 4.0.3
if [ ! -d "$HOME/ti/ti-cgt-armllvm_4.0.3.LTS" ]; then
@@ -142,7 +142,7 @@ jobs:
# Toolchains (standalone; CCS not installed in make CI)
CGT_TI_PRU_PATH := $(HOME)/ti/ti-cgt-pru_2.3.3
CGT_TI_ARM_CLANG_PATH := $(HOME)/ti/ti-cgt-armllvm_4.0.3.LTS
- SYSCFG_PATH ?= $(HOME)/ti/sysconfig_1.26.2
+ SYSCFG_PATH ?= $(HOME)/ti/sysconfig_1.27.0
# Other variables
# you probably will not need to edit these values
OPEN_PRU_PATH ?= $(abspath .)
diff --git a/.metadata/.tirex/package.tirex.json b/.metadata/.tirex/package.tirex.json
index 354b3e81a..ffba8574e 100644
--- a/.metadata/.tirex/package.tirex.json
+++ b/.metadata/.tirex/package.tirex.json
@@ -4,7 +4,7 @@
"id": "com.ti.OPEN_PRU",
"name": "OpenPRU",
"rootCategory": [ "OpenPRU"],
- "version": "2026.01.00",
+ "version": "2026.02.00",
"type": "software",
"license": "../../LICENSE",
"devices": ["AM243x", "AM64x", "AM261x", "AM263Px", "AM263x", "AM62x"],
diff --git a/.metadata/product.json b/.metadata/product.json
index 8dc0d0a73..ef889bc44 100644
--- a/.metadata/product.json
+++ b/.metadata/product.json
@@ -1,7 +1,7 @@
{
"name": "OPEN_PRU",
"displayName": "OPEN_PRU",
- "version": "2026.01.00",
+ "version": "2026.02.00",
"documentationPath": "../docs",
"includePaths": [
"../source",
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 598b63d85..dfe8fa5a2 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index a234f6139..0cc77ccec 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 7344824b8..15d7f2928 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index f307485d1..87fc0985b 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
index 7000bb540..5e35844a9 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 7344824b8..15d7f2928 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 35a880d38..3f07a916f 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 52a3eb958..950b770a3 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 719521d0f..d6f49d8fb 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 379785603..699ec3a53 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 56e4ab4bb..135e9a548 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 719521d0f..d6f49d8fb 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 510bc8f74..7b85f6cd8 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index bfd084d8c..8ea6e3002 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index a51d2d8e1..44b500335 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index a1497a717..3374ec1c5 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 3cad02d43..cfe8152b2 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index a51d2d8e1..44b500335 100644
--- a/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index e326998e9..ff23aba06 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 0e8ac26f2..f35a97b70 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 6aafac569..15d7f2928 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index dbe2766d4..c1c2d1814 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
index e97bc7288..9e047c5a4 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 6aafac569..15d7f2928 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 4f6a4dc4a..92c356609 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index eb325f046..1c1b827c5 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index bfc15b778..d6f49d8fb 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 47fa79159..7aebb3fd2 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 2ae837977..09c525292 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index bfc15b778..d6f49d8fb 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index bc84aea50..9b1eb55fd 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 2273b708c..fbb991f09 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index b0d059d30..44b500335 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index bbd96bf5b..7e781e371 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 501f15766..e07841428 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index b0d059d30..44b500335 100644
--- a/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 7a2ce09e6..5c53ce553 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 2d89fcf22..3075f0973 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_inline_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_inline_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 903f49561..15d7f2928 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 3ebc44110..bd9e77c01 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
index 31a9f3366..da355b084 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_inline_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_inline_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 903f49561..15d7f2928 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 4bb753767..3d7e230e7 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 4f375c722..cdbf69327 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_inline_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_inline_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index c80067166..d6f49d8fb 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index a247311ad..c3ea2cac8 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index c92b38e8e..14982164a 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_inline_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_inline_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index c80067166..d6f49d8fb 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 041b5ba96..d9c22e084 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index e22e711a0..6b933f53f 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_inline_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_inline_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index f097a671a..44b500335 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 470247afe..af1eee540 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 07d300256..aa82eaf0a 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c_and_inline_assembly.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c_and_inline_assembly.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c_and_inline_assembly.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index f097a671a..44b500335 100644
--- a/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c_and_inline_assembly.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index ad5a04c6d..2f030d506 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index ff7cb7b0a..91de8c4be 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 3b97527cf..15d7f2928 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 4d66e3efd..80e4f8495 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
index d8dc86470..5b56feee0 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 3b97527cf..15d7f2928 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index bc751b209..bd228faf0 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 4f5ed1937..ced6aaca3 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index c8877cc8d..d6f49d8fb 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 776cb07a8..7cb61dad0 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index f3533d461..38b729340 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index c8877cc8d..d6f49d8fb 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index dc2868738..49bdd4fd7 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 4e8c61b62..216ed7723 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 88b0a1b47..44b500335 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 00861dafd..5a226f66e 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 4fe320cd9..48fc69d83 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=pru_add_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=pru_add_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=pru_add_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=pru_add_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=pru_add_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=pru_add_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=pru_add_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 88b0a1b47..44b500335 100644
--- a/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/pru_add_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 11a71c7a7..d096dc432 100644
--- a/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 274a38df5..3098499ca 100644
--- a/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=gpio_toggle.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=gpio_toggle.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=gpio_toggle.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=gpio_toggle.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=gpio_toggle.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=gpio_toggle.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=gpio_toggle.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=gpio_toggle.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 452b2dafd..15d7f2928 100644
--- a/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/gpio_toggle.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/gpio_toggle.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index c7c91e09d..687901129 100644
--- a/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index d873e1eaa..c0c4eacc0 100644
--- a/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=gpio_toggle.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=gpio_toggle.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=gpio_toggle.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=gpio_toggle.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=gpio_toggle.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=gpio_toggle.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=gpio_toggle.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=gpio_toggle.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index bbc6e4799..d6f49d8fb 100644
--- a/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/gpio_toggle.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/gpio_toggle.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index a6e21fe99..bf2f99c43 100644
--- a/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index eadcdca52..70d45c47e 100644
--- a/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=gpio_toggle.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=gpio_toggle.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=gpio_toggle.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=gpio_toggle.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=gpio_toggle.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=gpio_toggle.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=gpio_toggle.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=gpio_toggle.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 9b22b4631..44b500335 100644
--- a/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/gpio_toggle.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/gpio_toggle.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index ccb8b505b..0ad7b953f 100644
--- a/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 9357b5057..539a4efea 100644
--- a/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=intc_mcu.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=intc_mcu.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=intc_mcu.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=intc_mcu.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=intc_mcu.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=intc_mcu.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=intc_mcu.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index ee3b800da..15d7f2928 100644
--- a/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 1ffc6d9d6..b9febe0c2 100644
--- a/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 4ef706164..88bd3ff6a 100644
--- a/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=intc_mcu.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=intc_mcu.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=intc_mcu.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=intc_mcu.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=intc_mcu.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=intc_mcu.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=intc_mcu.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 60598d522..d6f49d8fb 100644
--- a/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 366d2f87c..7dd7be533 100644
--- a/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index ee5d53e06..19fdc4694 100644
--- a/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=intc_mcu.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=intc_mcu.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=intc_mcu.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=intc_mcu.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=intc_mcu.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=intc_mcu.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=intc_mcu.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 60598d522..d6f49d8fb 100644
--- a/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 57aadbd19..be973dab6 100644
--- a/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index fd1aa581a..36fa702f2 100644
--- a/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=intc_mcu.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=intc_mcu.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=intc_mcu.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=intc_mcu.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=intc_mcu.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=intc_mcu.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=intc_mcu.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 0bf502ba5..44b500335 100644
--- a/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 488f95fce..0392dfca4 100644
--- a/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 5a21545f4..6d7818518 100644
--- a/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=intc_mcu.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=intc_mcu.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=intc_mcu.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=intc_mcu.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=intc_mcu.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=intc_mcu.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=intc_mcu.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 0bf502ba5..44b500335 100644
--- a/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/intc_mcu.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/docs/release_notes.md b/docs/release_notes.md
index fd865dfff..a4b18ff4b 100644
--- a/docs/release_notes.md
+++ b/docs/release_notes.md
@@ -9,8 +9,9 @@
[Checking out a specific release](#checking-out-a-specific-release)
[Compatible versions of CCS & other tools](#compatible-versions-of-ccs--other-tools)
[All Release Notes](#all-release-notes)
-[v2026.01.00](#v20260100)
-[v2026.00.00](#v20260000)
+[v2026.02.00](#v20260200),
+[v2026.01.00](#v20260100),
+[v2026.00.00](#v20260000),
[v2025.00.00](#v20250000)
The open-pru repo does not have official software releases like the TI SDKs.
@@ -18,6 +19,9 @@ The open-pru repo does not have official software releases like the TI SDKs.
Instead, we will regularly update the open-pru repo. When the repo has
been significantly changed, we will add a new tag to the main branch.
+Starting with v2026.02.00, academy links are in the top-level README.md instead
+of specific release notes.
+
## Checking out a specific release
To base your development on a specific tag (instead of the tip of the main
@@ -40,6 +44,52 @@ repo is checked out to the specific release tag that you are using.
## All Release Notes
+### v2026.02.00
+
+#### Major Updates
+
+* AM26x: add support for MCU+ SDK 11.0 - 26.0 [1]
+ * am261x, am263px, and am263x FreeRTOS projects build with MCU+ SDK
+ 11.0, 11.1, and 26.0
+ * Update AM26x CCS project files for MCU+ SDK 11.0+
+
+* GitHub CI: test latest MCU+ SDK releases
+ * am261x, am263px, am263x: MCU+ SDK 26.0
+ * am243x, am64x: MCU+ SDK 12.0
+
+* rpmsg: add GCC (Linux/A53) build support
+ * New rpmsg example built with the GCC toolchain
+
+#### Supported Processors
+
+AM243x, AM261x, AM263Px, AM263x, AM62x, AM64x
+
+#### Compatible SDKs
+
+These SDK release versions can be used to build OpenPRU projects with a specific
+tag. The OpenPRU projects may require modifications before they can be built
+with older SDK versions. For more information, refer to
+[Using Older SDKs with OpenPRU](./using_older_sdks_with_open_pru.md).
+
+| SDK | am243x | am261x | am263px | am263x | am62x | am64x |
+| --------- | ----------- | ----------- | ----------- | ----------- | ---------- | ----------- |
+| MCU+ SDK | 11.1 - 12.0 | 11.0 - 26.0 | 11.0 - 26.0 | 11.0 - 26.0 | N/A | 11.1 - 12.0 |
+| Linux SDK | N/A | N/A | N/A | N/A | 11.x, 12.x | 11.x, 12.x |
+
+#### Additional Updates & bugfixes
+
+* docs: document PRU assembly `.include` separator conventions; add PR
+ compliance check for include separators
+
+* rpmsg (GCC): fix integer cast of pointer; fix compiler warning; add missing
+ header
+
+[1]
+* Adding support for AM26x MCU+ SDK 11.0 breaks backwards compatibility with
+ AM26x MCU+ SDK 10.2. For more information on building an OpenPRU project with
+ an older version of MCU+ SDK, refer to
+ [Using Older SDKs with OpenPRU](./using_older_sdks_with_open_pru.md)
+
### v2026.01.00
#### Major Updates
diff --git a/docs/using_older_sdks_with_open_pru.md b/docs/using_older_sdks_with_open_pru.md
index f3b6dfbb8..5643cec7e 100644
--- a/docs/using_older_sdks_with_open_pru.md
+++ b/docs/using_older_sdks_with_open_pru.md
@@ -25,7 +25,7 @@ number to represent each kind of modification.
| AM243X SDK | Mandatory modifications | Optional modifications |
| --------------- | ----------------------- | ---------------------- |
| MCU+ 8.6 - 9.2 | [1] [2] | [4] |
- | MCU+ 10.0 | [1], either [2] or [7] | [4] |
+ | MCU+ 10.0 | [1]; either [2] or [7] | [4] |
| MCU+ 10.1-11.0 | Either [2] or [7] | |
@@ -35,27 +35,30 @@ number to represent each kind of modification.
| AM261x SDK | Mandatory modifications | Optional modifications |
| --------------- | ----------------------- | ---------------------- |
- | MCU+ SDK 10.0.1 | Either [2] or [3] | |
+ | MCU+ SDK 10.0.1 | Either [2] or [3]; [8] | |
+ | MCU+ SDK 10.2 | [8] | |
AM263Px
- | AM263Px SDK | Mandatory modifications | Optional modifications |
- | ------------- | ----------------------- | ---------------------- |
- | MCU+ SDK 10.0 | [1]. Either [2] or [3] | [4] |
- | MCU+ SDK 10.1 | Either [2] or [3] | |
+ | AM263Px SDK | Mandatory modifications | Optional modifications |
+ | ------------- | ---------------------------- | ---------------------- |
+ | MCU+ SDK 10.0 | [1]; Either [2] or [3]; [8] | [4] |
+ | MCU+ SDK 10.1 | Either [2] or [3]; [8] | |
+ | MCU+ SDK 10.2 | [8] | |
AM263x
- | AM263x SDK | Mandatory modifications | Optional modifications |
- | --------------- | ------------------------ | ---------------------- |
- | MCU+ 9.2 | [1]. Either [2] or [3] | [4] |
- | MCU+ 10.0, 10.1 | Either [2] or [3] | |
+ | AM263x SDK | Mandatory modifications | Optional modifications |
+ | --------------- | ----------------------------- | ---------------------- |
+ | MCU+ 9.2 | [1]; Either [2] or [3]; [8] | [4] |
+ | MCU+ 10.0, 10.1 | Either [2] or [3]; [8] | |
+ | MCU+ 10.2 | [8] | |
@@ -96,6 +99,8 @@ number to represent each kind of modification.
[7. Revert MCU+ SDK 11.1 makefile updates](#7-revert-mcu-sdk-11-1-makefile-updates). Affects: AM243x & AM64x MCU+ cores
+[8. Revert AM26x MCU+ SDK 11.0 makefile updates](#8-revert-am26x-mcu-sdk-110-makefile-updates). Affects: AM26x MCU+ cores
+
## 1. Update SysConfig version
Affects: PRU code
@@ -202,3 +207,19 @@ adding XML build infrastructure, and several other miscellaneous changes.
In order to undo these changes, revert the file changes that were done in
OpenPRU commit
[AM243x & AM64x: Add support for MCU+ SDK 11.1&11.2](https://github.com/TexasInstruments/open-pru/commit/a29c10dbb4348065d13ba91af515e64e517e11a5)
+
+## 8. Revert AM26x MCU+ SDK 11.0 makefile updates
+
+Affects: AM26x MCU+ cores (AM261x, AM263Px, AM263x)
+
+Starting in AM26x MCU+ SDK 11.0, the makefile infrastructure for MCU+ cores
+is updated. Changes include adding the `-DOS_FREERTOS` define, renaming
+libraries to include a `.freertos.` infix, adding XML build infrastructure,
+updating the boot image format from appimage to MulticoreELF (MCELF), and
+several other miscellaneous changes.
+
+In order to undo these changes, revert the file changes that were done in
+OpenPRU commit
+[AM26x: Add support for MCU+ SDK 11.0](https://github.com/TexasInstruments/open-pru/commit/402bcbbfc0b699a5ebdee3a8dedefb565fa13056)
+and
+[AM26x: Update CCS project files for MCU+ SDK 11.0+](https://github.com/TexasInstruments/open-pru/commit/b12ce335e1bfc4f82cc21b6892d3feecdd29d990).
diff --git a/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 18d51e3d4..72cc34d77 100644
--- a/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index fb7218972..e46cb47ac 100644
--- a/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 8902c03af..15d7f2928 100644
--- a/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 09c32ae9e..f88cbcfef 100644
--- a/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
index 729ff3abb..b6a3b19c8 100644
--- a/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 8902c03af..15d7f2928 100644
--- a/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 330027040..2e936c549 100644
--- a/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index e7fa7f3ba..10fb1b3e7 100644
--- a/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index f7e5254f8..d6f49d8fb 100644
--- a/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index dc1d2050c..91bbe902d 100644
--- a/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index b8e4bb75e..a36bb4b42 100644
--- a/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index f7e5254f8..d6f49d8fb 100644
--- a/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 5e73623fa..98045562a 100644
--- a/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index f892c4ac4..1fd24cedb 100644
--- a/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index dd481b30f..44b500335 100644
--- a/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index bb9439075..bcfb31858 100644
--- a/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 3104d8c8a..10d4f2be1 100644
--- a/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index dd481b30f..44b500335 100644
--- a/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 22e2a8467..df0005d39 100644
--- a/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index ebb1f9ebb..f15ab903f 100644
--- a/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 8902c03af..15d7f2928 100644
--- a/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index bd52d9909..d04657884 100644
--- a/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM261X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am261x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am261x.r5f.ti-arm-clang.debug.lib
- -lboard.am261x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am261x.r5f.ti-arm-clang.release.lib
- -ldrivers.am261x.r5f.ti-arm-clang.release.lib
- -lboard.am261x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am261x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
index 0c87dfbeb..69c31cb2f 100644
--- a/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM261X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am261x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am261x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am261x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am261x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index 8902c03af..15d7f2928 100644
--- a/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am261x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 4e09c7ebb..4adce65b9 100644
--- a/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 9014c9258..de637662e 100644
--- a/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index f7e5254f8..d6f49d8fb 100644
--- a/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index aaa21cdf4..614f0c263 100644
--- a/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263PX
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263px"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263px.r5f.ti-arm-clang.debug.lib
- -lboard.am263px.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263px.r5f.ti-arm-clang.release.lib
- -ldrivers.am263px.r5f.ti-arm-clang.release.lib
- -lboard.am263px.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263px.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 254c3d665..0b9d0dfc5 100644
--- a/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263PX \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263px.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263px.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263px:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263px:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index f7e5254f8..d6f49d8fb 100644
--- a/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263px:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index 7bc3aa1b8..3877f416f 100644
--- a/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
index 7224f54c5..2906c9e48 100644
--- a/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index dd481b30f..44b500335 100644
--- a/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec b/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
index ea9bcbceb..f9560f5cf 100644
--- a/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
+++ b/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec
@@ -48,6 +48,7 @@
-Wno-gnu-variable-sized-type-not-at-end
-Wno-unused-function
-DSOC_AM263X
+ -DOS_FREERTOS
"
linkerBuildOptions="
-i${MCU_PLUS_SDK_PATH}/source/kernel/freertos/lib
@@ -59,6 +60,7 @@
--diag_suppress=10063
--ram_model
--reread_libs
+ --gen_xml_func_hash
"
postBuildStep="$(MAKE) -C ${CCS_PROJECT_DIR} -f makefile_ccs_bootimage_gen OUTNAME=${BuildArtifactFileBaseName} PROFILE=${ConfigName} MCU_PLUS_SDK_PATH=${MCU_PLUS_SDK_PATH} OPEN_PRU_PATH=${OPEN_PRU_PATH} CG_TOOL_ROOT=${CG_TOOL_ROOT} CCS_INSTALL_DIR=${CCS_INSTALL_DIR} CCS_IDE_MODE=${CCS_IDE_MODE} DEVICE=am263x"
@@ -81,8 +83,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.debug.lib
- -ldrivers.am263x.r5f.ti-arm-clang.debug.lib
- -lboard.am263x.r5f.ti-arm-clang.debug.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.debug.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.debug.lib
-llibc.a
-llibsysbm.a
"
@@ -93,8 +95,8 @@
"
linkerBuildOptions="
-lfreertos.am263x.r5f.ti-arm-clang.release.lib
- -ldrivers.am263x.r5f.ti-arm-clang.release.lib
- -lboard.am263x.r5f.ti-arm-clang.release.lib
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.release.lib
+ -lboard.am263x.r5f.ti-arm-clang.freertos.release.lib
-llibc.a
-llibsysbm.a
"
diff --git a/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile b/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
index 44d70d4dd..42275b8d2 100644
--- a/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
+++ b/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile
@@ -28,6 +28,7 @@ ConfigName:=$(PROFILE)
OUTNAME:=empty_c.$(PROFILE).out
BOOTIMAGE_PATH=$(abspath .)
+oeconfig?=None
BOOTIMAGE_NAME:=empty_c.$(PROFILE).appimage
BOOTIMAGE_NAME_XIP:=empty_c.$(PROFILE).appimage_xip
BOOTIMAGE_NAME_SIGNED:=empty_c.$(PROFILE).appimage.signed
@@ -38,10 +39,10 @@ BOOTIMAGE_RPRC_NAME_XIP:=empty_c.$(PROFILE).rprc_xip
BOOTIMAGE_RPRC_NAME_TMP:=empty_c.$(PROFILE).rprc_tmp
BOOTIMAGE_NAME_HS:=empty_c.$(PROFILE).appimage.hs
BOOTIMAGE_NAME_HS_FS:=empty_c.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
+TARGETS := $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
FILES_common := \
@@ -73,6 +74,7 @@ INCLUDES_common := \
DEFINES_common := \
-DSOC_AM263X \
+ -DOS_FREERTOS \
CFLAGS_common := \
-mcpu=cortex-r5 \
@@ -116,8 +118,8 @@ LIBS_PATH_common = \
LIBS_common = \
-lfreertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -ldrivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- -lboard.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ -ldrivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ -lboard.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
-llibc.a \
-llibsysbm.a \
@@ -125,12 +127,13 @@ LFLAGS_common = \
-Wl,--diag_suppress=10063 \
-Wl,--ram_model \
-Wl,--reread_libs \
+ -Wl,--gen_xml_func_hash \
LIBS_NAME = \
freertos.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- drivers.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
- board.am263x.r5f.ti-arm-clang.${ConfigName}.lib \
+ drivers.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
+ board.am263x.r5f.ti-arm-clang.freertos.${ConfigName}.lib \
libc.a \
libsysbm.a \
@@ -173,7 +176,7 @@ $(OBJDIR)/%.obj %.obj: %.c
$(OBJDIR)/%.obj %.obj: %.S
@echo Compiling: am263x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
- $(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
+ $(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -o $(OBJDIR)/$@ $<
all: $(TARGETS)
@@ -195,7 +198,7 @@ endif
$(OUTNAME): $(SYSTEM_COMMAND)
@echo .
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ ...
- $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
+ $(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES) -Wl,--xml_link_info=$(basename $@).lnkxml
@echo Linking: am263x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
@echo .
@@ -221,6 +224,7 @@ ifeq ($(OS),Windows_NT)
$(RM) \*.rprc*
$(RM) \*.tiimage*
$(RM) \*.bin
+ $(RM) \*.lnkxml
$(RM) \*.mcelf
$(RM) \*.mcelf_xip
$(RM) \*.mcelf-enc
@@ -232,6 +236,7 @@ else
$(RM) *.rprc*
$(RM) *.tiimage*
$(RM) *.bin
+ $(RM) *.lnkxml
$(RM) *.mcelf
$(RM) *.mcelf_xip
$(RM) *.mcelf-enc
@@ -280,8 +285,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(SYSCFG_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -302,54 +305,34 @@ MULTI_CORE_IMAGE_PARAMS = \
MULTI_CORE_IMAGE_PARAMS_XIP = \
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
-$(BOOTIMAGE_NAME): $(OUTNAME)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
-ifneq ($(OS),Windows_NT)
- $(CHMOD) a+x $(XIPGEN_CMD)
-endif
- $(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
+$(BOOTIMAGE_NAME_MCELF): $(OUTNAME)
@echo Boot MulticoreELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) ...
- $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE)
+ $(PYTHON) $(MCELF_IMAGE_GEN) --core-img=$(BOOTIMAGE_CORE_ID_r5fss0-0):$(OUTNAME) --output=$(BOOTIMAGE_NAME_MCELF) --merge-segments=$(MCELF_MERGE_SEGMENTS_FLAG) --tolerance-limit=$(MCELF_MERGE_SEGMENTS_TOLERANCE_LIMIT) --ignore-context=$(MCELF_IGNORE_CONTEXT_FLAG) --xip=$(MCELF_XIP_RANGE) --xlat=$(MCELF_ADDR_TRANSLATION_PATH) --max-segment-size=$(MCELF_MAX_SEGMENT_SIZE) --otfaConfigFile=$(oeconfig)
@echo Boot MulticoreELF ELF image: $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
-$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
+$(BOOTIMAGE_NAME_MCELF_HS): $(BOOTIMAGE_NAME_MCELF)
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSAPSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen b/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
index dd481b30f..44b500335 100644
--- a/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
+++ b/examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen
@@ -25,21 +25,12 @@ endif
OUTFILE=$(PROFILE)/$(OUTNAME).out
BOOTIMAGE_PATH=$(abspath ${PROFILE})
-BOOTIMAGE_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage
-BOOTIMAGE_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage_xip
-BOOTIMAGE_NAME_SIGNED:=$(BOOTIMAGE_PATH)/$(OUTNAME).appimage.signed
-BOOTIMAGE_RPRC_NAME:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc
-BOOTIMAGE_RPRC_NAME_XIP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_xip
-BOOTIMAGE_RPRC_NAME_TMP:=$(BOOTIMAGE_PATH)/$(OUTNAME).rprc_tmp
BOOTIMAGE_NAME_MCELF:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf
BOOTIMAGE_NAME_MCELF_HS:=$(BOOTIMAGE_PATH)/$(OUTNAME).mcelf.hs
-BOOTIMAGE_NAME_HS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs
-BOOTIMAGE_NAME_HS_FS:=$(BOOTIMAGE_PATH)/empty.$(PROFILE).appimage.hs_fs
-TARGETS := $(BOOTIMAGE_NAME)
TARGETS += $(BOOTIMAGE_NAME_MCELF)
TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
ifeq ($(DEVICE_TYPE), HS)
- TARGETS += $(BOOTIMAGE_NAME_HS)
+ TARGETS += $(BOOTIMAGE_NAME_MCELF_HS)
endif
#
@@ -62,8 +53,6 @@ BOOTIMAGE_CORE_ID_r5fss1-1 = 3
SBL_RUN_ADDRESS=0x70002000
SBL_DEV_ID=55
-MULTI_CORE_IMAGE_GEN = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/multicoreImageGen/multicoreImageGen.js
-OUTRPRC_CMD = $(CCS_NODE) $(MCU_PLUS_SDK_PATH)/tools/boot/out2rprc/elf2rprc.js
APP_IMAGE_SIGN_CMD = $(MCU_PLUS_SDK_PATH)/source/security/security_common/tools/boot/signing/mcu_appimage_x509_cert_gen.py
MCELF_IMAGE_GEN = $(MCU_PLUS_SDK_PATH)/tools/boot/multicore-elf/genimage.py
@@ -88,15 +77,6 @@ all:
ifeq ($(CCS_IDE_MODE),cloud)
# No post build steps
else
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) ...
- $(OUTRPRC_CMD) $(OUTFILE) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(COPY) $(OUTNAME).rprc $(BOOTIMAGE_RPRC_NAME)
- $(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
- $(RM) $(BOOTIMAGE_RPRC_NAME)
- $(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
- $(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
@echo Boot multi-core ELF image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME_MCELF) ...
@@ -105,36 +85,27 @@ else
@echo Boot multi-core ELF image: $(BOOTIMAGE_NAME_MCELF) Done !!!
@echo .
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_NAME) Done !!!
- @echo .
ifeq ($(DEVICE_TYPE), HS)
# Sign the appimage using appimage signing script
ifeq ($(ENC_ENABLED),no)
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is disabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
else
@echo Boot image signing: Encryption is disabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
endif
else
ifeq ($(RSASSAPSS_ENABLED),no)
@echo Boot image signing: Encryption is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_HS)
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --output $(BOOTIMAGE_NAME_MCELF_HS)
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
else
@echo Boot image signing: Encryption is enabled. RSASSA-PSS is enabled.
- $(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_HS) --rsassa_pss
- $(RM) $(BOOTIMAGE_NAME)-enc
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME_MCELF) --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --kd-salt $(KD_SALT) --sign_key_id $(APP_SIGNING_KEY_KEYRING_ID) --enc_key_id $(APP_ENCRYPTION_KEY_KEYRING_ID) --hash_algo $(APP_SIGNING_HASH_ALGO) --pss_saltlen $(APP_SIGNING_SALT_LENGTH) --output $(BOOTIMAGE_NAME_MCELF_HS) --rsassa_pss
$(RM) $(BOOTIMAGE_NAME_MCELF)-enc
endif
endif
- @echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
@echo Boot image: am263x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_MCELF_HS) Done !!!
@echo .
endif
diff --git a/source/firmware/pru_load_bin_copyright.h b/source/firmware/pru_load_bin_copyright.h
index 56b9a5c94..bad772bdb 100644
--- a/source/firmware/pru_load_bin_copyright.h
+++ b/source/firmware/pru_load_bin_copyright.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2025 Texas Instruments Incorporated
+ * Copyright (C) 2026 Texas Instruments Incorporated
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions