Skip to content

RFC: Add tasklists & documentation for AI Agents#130

Open
nsaulnier-ti wants to merge 15 commits intomainfrom
a0226750_ai_documentation
Open

RFC: Add tasklists & documentation for AI Agents#130
nsaulnier-ti wants to merge 15 commits intomainfrom
a0226750_ai_documentation

Conversation

@nsaulnier-ti
Copy link
Copy Markdown
Collaborator

@nsaulnier-ti nsaulnier-ti commented Apr 2, 2026

This PR is dependent upon this other PR, which must be merged first: #133

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add AI agent task guides, expand documentation, and standardize project configurations

✨ Enhancement 📝 Documentation 🐞 Bug fix

Grey Divider

Walkthroughs

Description
• **Comprehensive AI agent task guides**: Added three new task guides (task_create_project.md,
  task_port_project.md, task_add_features.md) to support AI agents in common OpenPRU development
  workflows with decision trees, detailed checklists, and verification steps
• **Expanded project creation documentation**: Significantly enhanced
  open_pru_create_new_project.md with prerequisites, decision trees, detailed makefile customization
  guidance, and build checkpoints
• **New MCU+ integration guide**: Added open_pru_create_new_mcuplus_project.md for comprehensive
  guidance on adding MCU+ code to OpenPRU projects
• **Build system fixes**: Fixed pru_rules.mak linker flags and makefile variable references ($^
  to $<, added order-only prerequisites for directory creation)
• **Standardized project configurations**: Updated 100+ project specification files across academy
  labs and examples to use OpenPRU paths, remove MCU+ SDK dependencies, add optimization flags, and
  improve consistency
• **Dependency simplification**: Replaced SDK-specific includes with standard C headers in
  cslr_soc_baseaddress.h for improved portability
• **Consistent naming conventions**: Standardized project names and output binaries across all
  getting started labs and examples (e.g., pru_add_assembly, pru_add_c_and_assembly,
  pru_add_c_and_inline_assembly)
Diagram
flowchart LR
  A["AI Agent Task Guides<br/>task_create_project<br/>task_port_project<br/>task_add_features"] --> B["Enhanced Documentation<br/>open_pru_create_new_project<br/>open_pru_create_new_mcuplus_project"]
  C["Build System Fixes<br/>pru_rules.mak<br/>Linker flags & variables"] --> D["Standardized Projects<br/>100+ projectspec files<br/>Consistent naming & paths"]
  E["Dependency Updates<br/>Remove MCU+ SDK<br/>Use OpenPRU paths"] --> D
  F["Code Simplification<br/>Replace SDK includes<br/>with standard C headers"] --> E
  B --> D
Loading

Grey Divider

File Changes

1. source/include/am62x/cslr_soc_baseaddress.h Dependencies +1/-2

Replace SDK-specific includes with standard C header

• Replaced MCU+ SDK-specific includes (cslr.h, tistdtypes.h) with standard C header stdint.h
• Simplifies dependencies and improves portability

source/include/am62x/cslr_soc_baseaddress.h


2. pru_rules.mak 🐞 Bug fix +14/-12

Fix linker flags and makefile variable references in build rules

• Moved --ram_model flag from assembly-only build to common linker flags
• Fixed makefile variable references: changed $^ (all prerequisites) to $< (first prerequisite)
 and $@ (target)
• Added order-only prerequisite pattern for $(GEN_DIR) to ensure directory creation before
 compilation
• Simplified build output by removing redundant $(MKDIR) calls in individual rules

pru_rules.mak


3. docs/open_pru_create_new_project.md 📝 Documentation +379/-44

Comprehensive expansion of project creation documentation

• Expanded documentation from basic steps to comprehensive guide with prerequisites, decision trees,
 and detailed sections
• Added "Prerequisites" section covering repo setup, make infrastructure testing, and feature branch
 creation
• Reorganized content with clearer section structure for copying projects, removing unused
 components, renaming, and customizing makefiles
• Added detailed "OpenPRU makefiles overview" table explaining hierarchical makefile structure
• Expanded "Customize the makefiles" section with specific examples for project information, target
 definitions, and prebuild checks
• Added "Build checkpoint" verification steps and comprehensive CCS project file update guidance
• Included "Next steps" section for MCU+ code integration

docs/open_pru_create_new_project.md


View more (184)
4. docs_ai/task_port_project.md 📝 Documentation +225/-0

New task guide for porting projects to new devices

• New AI agent task guide for porting existing projects to new devices or boards
• Includes pre-read list, decision tree with compatibility assessment steps (D1-D3)
• Provides two main sections: board-only ports (Section A) and device ports (Section B)
• Contains detailed checklists for PRU subsystem compatibility, hardware compatibility, and software
 compatibility
• Includes verification steps and do-not-do list to prevent common mistakes

docs_ai/task_port_project.md


5. docs_ai/task_create_project.md 📝 Documentation +199/-0

New task guide for creating OpenPRU projects from scratch

• New AI agent task guide for creating new OpenPRU projects from scratch
• Includes pre-read list, decision tree for host interface selection (D1-D3)
• Provides three main sections: copying starting projects, customizing makefiles, and writing
 firmware
• Contains detailed checklists for project setup, makefile customization, and documentation
 requirements
• Includes verification steps and do-not-do list

docs_ai/task_create_project.md


6. docs/open_pru_create_new_mcuplus_project.md 📝 Documentation +276/-0

New guide for adding MCU+ code to OpenPRU projects

• New comprehensive guide for adding MCU+ code to OpenPRU projects
• Covers finding and copying MCU+ code, removing unused components, and renaming projects
• Provides detailed makefile customization guidance for both MCU+ SDK and OpenPRU sources
• Includes build checkpoint verification and CCS project file update instructions
• Explains hex array file generation and path configuration for MCU+ integration

docs/open_pru_create_new_mcuplus_project.md


7. docs_ai/task_add_features.md 📝 Documentation +160/-0

New task guide for adding features to existing projects

• New AI agent task guide for adding features to existing projects
• Includes decision tree for source files, linker changes, host code, and pin connections
• Provides two main sections: adding new source files and modifying existing code
• Contains detailed checklists for documentation, naming conventions, and verification
• Includes do-not-do list covering build outputs, file discovery, and pin routing

docs_ai/task_add_features.md


8. academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_rtu_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +14/-9

Update assembly project template with OpenPRU paths and flags

• Added XML comment header identifying file as assembly-only PRU project template
• Updated project title and name to reflect pru_add_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM243x
• Added compiler optimization flag -O2 and linker flags (--warn_sections, --reread_libs,
 --ram_model)
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_rtu_pru0_fw/ti-pru-cgt/example.projectspec


9. academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_rtu_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +14/-9

Update assembly project template with OpenPRU paths and flags

• Added XML comment header identifying file as assembly-only PRU project template
• Updated project title and name to reflect pru_add_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM243x
• Added compiler optimization flag -O2 and linker flags
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_rtu_pru1_fw/ti-pru-cgt/example.projectspec


10. academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_tx_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +14/-9

Update assembly project template with OpenPRU paths and flags

• Added XML comment header identifying file as assembly-only PRU project template
• Updated project title and name to reflect pru_add_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM243x
• Added compiler optimization flag -O2 and linker flags
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_tx_pru0_fw/ti-pru-cgt/example.projectspec


11. academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_tx_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +14/-9

Update assembly project template with OpenPRU paths and flags

• Added XML comment header identifying file as assembly-only PRU project template
• Updated project title and name to reflect pru_add_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM243x
• Added compiler optimization flag -O2 and linker flags
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_tx_pru1_fw/ti-pru-cgt/example.projectspec


12. academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +20/-15

Update C/assembly project template with OpenPRU paths and C flags

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Updated project title and name to reflect pru_add_c_and_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM263x
• Changed compiler version from -v4 to -v3 for AM263x compatibility
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


13. academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +20/-15

Update C/assembly project template with OpenPRU paths and C flags

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Updated project title and name to reflect pru_add_c_and_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM263x
• Changed compiler version from -v4 to -v3 for AM263x compatibility
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


14. academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +20/-15

Update C/assembly project template with OpenPRU paths and C flags

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Updated project title and name to reflect pru_add_c_and_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM263x
• Changed compiler version from -v4 to -v3 for AM263x compatibility
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


15. academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +20/-15

Update C/assembly project template with OpenPRU paths and C flags

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Updated project title and name to reflect pru_add_c_and_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM263x
• Changed compiler version from -v4 to -v3 for AM263x compatibility
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/c_and_assembly/solution/firmware/am263x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


16. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_rtu_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +26/-10

Update rpmsg Linux example with OpenPRU paths and file entries

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths and rpmsg-related compiler defines
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Removed complex postBuildStep copyright header generation (now empty)
• Added explicit file entries for rpmsg source files and resource table header
• Removed MCU_PLUS_SDK_PATH path variable

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_rtu_pru0_fw/ti-pru-cgt/example.projectspec


17. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_rtu_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +26/-10

Update rpmsg Linux example with OpenPRU paths and file entries

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths and rpmsg-related compiler defines
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Removed complex postBuildStep copyright header generation (now empty)
• Added explicit file entries for rpmsg source files and resource table header
• Removed MCU_PLUS_SDK_PATH path variable

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_rtu_pru1_fw/ti-pru-cgt/example.projectspec


18. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_rtu_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +26/-10

Update rpmsg Linux example with OpenPRU paths and file entries

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths and rpmsg-related compiler defines
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Removed complex postBuildStep copyright header generation (now empty)
• Added explicit file entries for rpmsg source files and resource table header
• Removed MCU_PLUS_SDK_PATH path variable

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_rtu_pru0_fw/ti-pru-cgt/example.projectspec


19. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_rtu_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +26/-10

Update rpmsg Linux example with OpenPRU paths and file entries

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths and rpmsg-related compiler defines
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Removed complex postBuildStep copyright header generation (now empty)
• Added explicit file entries for rpmsg source files and resource table header
• Removed MCU_PLUS_SDK_PATH path variable

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_rtu_pru1_fw/ti-pru-cgt/example.projectspec


20. academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +20/-15

Update C/assembly project template with OpenPRU paths and C flags

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Updated project title and name to reflect pru_add_c_and_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM261x
• Changed compiler version from -v4 to -v3 for AM261x compatibility
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


21. academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +20/-15

Update C/assembly project template with OpenPRU paths and C flags

• Added XML comment header identifying file as C/mixed assembly PRU project template
• Updated project title and name to reflect pru_add_c_and_assembly project
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM261x
• Changed compiler version from -v4 to -v3 for AM261x compatibility
• Updated linker flags for C projects: added stack/heap sizes and C library support
• Simplified postBuildStep to use standard output file naming

academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


22. academy/crc/crc/firmware/am263x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ✨ Enhancement +12/-9

Update CRC project template with OpenPRU paths and flags

• Added XML comment header identifying file as assembly-only PRU project template
• Removed MCU+ SDK product dependency, keeping only com.ti.OPEN_PRU
• Removed MCU+ SDK include paths, updated to use OpenPRU source paths
• Added device-specific include paths for AM263x
• Changed compiler version from -v4 to -v3 for AM263x compatibility
• Added compiler optimization flag -O2 and linker flags
• Added postBuildStep for hex array generation

academy/crc/crc/firmware/am263x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


23. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am243x-evm/icss_g0_rtu_pru0_fw/ti-pru-cgt/makefile_projectspec ✨ Enhancement +1/-5

Update makefile_projectspec project name

• Removed auto-generated makefile header comment
• Updated PROJECT_NAME to reflect pru_add_c_and_inline_assembly project naming convention

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am243x-evm/icss_g0_rtu_pru0_fw/ti-pru-cgt/makefile_projectspec


24. academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-som/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU project configuration for C and assembly

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Assembly"
• Renamed project to include "c_and_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-som/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


25. academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-som/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU project configuration for C and assembly

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Assembly"
• Renamed project to include "c_and_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_assembly/solution/firmware/am261x-som/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


26. academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU project configuration for C and assembly

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Assembly"
• Renamed project to include "c_and_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


27. academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU project configuration for C and assembly

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Assembly"
• Renamed project to include "c_and_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


28. academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU project configuration for C and assembly

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Assembly"
• Renamed project to include "c_and_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


29. academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU project configuration for C and assembly

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Assembly"
• Renamed project to include "c_and_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_assembly/solution/firmware/am263px-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


30. academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +14/-9

Update PRU assembly project configuration and dependencies

• Added XML comment documenting the file purpose for PRU assembly projects
• Updated project title from "Empty" to "Pru Add Assembly"
• Renamed project to include "assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Added -O2 optimization flag
• Updated linker options with additional diagnostic and memory model settings
• Simplified postBuildStep command and output path

academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/example.projectspec


31. academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +14/-9

Update PRU assembly project configuration and dependencies

• Added XML comment documenting the file purpose for PRU assembly projects
• Updated project title from "Empty" to "Pru Add Assembly"
• Renamed project to include "assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Added -O2 optimization flag
• Updated linker options with additional diagnostic and memory model settings
• Simplified postBuildStep command and output path

academy/getting_started_labs/assembly_code/solution/firmware/am243x-evm/icss_g0_pru1_fw/ti-pru-cgt/example.projectspec


32. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


33. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


34. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


35. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


36. academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and inline assembly

• Updated output name from pru_add to pru_add_c_and_inline_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


37. academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and inline assembly

• Updated output name from pru_add to pru_add_c_and_inline_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


38. academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and inline assembly

• Updated output name from pru_add to pru_add_c_and_inline_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


39. academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and inline assembly

• Updated output name from pru_add to pru_add_c_and_inline_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


40. academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and inline assembly

• Updated output name from pru_add to pru_add_c_and_inline_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


41. academy/getting_started_labs/c_and_inline_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and inline assembly

• Updated output name from pru_add to pru_add_c_and_inline_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


42. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


43. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


44. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-som/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-som/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


45. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-som/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am261x-som/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


46. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-cc/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


47. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-cc/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


48. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-lp/icss_m0_pru0_fw/ti-pru-cgt/example.projectspec


49. academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +20/-15

Update PRU C and inline assembly project configuration

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Updated project title from "Empty" to "Pru Add C And Inline Assembly"
• Renamed project to include "c_and_inline_assembly" in the name
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Changed compiler version from v4 to v3 and added -O2 optimization
• Updated linker options with stack/heap sizes and standard library linking
• Simplified postBuildStep command and output path

academy/getting_started_labs/c_and_inline_assembly/solution/firmware/am263px-lp/icss_m0_pru1_fw/ti-pru-cgt/example.projectspec


50. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +26/-10

Update rpmsg example project configuration and dependencies

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Added rpmsg-specific compiler defines for interrupt bits and channel ports
• Added -O2 optimization flag
• Updated linker options with stack/heap sizes and standard library linking
• Removed postBuildStep command entirely
• Removed MCU_PLUS_SDK_PATH variable and added file references for rpmsg sources

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_pru0_fw/ti-pru-cgt/example.projectspec


51. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +26/-10

Update rpmsg example project configuration and dependencies

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Added rpmsg-specific compiler defines for interrupt bits and channel ports
• Added -O2 optimization flag
• Updated linker options with stack/heap sizes and standard library linking
• Removed postBuildStep command entirely
• Removed MCU_PLUS_SDK_PATH variable and added file references for rpmsg sources

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g0_pru1_fw/ti-pru-cgt/example.projectspec


52. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_pru0_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +26/-10

Update rpmsg example project configuration and dependencies

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Added rpmsg-specific compiler defines for interrupt bits and channel ports
• Added -O2 optimization flag
• Updated linker options with stack/heap sizes and standard library linking
• Removed postBuildStep command entirely
• Removed MCU_PLUS_SDK_PATH variable and added file references for rpmsg sources

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_pru0_fw/ti-pru-cgt/example.projectspec


53. examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_pru1_fw/ti-pru-cgt/example.projectspec ⚙️ Configuration changes +26/-10

Update rpmsg example project configuration and dependencies

• Added XML comment documenting the file purpose for PRU C/assembly projects
• Removed MCU-PLUS-SDK dependency, keeping only OPEN_PRU product
• Updated compiler include paths to use OPEN_PRU paths instead of MCU_PLUS_SDK
• Added rpmsg-specific compiler defines for interrupt bits and channel ports
• Added -O2 optimization flag
• Updated linker options with stack/heap sizes and standard library linking
• Removed postBuildStep command entirely
• Removed MCU_PLUS_SDK_PATH variable and added file references for rpmsg sources

examples/rpmsg_echo_linux/firmware/am64x-evm/icss_g1_pru1_fw/ti-pru-cgt/example.projectspec


54. academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-lp/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename build output to reflect C and assembly

• Updated output name from pru_add to pru_add_c_and_assembly
• Updated all bootimage variable names to use the new naming convention
• Updated coverage report generation to use the new output name

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


55. examples/spi_loopback/spi_loopback_app/am243x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec ⚙️ Configuration changes +7/-1

Update SPI loopback app include paths for PRU firmware

• Updated include path from hardcoded firmware path to workspace-relative paths
• Added separate include paths for PRU0 and PRU1 firmware projects
• Added comment explaining workspace path assumptions for PRU firmware headers

examples/spi_loopback/spi_loopback_app/am243x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec


56. academy/getting_started_labs/c_and_assembly/solution/mcuplus/am261x-som/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename PRU add binary to pru_add_c_and_assembly

• Renamed output binary from pru_add to pru_add_c_and_assembly across all build targets
• Updated bootimage names to reflect the new naming convention
• Updated coverage report generation to use the new binary name

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


57. academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-cc/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename PRU add binary to pru_add_c_and_assembly

• Renamed output binary from pru_add to pru_add_c_and_assembly across all build targets
• Updated bootimage names to reflect the new naming convention
• Updated coverage report generation to use the new binary name

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


58. academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263px-lp/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename PRU add binary to pru_add_c_and_assembly

• Renamed output binary from pru_add to pru_add_c_and_assembly across all build targets
• Updated bootimage names to reflect the new naming convention
• Updated coverage report generation to use the new binary name

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


59. academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-cc/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename PRU add binary to pru_add_c_and_assembly

• Renamed output binary from pru_add to pru_add_c_and_assembly across all build targets
• Updated bootimage names to reflect the new naming convention
• Updated coverage report generation to use the new binary name

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


60. academy/getting_started_labs/c_and_assembly/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile ⚙️ Configuration changes +16/-16

Rename PRU add binary to pru_add_c_and_assembly

• Renamed output binary from pru_add to pru_add_c_and_assembly across all build targets
• Updated bootimage names to reflect the new naming convention
• Updated coverage report generation to u...

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 2, 2026

Code Review by Qodo

🐞 Bugs (2)   📘 Rule violations (4)   📎 Requirement gaps (0)   🎨 UX Issues (0)
🐞\ ≡ Correctness (2) ⭐ New (1)
📘\ ⚙ Maintainability (4) ⭐ New (2)

Grey Divider


Action required

1. Broken docs/... relative links 📘
Description
Several new documentation links use repo-root style paths (e.g., docs/...) inside files already
located under docs/, producing broken docs/docs/... relative URLs. This violates the
portability/validity requirement for doc links on case-sensitive and non-Windows environments.
Code

docs/open_pru_create_new_project.md[27]

+steps at [Getting Started with OpenPRU](docs/getting_started.md).
Evidence
Rule 26 requires doc links to be portable and valid; the added links point to docs/... from within
the docs/ directory (and ../docs/... from the repo root), which does not match real on-disk
paths and results in broken links.

docs/open_pru_create_new_project.md[27-27]
docs/open_pru_create_new_mcuplus_project.md[13-13]
best_practices.md[499-500]
Best Practice: Learned patterns

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

## Issue description
Several markdown links were added with incorrect relative paths (e.g., `docs/...` inside files under `docs/`, and `../docs/...` inside repo-root files), which breaks navigation.

## Issue Context
These documents live under `docs/` or the repo root, so links should be relative to the current file location (or use correct repo-root-relative links where supported by the renderer).

## Fix Focus Areas
- docs/open_pru_create_new_project.md[27-27]
- docs/open_pru_create_new_mcuplus_project.md[13-13]
- best_practices.md[499-500]

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


2. Trailing whitespace in README 📘
Description
The updated README contains a line with trailing whitespace, which can cause markdown render
instability and formatting noise in diffs. This violates the documentation formatting requirements.
Code

README.md[122]

+  MCU+ SDK documentation: **Developer Guides > Using SDK with CCS Projects** 
Evidence
Rule 28 requires controlled whitespace and avoidance of trailing spaces (except intentional markdown
line breaks). The updated line ends with an extra trailing space after Projects**.

README.md[122-122]
Best Practice: Learned patterns

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

## Issue description
A modified README line contains trailing whitespace, which violates the documentation formatting rule.

## Issue Context
Trailing whitespace is discouraged because it can create inconsistent rendering and noisy diffs.

## Fix Focus Areas
- README.md[122-122]

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


3. Broken best_practices link 🐞
Description
best_practices.md links to ../docs/open_pru_organization.md, which points outside the repo root and
breaks the reference to the organization doc. Readers won’t be able to reach the authoritative
layout documentation from best_practices.md.
Code

best_practices.md[R499-500]

+See [docs/open_pru_organization.md](../docs/open_pru_organization.md) for the
+authoritative project and repository layout.
Evidence
best_practices.md is located at the repo root, and the organization document is at
docs/open_pru_organization.md. Using a leading "../" escapes the repo root, so the link won’t
resolve correctly in standard Markdown renderers.

best_practices.md[495-500]
docs/open_pru_organization.md[1-6]

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

### Issue description
`best_practices.md` contains a broken relative link to the OpenPRU organization document.

### Issue Context
`best_practices.md` is at the repo root, so linking to `../docs/...` escapes the repo and breaks on GitHub.

### Fix Focus Areas
- best_practices.md[499-500]

### What to change
- Update:
 - `See [docs/open_pru_organization.md](../docs/open_pru_organization.md)`
- To one of:
 - `See [docs/open_pru_organization.md](./docs/open_pru_organization.md)`
 - `See [docs/open_pru_organization.md](docs/open_pru_organization.md)`

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


View more (2)
4. Inline cd && make command 📘
Description
docs_ai/task_add_features.md presents a user-entered shell command inline (backticks) instead of a
fenced code block, which can wrap and break copy/paste. This violates the documentation requirement
to fence shell commands.
Code

docs_ai/task_add_features.md[131]

+  `cd <project> && make -s clean && make`
Evidence
PR Compliance ID 22 requires documentation shell commands to be in fenced code blocks; the added
line shows an inline shell command in backticks.

docs_ai/task_add_features.md[131-131]
Best Practice: Learned patterns

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

## Issue description
Shell commands in `docs_ai/task_add_features.md` are written inline (single-line backticks) instead of fenced code blocks, which can break copy/paste due to wrapping.
## Issue Context
Compliance requires user-entered shell commands in documentation to be presented in fenced code blocks.
## Fix Focus Areas
- docs_ai/task_add_features.md[130-137]

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


5. Wrong OPEN_PRU_PATH depth 🐞
Description
Several makefile_projectspec files set OPEN_PRU_PATH with too few .. levels, so `include
$(OPEN_PRU_PATH)/imports.mak` points at a non-root directory and the project-spec build/export
targets fail unless OPEN_PRU_PATH is manually overridden. This also contradicts the documented
requirement that makefile_projectspec must follow the same folder-depth rule as the sibling
makefile.
Code

examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[R1-2]

export OPEN_PRU_PATH?=$(abspath ../../../../..)
include $(OPEN_PRU_PATH)/imports.mak
Evidence
In the affected directories, makefile_projectspec computes OPEN_PRU_PATH as `$(abspath
../../../../..) (5 levels up) while the sibling makefile` uses a deeper relative path (e.g.,
../../../../../..). Since makefile_projectspec then does include $(OPEN_PRU_PATH)/imports.mak,
the too-shallow value makes it look for imports.mak in the wrong place. The docs explicitly state
OPEN_PRU_PATH in makefile_projectspec must follow the same folder-depth rule as makefile.

examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[5-7]
examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile[1-2]
academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[5-7]
docs/open_pru_create_new_mcuplus_project.md[261-271]

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

## Issue description
Multiple `makefile_projectspec` files set `OPEN_PRU_PATH` with an incorrect relative depth (too few `..` components). Because these files immediately do `include $(OPEN_PRU_PATH)/imports.mak`, the wrong depth makes Make try to include `imports.mak` from the wrong directory, breaking the documented `makefile_projectspec` command-line workflow (build/export CCS projects).
### Issue Context
The repo docs explicitly state that `OPEN_PRU_PATH` in `makefile_projectspec` must follow the same folder-depth rule as the sibling `makefile`. In the affected directories, `makefile` and `makefile_projectspec` disagree on the number of `..` levels.
### Fix Focus Areas
Update each affected `makefile_projectspec` so `OPEN_PRU_PATH` matches the sibling `makefile` in the same directory (same number of `..` levels).
- examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
- examples/fir/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- examples/logic_scope/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
(Recommended) Add a quick consistency check script or CI lint that asserts `OPEN_PRU_PATH` lines match between `makefile` and `makefile_projectspec` in the same folder.

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



Remediation recommended

6. TODO appears in docs 📘
Description
docs_ai/task_create_project.md adds the literal keyword TODO, violating the requirement to avoid
TODO markers in the codebase. This may be flagged by automated TODO tracking tooling.
Code

docs_ai/task_create_project.md[191]

+- Do not use TODO markers — use FIXME (see `best_practices.md`).
Evidence
PR Compliance ID 11 forbids TODO markers; the newly added documentation line includes the literal
TODO keyword.

docs_ai/task_create_project.md[191-191]
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 documentation adds the literal `TODO` keyword, which violates the rule banning TODO markers.
## Issue Context
Compliance requires only `FIXME` for pending work markers; `TODO` must not appear.
## Fix Focus Areas
- docs_ai/task_create_project.md[191-191]

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


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Grey Divider

Previous review results

Review updated until commit a506a7a

Results up to commit 06f1c94


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

Grey Divider
Action required
1. Inline cd && make command 📘 Rule violation ⚙ Maintainability
Description
docs_ai/task_add_features.md presents a user-entered shell command inline (backticks) instead of a
fenced code block, which can wrap and break copy/paste. This violates the documentation requirement
to fence shell commands.
Code

docs_ai/task_add_features.md[131]

+  `cd <project> && make -s clean && make`
Evidence
PR Compliance ID 22 requires documentation shell commands to be in fenced code blocks; the added
line shows an inline shell command in backticks.

docs_ai/task_add_features.md[131-131]
Best Practice: Learned patterns

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

## Issue description
Shell commands in `docs_ai/task_add_features.md` are written inline (single-line backticks) instead of fenced code blocks, which can break copy/paste due to wrapping.

## Issue Context
Compliance requires user-entered shell commands in documentation to be presented in fenced code blocks.

## Fix Focus Areas
- docs_ai/task_add_features.md[130-137]

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


2. Wrong OPEN_PRU_PATH depth 🐞 Bug ≡ Correctness
Description
Several makefile_projectspec files set OPEN_PRU_PATH with too few .. levels, so `include
$(OPEN_PRU_PATH)/imports.mak` points at a non-root directory and the project-spec build/export
targets fail unless OPEN_PRU_PATH is manually overridden. This also contradicts the documented
requirement that makefile_projectspec must follow the same folder-depth rule as the sibling
makefile.
Code

examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[R1-2]

export OPEN_PRU_PATH?=$(abspath ../../../../..)
include $(OPEN_PRU_PATH)/imports.mak
Evidence
In the affected directories, makefile_projectspec computes OPEN_PRU_PATH as `$(abspath
../../../../..) (5 levels up) while the sibling makefile` uses a deeper relative path (e.g.,
../../../../../..). Since makefile_projectspec then does include $(OPEN_PRU_PATH)/imports.mak,
the too-shallow value makes it look for imports.mak in the wrong place. The docs explicitly state
OPEN_PRU_PATH in makefile_projectspec must follow the same folder-depth rule as makefile.

examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[5-7]
examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile[1-2]
academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile[5-7]
docs/open_pru_create_new_mcuplus_project.md[261-271]

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

### Issue description
Multiple `makefile_projectspec` files set `OPEN_PRU_PATH` with an incorrect relative depth (too few `..` components). Because these files immediately do `include $(OPEN_PRU_PATH)/imports.mak`, the wrong depth makes Make try to include `imports.mak` from the wrong directory, breaking the documented `makefile_projectspec` command-line workflow (build/export CCS projects).

### Issue Context
The repo docs explicitly state that `OPEN_PRU_PATH` in `makefile_projectspec` must follow the same folder-depth rule as the sibling `makefile`. In the affected directories, `makefile` and `makefile_projectspec` disagree on the number of `..` levels.

### Fix Focus Areas
Update each affected `makefile_projectspec` so `OPEN_PRU_PATH` matches the sibling `makefile` in the same directory (same number of `..` levels).

- examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
- examples/fir/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- examples/logic_scope/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]

(Recommended) Add a quick consistency check script or CI lint that asserts `OPEN_PRU_PATH` lines match between `makefile` and `makefile_projectspec` in the same folder.

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



Remediation recommended
3. TODO appears in docs 📘 Rule violation ⚙ Maintainability
Description
docs_ai/task_create_project.md adds the literal keyword TODO, violating the requirement to avoid
TODO markers in the codebase. This may be flagged by automated TODO tracking tooling.
Code

docs_ai/task_create_project.md[191]

+- Do not use TODO markers — use FIXME (see `best_practices.md`).
Evidence
PR Compliance ID 11 forbids TODO markers; the newly added documentation line includes the literal
TODO keyword.

docs_ai/task_create_project.md[191-191]
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 documentation adds the literal `TODO` keyword, which violates the rule banning TODO markers.

## Issue Context
Compliance requires only `FIXME` for pending work markers; `TODO` must not appear.

## Fix Focus Areas
- docs_ai/task_create_project.md[191-191]

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


Grey Divider Grey Divider

Qodo Logo

## Verification steps

- [ ] V1. Build the project after each significant change:
`cd <project> && make -s clean && make`
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. Inline cd && make command 📘 Rule violation ⚙ Maintainability

docs_ai/task_add_features.md presents a user-entered shell command inline (backticks) instead of a
fenced code block, which can wrap and break copy/paste. This violates the documentation requirement
to fence shell commands.
Agent Prompt
## Issue description
Shell commands in `docs_ai/task_add_features.md` are written inline (single-line backticks) instead of fenced code blocks, which can break copy/paste due to wrapping.

## Issue Context
Compliance requires user-entered shell commands in documentation to be presented in fenced code blocks.

## Fix Focus Areas
- docs_ai/task_add_features.md[130-137]

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

Comment on lines 1 to 2
export OPEN_PRU_PATH?=$(abspath ../../../../..)
include $(OPEN_PRU_PATH)/imports.mak
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. Wrong open_pru_path depth 🐞 Bug ≡ Correctness

Several makefile_projectspec files set OPEN_PRU_PATH with too few .. levels, so `include
$(OPEN_PRU_PATH)/imports.mak` points at a non-root directory and the project-spec build/export
targets fail unless OPEN_PRU_PATH is manually overridden. This also contradicts the documented
requirement that makefile_projectspec must follow the same folder-depth rule as the sibling
makefile.
Agent Prompt
### Issue description
Multiple `makefile_projectspec` files set `OPEN_PRU_PATH` with an incorrect relative depth (too few `..` components). Because these files immediately do `include $(OPEN_PRU_PATH)/imports.mak`, the wrong depth makes Make try to include `imports.mak` from the wrong directory, breaking the documented `makefile_projectspec` command-line workflow (build/export CCS projects).

### Issue Context
The repo docs explicitly state that `OPEN_PRU_PATH` in `makefile_projectspec` must follow the same folder-depth rule as the sibling `makefile`. In the affected directories, `makefile` and `makefile_projectspec` disagree on the number of `..` levels.

### Fix Focus Areas
Update each affected `makefile_projectspec` so `OPEN_PRU_PATH` matches the sibling `makefile` in the same directory (same number of `..` levels).

- examples/empty/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]
- examples/fir/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- examples/custom_frequency_generator/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- examples/logic_scope/firmware/am243x-lp/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec[1-2]
- academy/getting_started_labs/c_code/solution/mcuplus/am263x-lp/r5fss0-0_freertos/ti-arm-clang/makefile_projectspec[1-2]

(Recommended) Add a quick consistency check script or CI lint that asserts `OPEN_PRU_PATH` lines match between `makefile` and `makefile_projectspec` in the same folder.

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

Resolves this issue around imports.mak comments & settings:
#94

I am unable to replicate Thomas's observations for setting PROFILE
to either debug or release for AM243x on Linux. Next, test on Windows.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
These scripts got out of date and are not currently maintained. Remove
for now, since we do not want customers using them at this point in time.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
The PRU Academy v2026.01.00 made significant updates to the academy training
that this page is based on. Update the OpenPRU version of the docs.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Update this file to more explicitly cover steps in a non-MCU+ usecase.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Create a new OpenPRU document based on the PRU Academy v2026.01.00
page **Getting Started Labs > Lab 1: How to Create a PRU
Project > Creating a CCS PRU Project with MCU+ Code**

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Update the docs/contributing.md file for v2026.01.00. Include updates to
better enable AI agents to interact with
the OpenPRU repo.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
In v2026.01.00, make docs/open_pru_organization the single source of truth
about organization in OpenPRU repo (i.e., other documents should refer to this
document instead of replicating the information).

AI agents using docs/open_pru_organization.md needed the document to include
more information about where key files were located.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Update pr_compliance_checklist to align with updates to other files in the
docs/ folder for v2026.01.00.

Update the pr_compliance_checklist so that any changes to the OpenPRU repository
which may require updates to future AI documentation are flagged, so that the AI
documentation can be reviewed and updated as needed.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Update the readme based on the latest documentation and code.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Create separate best practices sections for C code for MCU+ cores, and
C code for PRU cores.

Do not duplicate information in docs/open_pru_organization, simply refer
to that file.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
We observed that AI agents needed a set of guidelines to consistently execute
certain tasks in the OpenPRU repository. Create the docs_ai folder to house
this AI-specific documentation.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Add docs_ai/task_port_project.md, which provides guidance to AI agents which are
porting an OpenPRU project from one processor to another processor.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Add docs_ai/task_create_project.md, which provides guidance to AI agents which
are creating a new OpenPRU project.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Add docs_ai/task_add_features.md, which provides guidance to AI agents which
are programming code for an OpenPRU project.

This tasklist may need to be significantly modified or replaced in the future,
depending on test results.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
Add a default CLAUDE.md file which points AI agents to the correct
resources. This file may or may not stay in this location, or we may copy a
version of this
into docs_ai and explicitly tell customers to copy and modify the file, similar
to imports.mak.

Signed-off-by: Nick Saulnier <nsaulnier@ti.com>
@nsaulnier-ti nsaulnier-ti force-pushed the a0226750_ai_documentation branch from 06f1c94 to a506a7a Compare April 9, 2026 00:44
@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add comprehensive AI-agent documentation and enhance contribution guidelines

📝 Documentation ✨ Enhancement

Grey Divider

Walkthroughs

Description
• Comprehensive documentation updates for project creation and contribution workflows
• New AI-agent task runbooks for porting, creating, and extending projects
• Enhanced contributing guidelines with detailed build verification and documentation requirements
• Improved project organization documentation with clearer directory structure explanations
Diagram
flowchart LR
  A["Contributing Guidelines"] -->|enhanced| B["docs/contributing.md"]
  C["Project Creation"] -->|new runbook| D["docs_ai/task_create_project.md"]
  E["Project Porting"] -->|new runbook| F["docs_ai/task_port_project.md"]
  G["Feature Addition"] -->|new runbook| H["docs_ai/task_add_features.md"]
  I["AI Documentation Index"] -->|new| J["docs_ai/README.md"]
  K["Claude Integration"] -->|new| L["CLAUDE.md"]
  B -->|references| D
  B -->|references| F
  B -->|references| H
  M["Compliance Checklist"] -->|expanded| N["pr_compliance_checklist.yaml"]
  O["Project Organization"] -->|clarified| P["docs/open_pru_organization.md"]
  Q["Best Practices"] -->|expanded| R["best_practices.md"]
  S["Main README"] -->|updated| T["README.md"]
Loading

Grey Divider

File Changes

1. docs/open_pru_create_new_project.md 📝 Documentation +386/-44

Comprehensive project creation guide with detailed step-by-step instructions

docs/open_pru_create_new_project.md


2. docs_ai/task_create_project.md 📝 Documentation +234/-0

AI-agent runbook for creating new OpenPRU projects from scratch

docs_ai/task_create_project.md


3. docs_ai/task_port_project.md 📝 Documentation +215/-0

AI-agent runbook for porting projects to new devices or boards

docs_ai/task_port_project.md


View more (13)
4. docs_ai/task_add_features.md 📝 Documentation +164/-0

AI-agent runbook for adding features to existing projects

docs_ai/task_add_features.md


5. docs_ai/README.md 📝 Documentation +68/-0

Index and guide for AI-agent task runbooks and reference files

docs_ai/README.md


6. docs/contributing.md 📝 Documentation +157/-46

Enhanced contribution guidelines with detailed workflows and verification steps

docs/contributing.md


7. docs/open_pru_create_new_mcuplus_project.md 📝 Documentation +276/-0

New guide for adding MCU+ code to OpenPRU projects

docs/open_pru_create_new_mcuplus_project.md


8. docs/open_pru_organization.md 📝 Documentation +22/-1

Clarified repository and project directory structure documentation

docs/open_pru_organization.md


9. pr_compliance_checklist.yaml ⚙️ Configuration changes +78/-1

Added compliance checks for documentation drift and contribution requirements

pr_compliance_checklist.yaml


10. CLAUDE.md 📝 Documentation +62/-0

New Claude Code project instructions with strict factuality rules

CLAUDE.md


11. best_practices.md 📝 Documentation +42/-17

Separated PRU C and MCU+ host C best practices with expanded file structure guidance

best_practices.md


12. README.md 📝 Documentation +49/-31

Updated main README with training links and improved CCS build instructions

README.md


13. imports.mak.default 📝 Documentation +4/-0

Added clarifying comments for compiler toolchain path variables

imports.mak.default


14. docs/pru_dependencies.bat Additional files +0/-255

...

docs/pru_dependencies.bat


15. docs/pru_dependencies.sh Additional files +0/-397

...

docs/pru_dependencies.sh


16. docs/pru_dependencies_readme.md Additional files +0/-129

...

docs/pru_dependencies_readme.md


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 9, 2026

Persistent review updated to latest commit a506a7a

### Set up the repo

Before creating a new OpenPRU project, set up the OpenPRU repo by following the
steps at [Getting Started with OpenPRU](docs/getting_started.md).
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. Broken docs/... relative links 📘 Rule violation ⚙ Maintainability

Several new documentation links use repo-root style paths (e.g., docs/...) inside files already
located under docs/, producing broken docs/docs/... relative URLs. This violates the
portability/validity requirement for doc links on case-sensitive and non-Windows environments.
Agent Prompt
## Issue description
Several markdown links were added with incorrect relative paths (e.g., `docs/...` inside files under `docs/`, and `../docs/...` inside repo-root files), which breaks navigation.

## Issue Context
These documents live under `docs/` or the repo root, so links should be relative to the current file location (or use correct repo-root-relative links where supported by the renderer).

## Fix Focus Areas
- docs/open_pru_create_new_project.md[27-27]
- docs/open_pru_create_new_mcuplus_project.md[13-13]
- best_practices.md[499-500]

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

Comment thread README.md
- Build the PRU project using the CCS project menu. Refer to
**the MCU+ SDK documentation > Using SDK with CCS Projects**:
- For more information about using MCU+ SDK projects with CCS, refer to the
MCU+ SDK documentation: **Developer Guides > Using SDK with CCS Projects**
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. Trailing whitespace in readme 📘 Rule violation ⚙ Maintainability

The updated README contains a line with trailing whitespace, which can cause markdown render
instability and formatting noise in diffs. This violates the documentation formatting requirements.
Agent Prompt
## Issue description
A modified README line contains trailing whitespace, which violates the documentation formatting rule.

## Issue Context
Trailing whitespace is discouraged because it can create inconsistent rendering and noisy diffs.

## Fix Focus Areas
- README.md[122-122]

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

Comment thread best_practices.md
Comment on lines +499 to +500
See [docs/open_pru_organization.md](../docs/open_pru_organization.md) for the
authoritative project and repository layout.
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

3. Broken best_practices link 🐞 Bug ≡ Correctness

best_practices.md links to ../docs/open_pru_organization.md, which points outside the repo root and
breaks the reference to the organization doc. Readers won’t be able to reach the authoritative
layout documentation from best_practices.md.
Agent Prompt
### Issue description
`best_practices.md` contains a broken relative link to the OpenPRU organization document.

### Issue Context
`best_practices.md` is at the repo root, so linking to `../docs/...` escapes the repo and breaks on GitHub.

### Fix Focus Areas
- best_practices.md[499-500]

### What to change
- Update:
  - `See [docs/open_pru_organization.md](../docs/open_pru_organization.md)`
- To one of:
  - `See [docs/open_pru_organization.md](./docs/open_pru_organization.md)`
  - `See [docs/open_pru_organization.md](docs/open_pru_organization.md)`

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

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.

2 participants