This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM13E23019: How do I create a new project for AM13E23019?

Part Number: AM13E23019
Other Parts Discussed in Thread: SYSCONFIG

Hi,

How to create a new project for the AM13E23019 so that all dependencies are in the same folder. This way, when copying the project folder to another computer, the project can be compiled even if the AM13E23019 SDK is not installed on that computer. This is similar to how the ST STM32CubeMX works, for example.

Ari.

 

  • Hi Ari,

    The AM13x MCU SDK does not natively support creating fully self-contained, portable projects the way STM32CubeMX does. By default, projects reference dependencies from the SDK installation directory (e.g., C:/ti/mcu_sdk) using absolute paths [1], so they won't compile on another machine without the SDK installed at the same location.

    That said, you can manually restructure a project to be portable. Here's the approach:


    How to Create a Portable Project

    1. Copy SDK Source Files Into Your Project

    The SDK's source/ folder contains the core drivers, libraries, and device support code. You'll need to copy the relevant subfolders into your project directory [2]:

    • source/device/am13e2x/ — device-specific configuration and hardware headers
    • source/driverlib/ — driver library implementation
    • source/arch/ — architecture-specific headers
    • source/compiler/ — compiler-specific files
    • source/utils/ — utility code

    2. Freeze the SysConfig-Generated Files

    SysConfig auto-generates ti_sdk_dl_config.c and ti_sdk_dl_config.h during each build. To remove this dependency [3]:

    1. Build your project once with SysConfig enabled
    2. Copy the generated files from Debug/syscfg/ into your project's source folder
    3. Exclude the *.syscfg file from the build (right-click → Exclude from Build in CCS)

    This locks in your pin/peripheral configuration as static source files.

    3. Update Compiler Include Paths

    The default project references SDK paths like {mcu_sdk}/source/device/am13e2x/include/hw, {mcu_sdk}/source/arch/include, etc. [1]. You'll need to change all of these to relative paths pointing to your local copies — for example, ./sdk/source/device/am13e2x/include/hw if you placed the SDK files in an sdk/ subfolder within your project.

    4. Update Build Configuration Files

    The SDK uses a CMake-based build system with configuration files like developer_config.mk, imports.mk, and device-specific makefiles [2]. You'll need to modify these to reference your local paths instead of the SDK installation directory.


    Knowledge Gaps to Be Aware Of

    There are a few things I couldn't confirm from the available documentation:

    • Minimum required SDK files — I listed the likely folders above, but the exact minimum set of source files needed for a basic project isn't documented. You may need to iterate by copying folders and resolving missing-file errors.
    • Linker scripts — These also reference SDK paths and will need updating, but specific instructions for modifying them aren't covered in the available resources.
    • No official TI tool or script exists (that I could find) to automate this process for the AM13x SDK.

    A Simpler Alternative

    If full portability isn't strictly required, the easiest workaround is to standardize the SDK installation path across all machines (e.g., always install to C:/ti/mcu_sdk). This avoids the manual restructuring entirely, though it does require the SDK to be installed everywhere.


    I'd recommend starting with a working example project from [MCU_SDK Install_dir]/examples/, building it once, then systematically copying dependencies into the project folder and converting paths to relative references. It's a manual process, but it will get you the STM32CubeMX-like portability you're looking for.

    Hope this helps.

    Best Regards,

    Zackary Fleenor

  • Hi Zackary,

     I also didn't understand the conventional project creation process in the "Project Wizard". I need to choose an example in "[MCU_SDK Install_dir]/examples/" and the wizard just creates a folder with some configuration files in "/workspace_ccstheia" and continues referencing the source files in the example folder. Without copying the sources. What is the use of this?
    Now when I use "Import Projects", a project with the same name as the example is created in the "/workspace_ccstheia" folder, but in this case the source files are copied to that folder.
    Is there a way to create a new project in the "/workspace_ccstheia" folder (with a project name different from the reference example), so that the source files are also copied?

    I would also like to know how to remove a project from the "Project Explorer" without deleting the project folder. When I use "Delete", the project folder is deleted in "/workspace_ccstheia".

    Ari.

  • Hi Ari,

    Good follow-up questions. Let me address each one.


    Project Wizard vs. Import Projects

    You've correctly identified the difference: the Project Wizard creates only configuration files in /workspace_ccstheia and links back to the source files in the SDK examples folder without copying them [1]. Import Projects, on the other hand, copies the source files into your workspace [1].

    The Project Wizard's linked-reference approach is designed for cases where you want to work directly against the SDK examples in place — useful for quick evaluation, but not for creating independent projects.

    Creating a New Project with a Custom Name and Copied Sources

    There's no built-in way to do this in a single step. The recommended workaround is:

    1. Use Import Projects to import the example (this copies the sources into /workspace_ccstheia)
    2. Rename the project by right-clicking on it in Project Explorer → Rename [2]

    You can add a prefix or change the name entirely to distinguish it from the original example. This gives you a project with copied sources and a custom name.


    Removing a Project from Project Explorer Without Deleting Files

    When you use Delete on a project in CCS, there should be a checkbox option asking whether to "Delete project contents on disk". The documented behavior is:

    • For SDK example projects (created via Project Wizard with linked references), deleting removes the project from your workspace only — the original source files in ${SDK_INSTALL_PATH}/examples are not deleted, and you can reimport them later [3].
    • For imported projects (where sources were copied to /workspace_ccstheia), you need to uncheck the "Delete project contents on disk" option to preserve the folder.

    A gap I should flag: The available documentation doesn't clearly confirm whether CCS Theia has a "Close Project" option (like Eclipse-based CCS did) that simply hides the project from the explorer without any deletion prompt. If the checkbox approach doesn't work as expected, the safest method is to leave the project in the explorer and simply collapse it.


    Quick Summary

    Action
    Result
    Project Wizard
    Config files only; sources stay in SDK folder (linked)
    Import Projects
    Sources copied to workspace; project name matches example
    Import → Rename
    Best way to get copied sources with a custom project name
    Delete (uncheck "contents on disk")
    Should remove from explorer while preserving folder

    Hope this clarifies the workflow.


    1. AM13x CCS Project Setup - TI Academy
    2. AM13x CCS Project Setup - Renaming Projects
    3. CCS Projects Page - Deleting and Reimporting

    Best Regards,

    Zackary Fleenor

  • Thank you very much, Zachary.

    Ari