Skip to content

Fix issue #111: AM26x academy examples fail to build with MCU+ SDK 11.x#143

Closed
pratheesh wants to merge 8 commits into
TexasInstruments:mainfrom
pratheesh:fix/issue-111-mcuplus-sdk11-build
Closed

Fix issue #111: AM26x academy examples fail to build with MCU+ SDK 11.x#143
pratheesh wants to merge 8 commits into
TexasInstruments:mainfrom
pratheesh:fix/issue-111-mcuplus-sdk11-build

Conversation

@pratheesh

Copy link
Copy Markdown
Contributor

Closes #111.

Problem

MCU+ SDK 11.0/11.1 split the drivers and board libraries by OS variant, so the archive names are now OS-qualified (e.g. drivers.<soc>.r5f.ti-arm-clang.freertos.${ConfigName}.lib) and the build must define OS_FREERTOS. The am243x/am64x academy examples were already updated to the new convention, but the am261x, am263x and am263px FreeRTOS examples still reference the old un-qualified archives, so they fail to link against SDK 11.x (and v2025.00.00).

Fix

Bring all remaining r5f FreeRTOS academy examples in line with the existing am243x reference:

  • makefile: drivers/board libs → *.ti-arm-clang.freertos.${ConfigName}.lib in both LIBS_common and LIBS_NAME
  • example.projectspec: add -DOS_FREERTOS alongside the -DSOC_* define

Applied uniformly across:

  • getting_started_labs (assembly_code, c_code, c_and_assembly, c_and_inline_assembly)
  • gpio/gpio_toggle
  • intc/intc_mcu

for am261x-lp, am261x-som, am263x-lp, am263x-cc, am263px-lp, am263px-cc.

64 files changed (32 makefiles + 32 projectspecs). nortos examples are unaffected.

Notes / verification

  • Changes mirror the already-correct am243x-evm FreeRTOS examples line-for-line.
  • I was not able to build-test locally (no MCU+ SDK 11.x install on hand) — would appreciate a CI/maintainer build check across the AM26x boards.

@qodo-code-review

qodo-code-review Bot commented Jun 14, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (1) 📎 Requirement gaps (1) 📜 Skill insights (0)

Context used

Grey Divider


Action required

1. Long sdk_url lines (makefile.yml) 📘 Rule violation ⚙ Maintainability ⭐ New
Description
The workflows add sdk_url lines that exceed the hard 129-character repository line-length limit,
reducing readability and creating avoidable formatting noncompliance in CI configuration. This
violates the stated line-length constraint for hand-written config files.
Code

.github/workflows/makefile.yml[R33-41]

+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/11.01.00.19/mcu_plus_sdk_am261x_11_01_00_19-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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am263px_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/11.01.00.19/mcu_plus_sdk_am263px_11_01_00_19-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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/11.01.00.19/mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
Evidence
PR Compliance ID 21 sets/enforces a hard maximum line length of 129 characters for hand-written
source/config files, and the added/updated sdk_url: entries in both
.github/workflows/makefile.yml and .github/workflows/ccs_build.yml are long unwrapped URLs that
exceed this limit.

.github/workflows/makefile.yml[33-41]
.github/workflows/ccs_build.yml[166-174]
Best Practice: Repository guidelines

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The workflow files contain newly-added/updated `sdk_url` entries whose unwrapped URL values exceed the repository’s hard 129 character line-length limit.

## Issue Context
The repository enforces a hard 129-char limit for hand-written source/config files; these long URLs can be wrapped using YAML folded/scalar syntax (for example `sdk_url: >-` with the URL on the next indented line) or refactored by introducing a shared base URL variable.

## Fix Focus Areas
- .github/workflows/makefile.yml[33-41]
- .github/workflows/ccs_build.yml[166-174]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. CI tests only SDK 11.1 📎 Requirement gap ☼ Reliability
Description
The CI matrix for AM26x devices is pinned to MCU+ SDK 11_01_00_19 only, so there is no build
verification coverage for SDK 11.0 as required. This fails the requirement to verify and record
build status for both SDK 11.0 and 11.1 across AM261x/AM263x/AM263Px.
Code

.github/workflows/makefile.yml[R30-41]

        - 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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am261x_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/11.01.00.19/mcu_plus_sdk_am261x_11_01_00_19-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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am263px_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/11.01.00.19/mcu_plus_sdk_am263px_11_01_00_19-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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/11.01.00.19/mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
Evidence
PR Compliance ID 1 requires build verification for AM261x/AM263x/AM263Px on both MCU+ SDK 11.0 and
11.1 with results recorded. The updated CI matrices show AM261x/AM263x/AM263Px set to
mcu_plus_sdk_*_11_01_00_19 only, with no SDK 11.0 entry, so the required 11.0 verification is not
covered.

Verify AM26x (AM261x/AM263x/AM263Px) MCU+ SDK 11.0 & 11.1 build failure status with OpenPRU v2025.00.00
.github/workflows/makefile.yml[30-41]
.github/workflows/ccs_build.yml[163-174]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The compliance checklist requires build verification for AM261x/AM263x/AM263Px on MCU+ SDK 11.0 and 11.1, but the CI matrices only include SDK 11.1 (`11_01_00_19`).
## Issue Context
Current CI coverage does not demonstrate (or record) SDK 11.0 build status for AM26x, which is explicitly required.
## Fix Focus Areas
- .github/workflows/makefile.yml[30-41]
- .github/workflows/ccs_build.yml[163-174]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Debug libs still unqualified 🐞 Bug ≡ Correctness
Description
AM26x FreeRTOS example.projectspec files update Release to link
drivers.*.freertos.*/board.*.freertos.* archives, but Debug still links the old unqualified
drivers.*.debug.lib/board.*.debug.lib. When building against MCU+ SDK 11.x (where the
OS-qualified naming is required, as already assumed by Release), CCS Debug builds will fail to
resolve these libraries or link the wrong variants.
Code

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[R94-99]

          "
          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
Evidence
The AM261x projectspec shows Debug still links unqualified drivers/board debug archives while
Release links *.freertos.release.lib. The AM243x reference demonstrates that Debug should also
link *.freertos.debug.lib, and AM263x shows the same incomplete update pattern across AM26x
devices.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-100]
academy/getting_started_labs/assembly_code/solution/mcuplus/am243x-evm/r5fss0-0_freertos/ti-arm-clang/example.projectspec[84-93]
academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-88]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
AM26x FreeRTOS CCS project specs were only partially updated: Release links OS-qualified `drivers.<soc>...freertos...` and `board.<soc>...freertos...` archives, but Debug still links the pre-SDK-11 unqualified archives.
## Issue Context
The AM243x FreeRTOS projectspec shows that *both* Debug and Release should use `*.freertos.<config>.lib` for `drivers` and `board`.
## Fix
For **all AM26x FreeRTOS** `ti-arm-clang/example.projectspec` files updated in this PR, change the **Debug** `linkerBuildOptions` entries:
- `-ldrivers.<soc>.r5f.ti-arm-clang.debug.lib` -> `-ldrivers.<soc>.r5f.ti-arm-clang.freertos.debug.lib`
- `-lboard.<soc>.r5f.ti-arm-clang.debug.lib` -> `-lboard.<soc>.r5f.ti-arm-clang.freertos.debug.lib`
(Leave `-lfreertos...debug.lib` as-is unless the SDK also OS-qualifies it.)
## Fix Focus Areas
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

4. Stale RPRC not cleaned 🐞 Bug ☼ Reliability ⭐ New
Description
In AM26x FreeRTOS ti-arm-clang makefiles, BOOTIMAGE_RPRC_NAME is still defined but the clean
target no longer deletes it. This can leave a stale .rprc file from previous builds/branches in
the build directory, making it easy to confuse old artifacts with current outputs during manual
debugging/flash workflows.
Code

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[R207-212]

	$(RM) $(BOOTIMAGE_NAME)
	$(RM) $(BOOTIMAGE_NAME_XIP)
	$(RM) $(BOOTIMAGE_NAME_SIGNED)
-	$(RM) $(BOOTIMAGE_RPRC_NAME)
	$(RM) $(BOOTIMAGE_RPRC_NAME_XIP)
	$(RM) $(BOOTIMAGE_NAME_MCELF)
	$(RMDIR) generated/
Evidence
The makefile still declares an .rprc output name, but clean removes .out, .appimage*,
.rprc_xip, and .mcelf without removing $(BOOTIMAGE_RPRC_NAME), leaving that artifact behind if
it exists from prior builds.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[30-38]
academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[203-212]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
AM26x FreeRTOS ti-arm-clang makefiles still define `BOOTIMAGE_RPRC_NAME`, but `make clean` no longer removes the corresponding `.rprc` file. This leaves stale build outputs behind.

## Issue Context
The PR removed `$(RM) $(BOOTIMAGE_RPRC_NAME)` from the `clean` target while keeping `BOOTIMAGE_RPRC_NAME:=...rprc` defined.

## Fix Focus Areas
- Add back removal in clean for all affected AM26x FreeRTOS ti-arm-clang makefiles (or, alternatively, delete the unused `BOOTIMAGE_RPRC_NAME` variable if `.rprc` is no longer a supported output for these targets).

### Files/lines to update
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[203-212]

(Apply the same change to the analogous AM261x/AM263x/AM263px FreeRTOS `ti-arm-clang/makefile` files touched by this PR.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


5. Makefile missing OS define ✓ Resolved 🐞 Bug ≡ Correctness
Description
AM26x FreeRTOS makefiles now link the OS-qualified drivers.*.freertos.*/board.*.freertos.*
archives, but they still omit -DOS_FREERTOS in DEFINES_common, unlike the existing AM243x
FreeRTOS makefiles. This creates a CCS-vs-make build configuration mismatch and can change
conditional compilation behavior for any code/config that depends on OS_FREERTOS.
Code

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[R118-120]

-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 \
Evidence
The updated AM26x makefiles clearly target the FreeRTOS-specific drivers/board archives, but they
don’t define OS_FREERTOS, while the known-good AM243x FreeRTOS makefiles do. The PR also adds
-DOS_FREERTOS to the AM26x CCS projectspecs, proving the intended configuration and highlighting
the make-vs-CCS mismatch.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[117-123]
academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[48-53]
academy/getting_started_labs/c_code/solution/mcuplus/am243x-evm/r5fss0-0_freertos/ti-arm-clang/makefile[70-73]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
AM26x FreeRTOS examples were updated to link OS-qualified `drivers.*.freertos.*` and `board.*.freertos.*` libraries, but the corresponding `ti-arm-clang/makefile` files still don’t define `-DOS_FREERTOS` in `DEFINES_common`. This makes `make` builds diverge from CCS builds (which now define `OS_FREERTOS` via `example.projectspec`) and diverges from the already-working AM243x FreeRTOS pattern.
## Issue Context
The repo’s AM243x FreeRTOS academy makefiles include `-DOS_FREERTOS` in `DEFINES_common`. The updated AM26x projectspecs also include `-DOS_FREERTOS`, but the AM26x makefiles do not.
## Fix Focus Areas
- academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
- academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
(Apply the same `-DOS_FREERTOS` addition to **all** AM26x `r5fss0-0_freertos/ti-arm-clang/makefile` files touched by this PR.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Previous review results

Review updated until commit c037f86

Results up to commit 6546ede


🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (1)

Context used

Action required
1. CI tests only SDK 11.1 📎 Requirement gap ☼ Reliability ⭐ New
Description
The CI matrix for AM26x devices is pinned to MCU+ SDK 11_01_00_19 only, so there is no build
verification coverage for SDK 11.0 as required. This fails the requirement to verify and record
build status for both SDK 11.0 and 11.1 across AM261x/AM263x/AM263Px.
Code

.github/workflows/makefile.yml[R30-41]

          - 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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am261x_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/11.01.00.19/mcu_plus_sdk_am261x_11_01_00_19-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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am263px_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/11.01.00.19/mcu_plus_sdk_am263px_11_01_00_19-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_11_01_00_19
+            sdk_installer: mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
+            sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/11.01.00.19/mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
Evidence
PR Compliance ID 1 requires build verification for AM261x/AM263x/AM263Px on both MCU+ SDK 11.0 and
11.1 with results recorded. The updated CI matrices show AM261x/AM263x/AM263Px set to
mcu_plus_sdk_*_11_01_00_19 only, with no SDK 11.0 entry, so the required 11.0 verification is not
covered.

Verify AM26x (AM261x/AM263x/AM263Px) MCU+ SDK 11.0 & 11.1 build failure status with OpenPRU v2025.00.00
.github/workflows/makefile.yml[30-41]
.github/workflows/ccs_build.yml[163-174]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The compliance checklist requires build verification for AM261x/AM263x/AM263Px on MCU+ SDK 11.0 and 11.1, but the CI matrices only include SDK 11.1 (`11_01_00_19`).

## Issue Context
Current CI coverage does not demonstrate (or record) SDK 11.0 build status for AM26x, which is explicitly required.

## Fix Focus Areas
- .github/workflows/makefile.yml[30-41]
- .github/workflows/ccs_build.yml[163-174]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Debug libs still unqualified 🐞 Bug ≡ Correctness ⭐ New
Description
AM26x FreeRTOS example.projectspec files update Release to link
drivers.*.freertos.*/board.*.freertos.* archives, but Debug still links the old unqualified
drivers.*.debug.lib/board.*.debug.lib. When building against MCU+ SDK 11.x (where the
OS-qualified naming is required, as already assumed by Release), CCS Debug builds will fail to
resolve these libraries or link the wrong variants.
Code

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[R94-99]

            "
            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
Evidence
The AM261x projectspec shows Debug still links unqualified drivers/board debug archives while
Release links *.freertos.release.lib. The AM243x reference demonstrates that Debug should also
link *.freertos.debug.lib, and AM263x shows the same incomplete update pattern across AM26x
devices.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-100]
academy/getting_started_labs/assembly_code/solution/mcuplus/am243x-evm/r5fss0-0_freertos/ti-arm-clang/example.projectspec[84-93]
academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-88]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
AM26x FreeRTOS CCS project specs were only partially updated: Release links OS-qualified `drivers.<soc>...freertos...` and `board.<soc>...freertos...` archives, but Debug still links the pre-SDK-11 unqualified archives.

## Issue Context
The AM243x FreeRTOS projectspec shows that *both* Debug and Release should use `*.freertos.<config>.lib` for `drivers` and `board`.

## Fix
For **all AM26x FreeRTOS** `ti-arm-clang/example.projectspec` files updated in this PR, change the **Debug** `linkerBuildOptions` entries:
- `-ldrivers.<soc>.r5f.ti-arm-clang.debug.lib` -> `-ldrivers.<soc>.r5f.ti-arm-clang.freertos.debug.lib`
- `-lboard.<soc>.r5f.ti-arm-clang.debug.lib` -> `-lboard.<soc>.r5f.ti-arm-clang.freertos.debug.lib`

(Leave `-lfreertos...debug.lib` as-is unless the SDK also OS-qualifies it.)

## Fix Focus Areas
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended
3. Makefile missing OS define ✓ Resolved 🐞 Bug ≡ Correctness
Description
AM26x FreeRTOS makefiles now link the OS-qualified drivers.*.freertos.*/board.*.freertos.*
archives, but they still omit -DOS_FREERTOS in DEFINES_common, unlike the existing AM243x
FreeRTOS makefiles. This creates a CCS-vs-make build configuration mismatch and can change
conditional compilation behavior for any code/config that depends on OS_FREERTOS.
Code

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[R118-120]

-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 \
Evidence
The updated AM26x makefiles clearly target the FreeRTOS-specific drivers/board archives, but they
don’t define OS_FREERTOS, while the known-good AM243x FreeRTOS makefiles do. The PR also adds
-DOS_FREERTOS to the AM26x CCS projectspecs, proving the intended configuration and highlighting
the make-vs-CCS mismatch.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[117-123]
academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[48-53]
academy/getting_started_labs/c_code/solution/mcuplus/am243x-evm/r5fss0-0_freertos/ti-arm-clang/makefile[70-73]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
AM26x FreeRTOS examples were updated to link OS-qualified `drivers.*.freertos.*` and `board.*.freertos.*` libraries, but the corresponding `ti-arm-clang/makefile` files still don’t define `-DOS_FREERTOS` in `DEFINES_common`. This makes `make` builds diverge from CCS builds (which now define `OS_FREERTOS` via `example.projectspec`) and diverges from the already-working AM243x FreeRTOS pattern.
## Issue Context
The repo’s AM243x FreeRTOS academy makefiles include `-DOS_FREERTOS` in `DEFINES_common`. The updated AM26x projectspecs also include `-DOS_FREERTOS`, but the AM26x makefiles do not.
## Fix Focus Areas
- academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
- academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
(Apply the same `-DOS_FREERTOS` addition to **all** AM26x `r5fss0-0_freertos/ti-arm-clang/makefile` files touched by this PR.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Results up to commit N/A


🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0)


Remediation recommended
1. Makefile missing OS define ✓ Resolved 🐞 Bug ≡ Correctness
Description
AM26x FreeRTOS makefiles now link the OS-qualified drivers.*.freertos.*/board.*.freertos.*
archives, but they still omit -DOS_FREERTOS in DEFINES_common, unlike the existing AM243x
FreeRTOS makefiles. This creates a CCS-vs-make build configuration mismatch and can change
conditional compilation behavior for any code/config that depends on OS_FREERTOS.
Code

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[R118-120]

-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 \
Evidence
The updated AM26x makefiles clearly target the FreeRTOS-specific drivers/board archives, but they
don’t define OS_FREERTOS, while the known-good AM243x FreeRTOS makefiles do. The PR also adds
-DOS_FREERTOS to the AM26x CCS projectspecs, proving the intended configuration and highlighting
the make-vs-CCS mismatch.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[117-123]
academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[48-53]
academy/getting_started_labs/c_code/solution/mcuplus/am243x-evm/r5fss0-0_freertos/ti-arm-clang/makefile[70-73]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
AM26x FreeRTOS examples were updated to link OS-qualified `drivers.*.freertos.*` and `board.*.freertos.*` libraries, but the corresponding `ti-arm-clang/makefile` files still don’t define `-DOS_FREERTOS` in `DEFINES_common`. This makes `make` builds diverge from CCS builds (which now define `OS_FREERTOS` via `example.projectspec`) and diverges from the already-working AM243x FreeRTOS pattern.
## Issue Context
The repo’s AM243x FreeRTOS academy makefiles include `-DOS_FREERTOS` in `DEFINES_common`. The updated AM26x projectspecs also include `-DOS_FREERTOS`, but the AM26x makefiles do not.
## Fix Focus Areas
- academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
- academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[74-76]
(Apply the same `-DOS_FREERTOS` addition to **all** AM26x `r5fss0-0_freertos/ti-arm-clang/makefile` files touched by this PR.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Qodo Logo

@qodo-code-review

qodo-code-review Bot commented Jun 14, 2026

Copy link
Copy Markdown

PR Summary by Qodo

Fix AM26x FreeRTOS academy/examples build with MCU+ SDK 11.x

🐞 Bug fix ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Update AM26x FreeRTOS makefiles and CCS projects to link OS-qualified drivers/board archives.
• Define OS_FREERTOS consistently in both makefiles and .projectspec compiler options.
• Switch FreeRTOS post-build boot image generation to MulticoreELF (*.mcelf) flow.
• Bump GitHub Actions workflows to install/build against MCU+ SDK 11.01 for AM26x devices.
Diagram

graph TD
    CI["GitHub Actions"] --> SDK["MCU+ SDK 11.x"] --> LIBS["OS-qualified libs"]
    EX["AM26x examples"] --> MK["ti-arm-clang makefile"] --> LIBS
    EX --> PS["example.projectspec"] --> LIBS
    MK --> DEF["-DOS_FREERTOS"]
    PS --> DEF
    MK --> IMG["MulticoreELF bootimage"]
    PS --> IMG
    subgraph Legend
      direction LR
      _wf["Workflow"] ~~~ _cfg["Build config"] ~~~ _sdk["SDK artifact"]
    end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Centralize common build fragments (include .mk)
  • ➕ Eliminates repetitive edits across board/example directories
  • ➕ Reduces future SDK-migration churn
  • ➖ Requires larger repo-wide refactor and agreement on build structure
  • ➖ Risk of breaking existing training material paths/assumptions
2. Generate makefiles/projectspecs from templates
  • ➕ Makes OS-variant changes a single template edit
  • ➕ Enables validation/linting in generation step
  • ➖ Introduces a generation toolchain and contributor workflow overhead
  • ➖ Generated-file diffs can be noisy without careful tooling

Recommendation: For a targeted fix to restore SDK 11.x builds, the PR’s direct, uniform edits are the right tradeoff and align with existing AM243x patterns. Consider centralization/templating only if SDK-driven naming/bootimage churn is expected to continue across many boards/examples.

Files changed (134) +722 / -4022

Bug fix (88) +616 / -1716
example.projectspecAdd OS_FREERTOS define and OS-qualified libs (am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (am261x-lp)

• Adds '-DOS_FREERTOS' to compiler options and updates linker library names to 'drivers.*.freertos.*' and 'board.*.freertos.*' for debug/release configurations.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileUse OS-qualified drivers/board libs and MulticoreELF bootimage (am261x-lp) +9/-35

Use OS-qualified drivers/board libs and MulticoreELF bootimage (am261x-lp)

• Adds '-DOS_FREERTOS' to 'DEFINES_common', updates 'LIBS_common'/'LIBS_NAME' to OS-qualified archives, and replaces legacy appimage/RPRC bootimage targets with MulticoreELF ('BOOTIMAGE_NAME_MCELF') targets including HS signing adjustments.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (am261x-som) +5/-4

Add OS_FREERTOS define and OS-qualified libs (am261x-som)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to the '.freertos.'-qualified names for debug/release.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileUse OS-qualified drivers/board libs and MulticoreELF bootimage (am261x-som) +9/-35

Use OS-qualified drivers/board libs and MulticoreELF bootimage (am261x-som)

• Aligns the FreeRTOS makefile with SDK 11.x by adding 'OS_FREERTOS', switching drivers/board libs to OS-qualified archives, and using MulticoreELF bootimage targets/signing.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (am263px-cc)

• Adds '-DOS_FREERTOS' and updates linker libraries to 'drivers.*.freertos.*' / 'board.*.freertos.*' for both build configs.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileUse OS-qualified drivers/board libs and MulticoreELF bootimage (am263px-cc) +9/-35

Use OS-qualified drivers/board libs and MulticoreELF bootimage (am263px-cc)

• Adds 'OS_FREERTOS', updates library archive names to the OS-qualified convention, and replaces legacy bootimage targets with MulticoreELF generation and HS signing.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (am263px-lp)

• Adds '-DOS_FREERTOS' and updates the drivers/board libraries to '.freertos.'-qualified names for debug/release.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileUse OS-qualified drivers/board libs and MulticoreELF bootimage (am263px-lp) +9/-35

Use OS-qualified drivers/board libs and MulticoreELF bootimage (am263px-lp)

• Aligns build and link settings with SDK 11.x (OS-qualified libs + OS_FREERTOS) and uses MulticoreELF bootimage/signing targets.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (am263x-cc)

• Adds '-DOS_FREERTOS' and updates linker options to reference OS-qualified drivers/board libraries for debug/release.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileUse OS-qualified drivers/board libs and MulticoreELF bootimage (am263x-cc) +9/-35

Use OS-qualified drivers/board libs and MulticoreELF bootimage (am263x-cc)

• Adds 'OS_FREERTOS', updates drivers/board archive names to include '.freertos.', and switches bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified names for debug/release builds.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileUse OS-qualified drivers/board libs and MulticoreELF bootimage (am263x-lp) +9/-35

Use OS-qualified drivers/board libs and MulticoreELF bootimage (am263x-lp)

• Updates compile/link settings for SDK 11.x ('OS_FREERTOS' + OS-qualified libs) and replaces appimage/RPRC bootimage generation with MulticoreELF targets and HS signing changes.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_assembly, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_assembly, am261x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libraries to '.freertos.'-qualified names for debug/release.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_assembly, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_assembly, am261x-lp)

• Adds 'OS_FREERTOS', updates driver/board libs to OS-qualified archives, and switches bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_assembly, am261x-som) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_assembly, am261x-som)

• Adds '-DOS_FREERTOS' and switches drivers/board libs to the SDK 11.x OS-qualified naming for both configs.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_assembly, am261x-som) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_assembly, am261x-som)

• Adds 'OS_FREERTOS', updates library names to OS-qualified archives, and uses MulticoreELF bootimage generation/signing.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263px-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board linker library names to '.freertos.'-qualified variants.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_assembly, am263px-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_assembly, am263px-cc)

• Adds 'OS_FREERTOS', updates driver/board libs to OS-qualified archives, and switches bootimage targets to MulticoreELF generation/signing.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263px-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to OS-qualified names for debug/release.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_assembly, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_assembly, am263px-lp)

• Adds 'OS_FREERTOS', links OS-qualified drivers/board libs, and migrates bootimage target generation to MulticoreELF outputs with HS signing adjustments.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263x-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to '.freertos.'-qualified variants for debug/release builds.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_assembly, am263x-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_assembly, am263x-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and switches bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_assembly, am263x-lp)

• Adds '-DOS_FREERTOS' and switches drivers/board libs to OS-qualified archives for debug/release builds.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_assembly, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_assembly, am263x-lp)

• Adds 'OS_FREERTOS', updates library naming to '.freertos.'-qualified archives, and migrates bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am261x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board linker library names to OS-qualified '.freertos.' archives.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am261x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified library archive names, and switches bootimage targets to MulticoreELF generation/signing.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am261x-som) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am261x-som)

• Adds '-DOS_FREERTOS' and updates link libraries to OS-qualified drivers/board archives for debug/release.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am261x-som) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am261x-som)

• Adds 'OS_FREERTOS', updates library names to '.freertos.'-qualified archives, and uses MulticoreELF bootimage generation/signing.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263px-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified '.freertos.' names for debug/release.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263px-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263px-cc)

• Adds 'OS_FREERTOS', updates driver/board libs to OS-qualified archives, and migrates bootimage targets to MulticoreELF generation/signing.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263px-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board library naming to OS-qualified archives for debug/release builds.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263px-lp)

• Adds 'OS_FREERTOS', updates libraries to '.freertos.'-qualified naming, and switches bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263x-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to OS-qualified '.freertos.' names for debug/release.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263x-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263x-cc)

• Adds 'OS_FREERTOS', updates OS-qualified driver/board archives, and migrates bootimage targets to MulticoreELF generation/signing.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_and_inline_assembly, am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to OS-qualified names for both configs.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_and_inline_assembly, am263x-lp)

• Adds 'OS_FREERTOS', switches libs to '.freertos.'-qualified archives, and uses MulticoreELF bootimage generation/signing targets.

academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_code, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_code, am261x-lp)

• Adds '-DOS_FREERTOS' and updates the debug/release drivers/board library references to '.freertos.'-qualified archives.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_code, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_code, am261x-lp)

• Adds 'OS_FREERTOS', updates drivers/board libs to OS-qualified names, and migrates bootimage generation to MulticoreELF targets with HS signing changes.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_code, am261x-som) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_code, am261x-som)

• Adds '-DOS_FREERTOS' and updates drivers/board libs to OS-qualified '.freertos.' names for debug/release.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_code, am261x-som) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_code, am261x-som)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and uses MulticoreELF bootimage generation/signing targets.

academy/getting_started_labs/c_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_code, am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_code, am263px-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board libraries to OS-qualified names in linker options for debug/release builds.

academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_code, am263px-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_code, am263px-cc)

• Adds 'OS_FREERTOS', links OS-qualified drivers/board libs, and migrates bootimage targets to MulticoreELF generation/signing.

academy/getting_started_labs/c_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_code, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_code, am263px-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified '.freertos.' names for debug/release.

academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_code, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_code, am263px-lp)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and switches bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/c_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_code, am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_code, am263x-cc)

• Adds '-DOS_FREERTOS' and updates the drivers/board libraries to OS-qualified names in debug/release linker options.

academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_code, am263x-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_code, am263x-cc)

• Adds 'OS_FREERTOS', updates library names to '.freertos.'-qualified archives, and migrates bootimage generation to MulticoreELF targets/signing.

academy/getting_started_labs/c_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (c_code, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (c_code, am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified '.freertos.' names for debug/release.

academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (c_code, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (c_code, am263x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and switches bootimage generation to MulticoreELF outputs with HS signing adjustments.

academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (gpio_toggle, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (gpio_toggle, am261x-lp)

• Adds '-DOS_FREERTOS' and updates linker library references for drivers/board to '.freertos.'-qualified names for debug/release.

academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (gpio_toggle, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (gpio_toggle, am261x-lp)

• Adds 'OS_FREERTOS', updates driver/board libs to OS-qualified archives, and migrates bootimage generation to MulticoreELF targets/signing.

academy/gpio/gpio_toggle/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (gpio_toggle, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (gpio_toggle, am263px-lp)

• Adds '-DOS_FREERTOS' and updates debug/release linker libs to OS-qualified drivers/board archives.

academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (gpio_toggle, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (gpio_toggle, am263px-lp)

• Adds 'OS_FREERTOS', links OS-qualified drivers/board libs, and switches bootimage generation to MulticoreELF targets/signing.

academy/gpio/gpio_toggle/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (gpio_toggle, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (gpio_toggle, am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board library references to OS-qualified '.freertos.' names for debug/release.

academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (gpio_toggle, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (gpio_toggle, am263x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified driver/board libs, and migrates bootimage generation to MulticoreELF targets/signing.

academy/gpio/gpio_toggle/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (intc_mcu, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (intc_mcu, am261x-lp)

• Adds '-DOS_FREERTOS' and updates debug/release linker libs for drivers/board to OS-qualified '.freertos.' names.

academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (intc_mcu, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (intc_mcu, am261x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and switches bootimage generation to MulticoreELF targets/signing.

academy/intc/intc_mcu/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (intc_mcu, am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (intc_mcu, am263px-cc)

• Adds '-DOS_FREERTOS' and updates debug/release link libraries to OS-qualified drivers/board archives.

academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (intc_mcu, am263px-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (intc_mcu, am263px-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage generation to MulticoreELF targets/signing.

academy/intc/intc_mcu/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (intc_mcu, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (intc_mcu, am263px-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board library names to OS-qualified '.freertos.' variants for debug/release.

academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (intc_mcu, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (intc_mcu, am263px-lp)

• Adds 'OS_FREERTOS', links OS-qualified drivers/board libs, and switches bootimage generation to MulticoreELF targets/signing.

academy/intc/intc_mcu/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (intc_mcu, am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (intc_mcu, am263x-cc)

• Adds '-DOS_FREERTOS' and updates debug/release linker libs to OS-qualified drivers/board archives.

academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (intc_mcu, am263x-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (intc_mcu, am263x-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage targets to MulticoreELF generation/signing.

academy/intc/intc_mcu/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (intc_mcu, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (intc_mcu, am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to OS-qualified '.freertos.' names for debug/release.

academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (intc_mcu, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (intc_mcu, am263x-lp)

• Adds 'OS_FREERTOS', updates drivers/board libs to OS-qualified archives, and switches bootimage generation to MulticoreELF targets/signing.

academy/intc/intc_mcu/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty, am261x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified '.freertos.' naming for debug/release builds.

examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty, am261x-lp)

• Adds 'OS_FREERTOS', switches drivers/board archives to OS-qualified names, and migrates bootimage targets to MulticoreELF generation/signing.

examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty, am261x-som) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty, am261x-som)

• Adds '-DOS_FREERTOS' and updates drivers/board libs in linker options to '.freertos.'-qualified archives for debug/release.

examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty, am261x-som) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty, am261x-som)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and uses MulticoreELF bootimage generation/signing targets.

examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty, am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty, am263px-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libraries to OS-qualified '.freertos.' names for debug/release.

examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty, am263px-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty, am263px-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage targets to MulticoreELF generation/signing.

examples/empty/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty, am263px-lp)

• Adds '-DOS_FREERTOS' and updates linker options to use OS-qualified drivers/board archives for debug/release.

examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty, am263px-lp)

• Adds 'OS_FREERTOS', updates drivers/board libs to OS-qualified archives, and switches bootimage generation to MulticoreELF targets/signing.

examples/empty/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty, am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty, am263x-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to OS-qualified '.freertos.' archives for debug/release.

examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty, am263x-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty, am263x-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage generation to MulticoreELF targets/signing.

examples/empty/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty, am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board libraries to OS-qualified '.freertos.' names for debug/release.

examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty, am263x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and switches bootimage generation to MulticoreELF outputs/signing.

examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty_c, am261x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty_c, am261x-lp)

• Adds '-DOS_FREERTOS' and updates linker libraries to OS-qualified drivers/board archives for debug/release builds.

examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty_c, am261x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty_c, am261x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage targets to MulticoreELF generation/signing.

examples/empty_c/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty_c, am261x-som) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty_c, am261x-som)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified '.freertos.' naming for debug/release.

examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty_c, am261x-som) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty_c, am261x-som)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and uses MulticoreELF bootimage generation/signing targets.

examples/empty_c/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty_c, am263px-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty_c, am263px-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board link libraries to OS-qualified '.freertos.' names for debug/release.

examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty_c, am263px-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty_c, am263px-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage targets to MulticoreELF generation/signing.

examples/empty_c/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty_c, am263px-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty_c, am263px-lp)

• Adds '-DOS_FREERTOS' and updates debug/release linker libs to OS-qualified drivers/board archives.

examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty_c, am263px-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty_c, am263px-lp)

• Adds 'OS_FREERTOS', updates drivers/board libs to OS-qualified archives, and switches bootimage generation to MulticoreELF targets/signing.

examples/empty_c/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty_c, am263x-cc) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty_c, am263x-cc)

• Adds '-DOS_FREERTOS' and updates drivers/board linker libs to OS-qualified '.freertos.' names for debug/release.

examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty_c, am263x-cc) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty_c, am263x-cc)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board libs, and migrates bootimage generation to MulticoreELF targets/signing.

examples/empty_c/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile

example.projectspecAdd OS_FREERTOS define and OS-qualified libs (empty_c, am263x-lp) +5/-4

Add OS_FREERTOS define and OS-qualified libs (empty_c, am263x-lp)

• Adds '-DOS_FREERTOS' and updates drivers/board library names to OS-qualified '.freertos.' variants for debug/release builds.

examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec

makefileAlign FreeRTOS makefile with SDK 11.x (empty_c, am263x-lp) +9/-35

Align FreeRTOS makefile with SDK 11.x (empty_c, am263x-lp)

• Adds 'OS_FREERTOS', updates OS-qualified drivers/board archives, and switches bootimage generation to MulticoreELF targets/signing.

examples/empty_c/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile

Other (46) +106 / -2306
ccs_build.ymlBump AM26x CI to MCU+ SDK 11.01 installers +9/-9

Bump AM26x CI to MCU+ SDK 11.01 installers

• Updates the SDK matrix entries for am261x, am263x, and am263px to download/install MCU+ SDK 11.01.00.19 instead of 10.02.x, ensuring CI exercises the new OS-qualified library naming.

.github/workflows/ccs_build.yml

makefile.ymlBump AM26x makefile CI to MCU+ SDK 11.01 installers +9/-9

Bump AM26x makefile CI to MCU+ SDK 11.01 installers

• Mirrors the SDK version bump for makefile-based CI builds on am261x, am263x, and am263px to 11.01.00.19 so link steps validate against SDK 11.x artifacts.

.github/workflows/makefile.yml

makefile_ccs_bootimage_genSwitch CCS post-build bootimage generation to MulticoreELF (am261x-lp) +2/-52

Switch CCS post-build bootimage generation to MulticoreELF (am261x-lp)

• Removes legacy RPRC/appimage generation steps and retains only MulticoreELF generation and HS signing for CCS builds.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genSwitch CCS post-build bootimage generation to MulticoreELF (am261x-som) +2/-52

Switch CCS post-build bootimage generation to MulticoreELF (am261x-som)

• Drops RPRC/appimage generation in favor of MulticoreELF generation and HS signing steps.

academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genSwitch CCS post-build bootimage generation to MulticoreELF (am263px-cc) +2/-52

Switch CCS post-build bootimage generation to MulticoreELF (am263px-cc)

• Removes the RPRC/appimage toolchain usage and keeps MulticoreELF generation/signing only.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genSwitch CCS post-build bootimage generation to MulticoreELF (am263px-lp) +2/-52

Switch CCS post-build bootimage generation to MulticoreELF (am263px-lp)

• Updates CCS post-build steps to generate/sign MulticoreELF only, removing appimage/RPRC steps.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genSwitch CCS post-build bootimage generation to MulticoreELF (am263x-cc) +2/-52

Switch CCS post-build bootimage generation to MulticoreELF (am263x-cc)

• Removes legacy multicoreImageGen/out2rprc/xipGen steps and generates MulticoreELF boot images only.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genSwitch CCS post-build bootimage generation to MulticoreELF (am263x-lp) +2/-52

Switch CCS post-build bootimage generation to MulticoreELF (am263x-lp)

• Updates CCS bootimage generation to only create/sign MulticoreELF outputs; removes legacy appimage/RPRC generation.

academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genUse MulticoreELF-only CCS bootimage generation (c_and_assembly, am261x-lp) +2/-52

Use MulticoreELF-only CCS bootimage generation (c_and_assembly, am261x-lp)

• Removes legacy RPRC/appimage steps and keeps MulticoreELF generation and HS signing.

academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_ccs_bootimage_gen

makefile_ccs_bootimage_genUse MulticoreELF-only CCS bootimage generation (c_and_assembly, am261x-som) +2/-52

Use MulticoreELF-only CCS bootimage generation (c_and_assembly, am261x-som)

• Removes RPRC/appimage generation and generates/signs MulticoreELF outputs only.

<a href='https://github.com/TexasInstruments/open-pru/pull/143/files#diff-c957e2b2b37dabbac3eb1731017866f39871c6ddce579c37f40d4b...

@dhavaljk

Copy link
Copy Markdown
Collaborator

Review empty example from MCU+ SDK 10.2 vs 11.x, compare all relevant files and apply any missing changes to OpenPRU examples

pratheesh added a commit to pratheesh/open-pru that referenced this pull request Jun 15, 2026
…S_common

Qodo review on PR TexasInstruments#143 correctly flagged that the AM26x FreeRTOS makefiles
linked the OS-qualified drivers.*.freertos.* / board.*.freertos.* archives
and added -DOS_FREERTOS to the CCS projectspecs, but omitted -DOS_FREERTOS
from DEFINES_common in the makefiles (the AM243x FreeRTOS reference defines
it in both). That left a make-vs-CCS configuration mismatch.

Add -DOS_FREERTOS to DEFINES_common in all 32 AM26x r5f FreeRTOS academy
makefiles so the make and CCS builds agree on the OS configuration.

NOTE: this PR remains WIP/draft. Per issue TexasInstruments#111, AM26x MCU+ SDK 11.0/11.1
uses a different makefile structure than AM243x/AM64x SDK 11.1/11.2, so the
full port (CI SDK-version bump to 11.x for AM26x + OptiShare relink infra,
matching PR TexasInstruments#110 but adapted for AM26x) still needs to be done and verified
against the AM26x SDK 11.x before this can build green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@qodo-code-review

Copy link
Copy Markdown

Looking for bugs?

Check back in a few minutes. An AI review agent is analyzing this pull request.

@pratheesh pratheesh marked this pull request as draft June 15, 2026 09:16
@pratheesh

Copy link
Copy Markdown
Contributor Author

Thanks for the review. Status update + converting this to draft.

Addressed (commit 2e74f179): the Qodo finding is valid — added -DOS_FREERTOS to DEFINES_common in all 32 AM26x r5f FreeRTOS academy makefiles, so the make build matches the CCS projectspec (and the AM243x FreeRTOS reference, which defines it in both).

Marking draft — this is not yet complete. Per the actions in #111, AM26x MCU+ SDK 11.0/11.1 uses a different makefile structure than AM243x/AM64x SDK 11.1/11.2, so the AM243x infra changes can't simply be mirrored (as @nsaulnier-ti noted). The remaining work, validated against the AM26x SDK 11.x, is:

  • Bump the CI matrix SDK versions for am261x / am263px / am263x from 10.02.x to the 11.0/11.1 releases (currently CI builds these against 10.02, where the *.freertos.* libs don't exist — which is why the Build (am26x) jobs fail with No rule to make target 'drivers.am261x.r5f.ti-arm-clang.freertos.release.lib').
  • Port the AM26x-specific SDK 11.x makefile infrastructure (OptiShare relink: --gen_xml_func_hash, COREOUTNAME/coreout, .lnkxml/.ossr cleanup; toolchain bumps), adapted from AM243x & AM64x: Add support for MCU+ SDK 11.1&11.2 #110 but matched to the AM26x SDK 11.0/11.1 structure rather than copied from AM243x.

I'll complete and verify that against the AM26x SDK 11.x and then move this out of draft.

@pratheesh pratheesh marked this pull request as ready for review June 16, 2026 02:45
@qodo-code-review

qodo-code-review Bot commented Jun 16, 2026

Copy link
Copy Markdown

Code review by qodo was updated up to the latest commit 6546ede

Comment on lines 30 to +41
- 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_11_01_00_19
sdk_installer: mcu_plus_sdk_am261x_11_01_00_19-linux-x64-installer.run
sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/11.01.00.19/mcu_plus_sdk_am261x_11_01_00_19-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_11_01_00_19
sdk_installer: mcu_plus_sdk_am263px_11_01_00_19-linux-x64-installer.run
sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/11.01.00.19/mcu_plus_sdk_am263px_11_01_00_19-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_11_01_00_19
sdk_installer: mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/11.01.00.19/mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Ci tests only sdk 11.1 📎 Requirement gap ☼ Reliability

The CI matrix for AM26x devices is pinned to MCU+ SDK 11_01_00_19 only, so there is no build
verification coverage for SDK 11.0 as required. This fails the requirement to verify and record
build status for both SDK 11.0 and 11.1 across AM261x/AM263x/AM263Px.
Agent Prompt
## Issue description
The compliance checklist requires build verification for AM261x/AM263x/AM263Px on MCU+ SDK 11.0 and 11.1, but the CI matrices only include SDK 11.1 (`11_01_00_19`).

## Issue Context
Current CI coverage does not demonstrate (or record) SDK 11.0 build status for AM26x, which is explicitly required.

## Fix Focus Areas
- .github/workflows/makefile.yml[30-41]
- .github/workflows/ccs_build.yml[163-174]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines 94 to 99
"
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Debug libs still unqualified 🐞 Bug ≡ Correctness

AM26x FreeRTOS example.projectspec files update Release to link
drivers.*.freertos.*/board.*.freertos.* archives, but Debug still links the old unqualified
drivers.*.debug.lib/board.*.debug.lib. When building against MCU+ SDK 11.x (where the
OS-qualified naming is required, as already assumed by Release), CCS Debug builds will fail to
resolve these libraries or link the wrong variants.
Agent Prompt
## Issue description
AM26x FreeRTOS CCS project specs were only partially updated: Release links OS-qualified `drivers.<soc>...freertos...` and `board.<soc>...freertos...` archives, but Debug still links the pre-SDK-11 unqualified archives.

## Issue Context
The AM243x FreeRTOS projectspec shows that *both* Debug and Release should use `*.freertos.<config>.lib` for `drivers` and `board`.

## Fix
For **all AM26x FreeRTOS** `ti-arm-clang/example.projectspec` files updated in this PR, change the **Debug** `linkerBuildOptions` entries:
- `-ldrivers.<soc>.r5f.ti-arm-clang.debug.lib` -> `-ldrivers.<soc>.r5f.ti-arm-clang.freertos.debug.lib`
- `-lboard.<soc>.r5f.ti-arm-clang.debug.lib` -> `-lboard.<soc>.r5f.ti-arm-clang.freertos.debug.lib`

(Leave `-lfreertos...debug.lib` as-is unless the SDK also OS-qualifies it.)

## Fix Focus Areas
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- academy/getting_started_labs/assembly_code/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]
- examples/empty/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec[79-90]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@a1248924 a1248924 Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is valid, need to do the same for Debug mode for the libs naming in all examples

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@pratheesh

Copy link
Copy Markdown
Contributor Author

@a1248924 thanks — addressed in 3692252.

Applied the same FreeRTOS lib naming to Debug mode across all AM26x FreeRTOS example.projectspec files (44 files), mirroring what was already done for Release:

  • -ldrivers.<soc>.r5f.ti-arm-clang.debug.lib-ldrivers.<soc>.r5f.ti-arm-clang.freertos.debug.lib
  • -lboard.<soc>.r5f.ti-arm-clang.debug.lib-lboard.<soc>.r5f.ti-arm-clang.freertos.debug.lib

freertos.<soc>...debug.lib is left unqualified as before. Both Debug and Release now link the OS-qualified drivers/board archives. CCS Build CI is green across am243x/am261x/am263x/am263px/am64x.

@nsaulnier-ti

Copy link
Copy Markdown
Collaborator

AM261x fails the makefile build for all SDKs. Error looks like this: (where 1 is simply the name of the test directory I mirrored this PR to):

make -C mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang all make[4]: Entering directory '/home/a0226750local/git/open-pru_worktree/1/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/home/a0226750local/git/open-pru_worktree/1/examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang' make[3]: Leaving directory '/home/a0226750local/git/open-pru_worktree/1/examples/empty' make[2]: Leaving directory '/home/a0226750local/git/open-pru_worktree/1/examples' make[1]: *** [makefile:26: examples] Error 2 make[1]: *** Waiting for unfinished jobs....

pratheesh and others added 8 commits July 4, 2026 07:02
…with MCU+ SDK 11.x

MCU+ SDK 11.0/11.1 split the drivers and board libraries by OS variant,
so the link step must reference the OS-qualified archives and the build
must define OS_FREERTOS. The am243x/am64x academy examples were already
updated; the am261x, am263x and am263px FreeRTOS examples were not, so
they fail to link against SDK 11.x (and v2025.00.00).

Bring all remaining r5f FreeRTOS academy examples in line with the
am243x reference:

  - makefile: drivers/board libs -> *.ti-arm-clang.freertos.${ConfigName}.lib
    (LIBS_common and LIBS_NAME)
  - example.projectspec: add -DOS_FREERTOS alongside -DSOC_*

Applied uniformly across getting_started_labs (assembly_code, c_code,
c_and_assembly, c_and_inline_assembly), gpio/gpio_toggle and intc/intc_mcu
for am261x-lp, am261x-som, am263x-lp, am263x-cc, am263px-lp, am263px-cc
(64 files: 32 makefiles + 32 projectspecs). nortos examples are unaffected.

Closes TexasInstruments#111.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…S_common

Qodo review on PR TexasInstruments#143 correctly flagged that the AM26x FreeRTOS makefiles
linked the OS-qualified drivers.*.freertos.* / board.*.freertos.* archives
and added -DOS_FREERTOS to the CCS projectspecs, but omitted -DOS_FREERTOS
from DEFINES_common in the makefiles (the AM243x FreeRTOS reference defines
it in both). That left a make-vs-CCS configuration mismatch.

Add -DOS_FREERTOS to DEFINES_common in all 32 AM26x r5f FreeRTOS academy
makefiles so the make and CCS builds agree on the OS configuration.

NOTE: this PR remains WIP/draft. Per issue TexasInstruments#111, AM26x MCU+ SDK 11.0/11.1
uses a different makefile structure than AM243x/AM64x SDK 11.1/11.2, so the
full port (CI SDK-version bump to 11.x for AM26x + OptiShare relink infra,
matching PR TexasInstruments#110 but adapted for AM26x) still needs to be done and verified
against the AM26x SDK 11.x before this can build green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The AM26x academy R5F examples now link the SDK-11.x OS-qualified
drivers/board archives, but CI still installed MCU+ SDK 10.02 for
am261x/am263px/am263x, where those archives don't exist -- so the
Build (am26x) jobs failed with:
  No rule to make target 'drivers.am261x.r5f.ti-arm-clang.freertos.release.lib'

Bump the am261x, am263px and am263x matrix entries (both makefile.yml
and ccs_build.yml) from SDK 10.02.x to 11.01.00.19, the coordinated
2025-12 AM26x MCU+ SDK 11.1 release (installer URLs verified, HTTP 200).
The am263px 11.x lib layout was confirmed locally: the SDK ships
drivers.am263px.r5f.ti-arm-clang.freertos.<cfg>.lib, matching the
example makefile changes. am243x/am64x already build against SDK 11.02.

Part of TexasInstruments#111. Still WIP/draft pending green CI on the bumped SDK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…U+ SDK 11.x

Under SDK 11.x the kernel/dpl headers (ClockP.h, SemaphoreP.h, ...) hard
#error unless an OS is defined, so every R5F example that pulls them in
must build with -DOS_FREERTOS / -DOS_NORTOS. The earlier commits only
updated the academy/ FreeRTOS examples; the examples/ tree (empty and
empty_c, all 6 AM26x boards) was still on the old un-qualified libs with
no OS define, so the SDK-11.x am26x CI build failed with:
  ClockP.h:89:2: error: "Define OS_NORTOS, OS_FREERTOS or OS_SAFERTOS"

Apply the same FreeRTOS treatment to the 12 examples/ AM26x r5f makefiles
+ projectspecs: OS-qualified drivers/board libs (*.freertos.*) and
-DOS_FREERTOS in DEFINES_common and the CCS projectspec. All 44 AM26x
r5f ti-arm-clang examples (academy + examples) are FreeRTOS; there are
no nortos r5f am26x examples to update.

Part of TexasInstruments#111 (WIP/draft until CI is green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…1.00.19 has no elf2rprc.js)

The per-device MCU+ SDK 11.01.00.19 installers for am261x/am263x/am263px do
not ship the legacy RPRC/appimage tool tools/boot/out2rprc/elf2rprc.js, so the
.appimage recipe died at $(OUTRPRC_CMD) with MODULE_NOT_FOUND (makefile:309).

These SoCs use the MulticoreELF (.mcelf) boot format, and the example makefiles
already carried a complete genimage.py recipe (MCELF_* vars come from the SDK's
devconfig.mak). Default TARGETS to $(BOOTIMAGE_NAME_MCELF) and drop the dead
RPRC/appimage/XIP path (elf2rprc.js, xipGen, multicoreImageGen) across the AM26x
R5F examples. HS signing now targets the .mcelf image.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mirror the SDK 11 library naming fix to the Debug configuration of all
AM26x FreeRTOS example.projectspec files, matching what was already done
for Release. drivers/board archives are now OS-qualified
(drivers.<soc>.r5f.ti-arm-clang.freertos.debug.lib) in both Debug and
Release, per reviewer feedback. freertos.<soc>...debug.lib is left as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@nsaulnier-ti nsaulnier-ti force-pushed the fix/issue-111-mcuplus-sdk11-build branch from 3692252 to c037f86 Compare July 4, 2026 12:02
Comment on lines +33 to +41
sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-h64OlWnQrg/11.01.00.19/mcu_plus_sdk_am261x_11_01_00_19-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_11_01_00_19
sdk_installer: mcu_plus_sdk_am263px_11_01_00_19-linux-x64-installer.run
sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-JVtW1V4WfA/11.01.00.19/mcu_plus_sdk_am263px_11_01_00_19-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_11_01_00_19
sdk_installer: mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run
sdk_url: https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-r5FY9rRaGv/11.01.00.19/mcu_plus_sdk_am263x_11_01_00_19-linux-x64-installer.run

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Long sdk_url lines (makefile.yml) 📘 Rule violation ⚙ Maintainability

The workflows add sdk_url lines that exceed the hard 129-character repository line-length limit,
reducing readability and creating avoidable formatting noncompliance in CI configuration. This
violates the stated line-length constraint for hand-written config files.
Agent Prompt
## Issue description
The workflow files contain newly-added/updated `sdk_url` entries whose unwrapped URL values exceed the repository’s hard 129 character line-length limit.

## Issue Context
The repository enforces a hard 129-char limit for hand-written source/config files; these long URLs can be wrapped using YAML folded/scalar syntax (for example `sdk_url: >-` with the URL on the next indented line) or refactored by introducing a shared base URL variable.

## Fix Focus Areas
- .github/workflows/makefile.yml[33-41]
- .github/workflows/ccs_build.yml[166-174]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines 207 to 212
$(RM) $(BOOTIMAGE_NAME)
$(RM) $(BOOTIMAGE_NAME_XIP)
$(RM) $(BOOTIMAGE_NAME_SIGNED)
$(RM) $(BOOTIMAGE_RPRC_NAME)
$(RM) $(BOOTIMAGE_RPRC_NAME_XIP)
$(RM) $(BOOTIMAGE_NAME_MCELF)
$(RMDIR) generated/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

2. Stale rprc not cleaned 🐞 Bug ☼ Reliability

In AM26x FreeRTOS ti-arm-clang makefiles, BOOTIMAGE_RPRC_NAME is still defined but the clean
target no longer deletes it. This can leave a stale .rprc file from previous builds/branches in
the build directory, making it easy to confuse old artifacts with current outputs during manual
debugging/flash workflows.
Agent Prompt
## Issue description
AM26x FreeRTOS ti-arm-clang makefiles still define `BOOTIMAGE_RPRC_NAME`, but `make clean` no longer removes the corresponding `.rprc` file. This leaves stale build outputs behind.

## Issue Context
The PR removed `$(RM) $(BOOTIMAGE_RPRC_NAME)` from the `clean` target while keeping `BOOTIMAGE_RPRC_NAME:=...rprc` defined.

## Fix Focus Areas
- Add back removal in clean for all affected AM26x FreeRTOS ti-arm-clang makefiles (or, alternatively, delete the unused `BOOTIMAGE_RPRC_NAME` variable if `.rprc` is no longer a supported output for these targets).

### Files/lines to update
- academy/getting_started_labs/assembly_code/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[203-212]

(Apply the same change to the analogous AM261x/AM263x/AM263px FreeRTOS `ti-arm-clang/makefile` files touched by this PR.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@qodo-code-review

Copy link
Copy Markdown

Code review by qodo was updated up to the latest commit c037f86

@pratheesh

Copy link
Copy Markdown
Contributor Author

Thanks for taking the time to mirror and test this, @nsaulnier-ti.

I tried to reproduce on my end and wasn't able to get a build failure from a clean tree. A clean serial build of the empty example for DEVICE=am261x comes out green end-to-end against the exact SDK you used (mcu_plus_sdk_am261x_11_01_00_19), for both boards:

make -j1 -C examples/empty all DEVICE=am261x BUILD_MCUPLUS=y \
     MCU_PLUS_SDK_PATH=.../mcu_plus_sdk_am261x_11_01_00_19
...
Linking: am261x:r5fss0-0:freertos:ti-arm-clang empty.release.out Done !!!
Boot image: am261x-lp .../empty.release.mcelf Done !!!
Boot image: am261x-som .../empty.release.mcelf Done !!!
=== exit 0 ===

Both am261x-lp and am261x-som produce empty.release.out + empty.release.mcelf. Toolchain: PRU CGT 2.3.3, ARM-Clang 4.0.3.LTS, SysConfig 1.26.2.

On the log you posted: I think make[4]: Nothing to be done for 'all' is a bit of a red herring — that's make reporting the leaf is already up to date (exit 0), not a build error. I can reproduce that exact line just by running all a second time on an already-built tree:

make -C examples/empty/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang all ...
make: Nothing to be done for 'all'.
=== exit 0 ===

The actual make[1]: *** [makefile:26: examples] Error 2 looks like it's surfacing from a different target in the parallel build (note the *** Waiting for unfinished jobs.... right after), and that failing command isn't in the pasted excerpt.

Could you try one of these so we can pin down the real failure?

  • make -C examples/empty clean (or a fresh worktree), then rebuild — to rule out stale artifacts, or
  • a serial -j1 build, which will unmask the actual target that returns Error 2 instead of it getting interleaved.

One env note in case it's relevant: the .mcelf boot-image step (multicore-elf/genimage.py) needs the Python deps construct, pyelftools, and pycryptodome — a missing one there fails the empty.release.mcelf target with a ModuleNotFoundError rather than a compile/link error.

Happy to dig further once we can see the specific failing command.

@nsaulnier-ti nsaulnier-ti left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reject, replace with #151

@pratheesh

Copy link
Copy Markdown
Contributor Author

Closing this in favor of #151, which supersedes it as the more complete, SDK-reference-aligned AM26x port. Thanks @nsaulnier-ti for the thorough diff — your six deltas (the oeconfig/--otfaConfigFile OTFA wiring, --gen_xml_func_hash, --xml_link_info/*.lnkxml, the .S compile fix with $(INCLUDES)/$(DEFINES), restoring MULTI_CORE_IMAGE_PARAMS, and the $(RM) cleanup) all check out, and a few of them matter across the broader example matrix.

For the record on the earlier build report: on a clean tree the branch here did build green end-to-end for empty on both am261x-lp and am261x-som against mcu_plus_sdk_am261x_11_01_00_19 (serial build, .out + .mcelf produced) — the Nothing to be done for 'all' was an already-built/incremental-tree artifact rather than a failure. But that's moot now: #151 is simply the better-aligned port, so this one should go.

Will follow up on #151 with a small orthogonal hardening suggestion. Thanks again.

@pratheesh pratheesh closed this Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AM26x: MCU+ SDK 11.0 & 11.1 does not build with v2025.00.00

4 participants