A0226750 am26x port sdk11 0#151
Conversation
|
Will update the CI build one SDK release at a time, just to verify that everything works on every SDK release. |
Code Review by Qodo
1. Overlong linker command line
|
|
all CI makefile & CCS builds succeed with AM26x devices using SDK 11.0. Now bump to SDK 11.1 and re-test. |
PR Summary by QodoAM26x: Port FreeRTOS R5F projects to MCU+ SDK 11.0+ (MCELF + CI bumps)
AI Description
Diagram
High-Level Assessment
Files changed (139)
|
|
Code review by qodo was updated up to the latest commit be5c69f |
|
AM26x SDK 11.1 successfully builds for makefiles & CCS import / build. Now test SDK 26.0 |
|
Code review by qodo was updated up to the latest commit 5941ed7 |
5941ed7 to
7941601
Compare
|
Code review by qodo was updated up to the latest commit 7941601 |
|
Not a blocker for this PR, but while comparing the AM26x makefiles I noticed a small pre-existing robustness gap that this branch also carries, worth a one-line hardening: In the leaf makefiles, One-line fix per leaf makefile — add it to the SysConfig outputs so the dependency has a rule: SYSCFG_GEN_FILES+=generated/linker.cmd generated/linker_defines.h(SysConfig already emits both files, so nothing else changes.) This is orthogonal to the SDK-11 port itself and applies repo-wide, not just AM26x. Happy to send it as a small standalone follow-up PR on top of this once it lands, if you'd prefer to keep #151 focused on the SDK bump. |
Updates all 44 AM26x FreeRTOS R5F makefiles (am261x, am263px, am263x) to build with MCU+ SDK 11.0. Breaks backwards compatibility with SDK 10.2. Changes per makefile (aligned to SDK 11.0 pru_io reference makefiles): - Add -DOS_FREERTOS to DEFINES_common - Add .freertos. infix to drivers and board library names - Add -Wl,--gen_xml_func_hash to LFLAGS_common - Add $(INCLUDES) $(DEFINES) to .S assembly compile rule - Add --xml_link_info=<name>.lnkxml to linker command - Remove MULTI_CORE_IMAGE_GEN and OUTRPRC_CMD (elf2rprc.js removed in SDK 11.0) - Add oeconfig?=None variable - Replace appimage boot target with MCELF target (genimage.py) - Add --otfaConfigFile=$(oeconfig) to MCELF image generation - Update HS signing rule to use BOOTIMAGE_NAME_MCELF - Add $(RM) *.lnkxml to scrub target (matches SDK convention) Validated: clean build PASS on am261x, am263px, am263x with SDK 11.0; cross-entity regression PASS on am243x, am64x, am62x (unchanged devices). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch makefile_ccs_bootimage_gen from dual appimage+MCELF generation (SDK 10.2) to MCELF-only (SDK 11.0+). Update example.projectspec with -DOS_FREERTOS, --gen_xml_func_hash, and .freertos. library name infix required by SDK 11.0+. Validated with full CCS builds (import + build) for SDK 11.0, 11.1, and 26.0. All 44 AM26x R5F projects pass; am243x, am64x, am62x regressions clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AM243x: 11.02.00.24 → 12.00.00.26 AM261x: 10.02.00.15 → 11.00.00.29 AM263x: 10.02.00.13 → 11.00.00.19 AM263Px: 10.02.00.15 → 11.00.00.19 AM64x: 11.02.00.24 → 12.00.00.27 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AM261x: 11.00.00.29 → 11_01_00_19 AM263x: 11.00.00.19 → 11_01_00_19 AM263Px: 11.00.00.19 → 11_01_00_19 Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
AM261x: 11_01_00_19 → 26_00_00_06 AM263x: 11_01_00_19 → 26_00_00_06 AM263Px: 11_01_00_19 → 26_00_00_06 Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
7941601 to
06d66a8
Compare
Adds using_older_sdks_with_open_pru.md modification [8] covering the AM26x MCU+ SDK 11.0 makefile changes that break SDK 10.2 compatibility. Updates AM261x, AM263Px, AM263x tables to reference [8] for SDK 10.2. Post-break commit following f14285b. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
06d66a8 to
ee57ea5
Compare
|
Code review by qodo was updated up to the latest commit ee57ea5 ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan |
Add support for AM26x MCU+ SDK 11.0, 11.1, 26.0. Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
For details of this version of OpenPRU repo, refer to docs/release_notes.md. Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
3bdad9b to
b8534ba
Compare
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Code review by qodo was updated up to the latest commit b8534ba ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan |
This should NOT be applied to OpenPRU if it conflicts with the established pattern in the MCU+ SDK source. If the MCU+ SDK source ALSO has this pattern, then the proposed code changes would need to be applied to the MCU+ SDK FIRST. Only after they were merged in and visible in an official MCU+ SDK would we consider making such changes in OpenPRU. Additional feedback from Claude Opus 4.8: The technical observation is accurate, but it's not feedback on these commits What the reviewer got right:
Where it overreaches:
Why it should not be applied to this branch:
Bottom line Valid as a general make observation about TI's SDK makefile idiom; not valid as feedback on these commits. It targets nothing the |
Replaces #143 to update AM26x to the latest SDKs.
Diff between this PR & 143:
File coverage
Regular makefile (44 files) — all 44 differ
open-pru has (all confirmed present in SDK 11.0 reference):
../1 is missing all six of the above. It also removes MULTI_CORE_IMAGE_PARAMS (present in SDK 11.0 reference) and drops $(RM)
$(BOOTIMAGE_RPRC_NAME) from the clean target — the stale-artifact issue the automated reviewer flagged.
makefile_ccs_bootimage_gen (44 files) — all 44 differ
open-pru matches SDK 11.0 reference (keeps XIPGEN_CMD block, MULTI_CORE_IMAGE_PARAMS block, TARGETS +=).
../1 makes three changes not in the SDK 11.0 reference: removes those two blocks and changes TARGETS += to TARGETS :=.
example.projectspec (44 files) — all 44 differ
open-pru adds --gen_xml_func_hash to linkerBuildOptions (confirmed in SDK 11.0 reference). ../1 does not.
CI workflows
┌────────┬───────────────────────────┬─────────────────────────┐
│ Device │ open-pru │ ../1 │
├────────┼───────────────────────────┼─────────────────────────┤
│ AM243x │ 12.00.00.26 │ unchanged (11.02.00.24) │
├────────┼───────────────────────────┼─────────────────────────┤
│ AM26x │ 11.00.00.29 / 11.00.00.19 │ 11.01.00.19 │
├────────┼───────────────────────────┼─────────────────────────┤
│ AM64x │ 12.00.00.27 │ unchanged (11.02.00.24) │
└────────┴───────────────────────────┴─────────────────────────┘