LAUNCHXL-F28P55X: Edge AI Studio: compilation problem

Part Number: LAUNCHXL-F28P55X
Other Parts Discussed in Thread: C2000WARE

I'm trying to train a neural network to use on the F28P55X, gradually fixing issues as I find them, but the documentation/help files I've been able to find for Edge AI Studio are unbelievably low-detail compared to for example the Resource Explorer in CCS: pretty much all I've found is the Quick Start Guide, which gives hardly any information on what the various options mean or how to troubleshoot the program.

This is as far as I've gotten:

image.png

I think I've got everything set up properly to train a model on my dataset to where it will run the model on the F28P55X NPU (again, no specifics are given in the Quick Start Guide). The Export button lets me export a trained model which contains an ONNX, but "Compiled Model" is grayed-out:

image.png

believe I'm supposed to click the little running-man icon here to compile it into something I can use in CCS:

image.png

When I do that, I get a progress bar for compilation, but it never gets beyond 1% and then just resets back to "100% trained, not compiled".

image.png

What am I missing here?

  • Aaron,

    Thank you for reporting the error you are seeing, and the feedback on the documentation.

    1) It looks like the compilation step is failing. This is why the progress is stuck on "trained, not compiled", and why the option to "export compiled model" is greyed out. Can you let me know which version of Edge AI Studio you are using?

    If you don't mind, you can also export the project within the GUI and sending it to us for debugging. This will greatly help us with the analysis process. Otherwise, we will also try to reproduce the issue on our end based on the information you provided.

    2) I generally agree that the documentation for Edge AI Studio is a little on the light side right now. My team is working on improving this, with additional tooltips and guidance within the tool itself, and also additional user guides and application notes as part of our release.

    Thank you,

    Ricky

  • 20260701-205443_REGR_8k_NPU.zip

    Attached the zip of the trained model. The error has occurred in both 1.6.1 (previous images) and in 1.6.0 as per below:

    I'm going to try to run the compilation step with tvmc in the command line next.

  • Hi Aaron,

    I wonder whether some tools are not installed on your windows c:\ti folder.
    When you start a run from training wizard, do you have all dependencies checked with green marks like below?

    In your installation directory like  C:\ti\eaistudio1.6.1-timeseries\model-composer\logs\ directory, you can find multiple log files there, e.g. edgeai_server.log, etc. The log files may give details why the compilation failed.  If you do not mind, can you zip the log folder and share with us for identifying the causes of the compilation  issue?

    BTW, the zip you sent us is an exported trained model and it is not a project that we can import for reproducing the issue.

  •  edgeai_server.log 7e40b4c0.zip

    Attached the requested log (there was only the one file in *\model-composer\logs). I've also zipped the entire project directory (minus most of the dataset files; DM me if you need the whole thing).

    And yes, all the dependencies are checked green.

    EDIT: typo

  • Thanks for the information.  I can reproduce it with 1.6.0.

    The compile log file shows invalid paths C:\ti\C2000Ware_DigitalPower_SDK_5_06_00_00\driverlib\f28p55x\driverlib and C:\ti\C2000Ware_DigitalPower_SDK_5_06_00_00\device_support\f28p55x\common\include.

    I think our tool should use something like C:\ti\C2000Ware_6_00_01_00\driverlib\f28p55x\driverlib and  C:\ti\C2000Ware_6_00_01_00\device_support\f28p55x\common\include

    I filed a bug to our tool. To workaround the issue for the moment, can you please backup C:\ti\eaistudio1.6.0-timeseries\model-composer-extensions\tinyml-backend-1.3.0\overrides.json, and replace it with the attached overrides.json. The main change is to fix the correct environment variables that are used by our tool to locate the correct C2000Ware sdk.  Please also ensure your installed c2000Ware sdk has the folders listed above.

    {
        "task_descriptions": {
    		"generic_timeseries_classification" : { 
    			"filters":{ 
    				"Task Type":["Detection","Classification","Time Series"], 
    				"Application Domain":["Motor Control","Automotive","Appliances"], 
    				"Sensors":["Current","Voltage","Accelerometer","Direct Current","Alternating Current","Passive Infrared"]
    			},
    			"upgrade_info" : {
    				"from" : {
    					"1.0.0" : [],
    					"1.0.1" : []
    				}
    			}
    		},
    		"arc_fault": {
    			"filters":{
    				"Task Type":["Detection","Classification","Time Series"],
    				"Application Domain":["Digital Power","Appliances"],
    				"Sensors":["Current","Direct Current","Alternating Current"]
    			},
    			"upgrade_info" : {
    				"from" : {
    					"1.0.0" : [],
    					"1.0.1" : []
    				}
    			}
    		},
    		"motor_fault":{
    			"filters":{
    				"Task Type":["Detection","Classification","Time Series"],
    				"Application Domain":["Motor Control","Automotive","Appliances"],
    				"Sensors":["Accelerometer","Voltage"]
    			},
    			"upgrade_info" : {
    				"from" : {
    					"1.0.0" : [],
    					"1.0.1" : []
    				}
    			}
    		},
    		"blower_imbalance":{
    			"filters":{
    				"Task Type":["Detection","Classification","Time Series"],
    				"Application Domain":["Motor Control","Automotive"],
    				"Sensors":["Current"]
    			},
    			"upgrade_info" : {
    				"from" : {
    					"1.0.0" : [],
    					"1.0.1" : []
    				}
    			}
    		},
    		"pir_detection":{
    			"filters":{
    				"Task Type":["Detection","Classification","Time Series"],
    				"Application Domain":["Appliances"],
    				"Sensors":["Passive Infrared"]
    			}
    		}
        },
    	"context_help": {
    		"capture": {
                "arc_fault_default_capture": {
                    "context": {
                        "task_type": [ "arc_fault" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/explore/node?node=A__AJmsZHbxSEUwh2-Fo6fUqA__digital_power_c2000ware_sdk_software_package__5C6SEVO__LATEST"
                },
    			"motor_fault_default_capture": {
                    "context": {
                        "task_type": [ "motor_fault" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/local?id=c2000_motorcontrol_motor_fault_detection_using_embedded_ai_pdf&packageId=motor_control_c2000ware_sdk_software_package"
                },
    			"blower_imbalance_default_capture": {
                    "context": {
                        "task_type": [ "blower_imbalance" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/global?id=c2000_fan_imbalance_detection_using_embedded_ai_pdf"
                }
            },
    		"livedemo": {
                "arc_fault_default_livedemo": {
                    "context": {
                        "task_type": [ "arc_fault" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/explore/node?node=A__AJmsZHbxSEUwh2-Fo6fUqA__digital_power_c2000ware_sdk_software_package__5C6SEVO__LATEST"
                },
    			"motor_fault_default_livedemo": {
                    "context": {
                        "task_type": [ "motor_fault" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/local?id=c2000_motorcontrol_motor_fault_detection_using_embedded_ai_pdf&packageId=motor_control_c2000ware_sdk_software_package"
                },
    			"blower_imbalance_default_livedemo": {
                    "context": {
                        "task_type": [ "blower_imbalance" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/global?id=c2000_fan_imbalance_detection_using_embedded_ai_pdf"
                }
            },
            "deploy": {
                "arc_fault_default_deploy": {
                    "context": {
                        "task_type": [ "arc_fault" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/explore/node?node=A__AJmsZHbxSEUwh2-Fo6fUqA__digital_power_c2000ware_sdk_software_package__5C6SEVO__LATEST"
                },
    			"motor_fault_default_deploy": {
                    "context": {
                        "task_type": [ "motor_fault" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/local?id=c2000_motorcontrol_motor_fault_detection_using_embedded_ai_pdf&packageId=motor_control_c2000ware_sdk_software_package"
                },
    			"blower_imbalance_default_deploy": {
                    "context": {
                        "task_type": [ "blower_imbalance" ],
                        "devices":[
                            "F28P55"
                        ]
                    },
                    "help_url":  "https://dev.ti.com/tirex/global?id=c2000_fan_imbalance_detection_using_embedded_ai_pdf"
                }
            }
    	},
        "rex_dependencies": [
            {
                "readableName": "AM13E230X SDK",
                "installDirPattern": "am13e230x_sdk_(.*)",
                "rexPackageId": "AM13E2X-SDK",
                "rexPackageVersion": "26.00.00.01",
                "envVarName": "COM_TI_AM13E230X_SDK_INSTALL_DIR",
                "devices": [
                    "AM13E2"
                ],
                "task": "compile"
            },
            {
                "readableName": "SimpleLink SDK EdgeAI Plugin",
                "installDirParent": "exports",
                "installDirPattern": "simplelink_sdk_edgeai_plugin_(.*)",
                "rexPackageId": "SIMPLELINK-SDK-EDGEAI-PLUGIN",
                "rexPackageVersion": "1.00.00.00",
                "envVarName": "SIMPLELINK_SDK_EDGEAI_PLUGIN_INSTALL_DIR",
                "devices": [
                    "CC1352",
                    "CC1354",
                    "CC2755",
                    "CC2754",
                    "CC35X1"
                ],
                "task": "compile"
            },
            {
                "readableName": "SimpleLink CC13xx CC26xx SDK",
                "installDirPattern": "simplelink_cc13xx_cc26xx_sdk_(.*)",
                "rexPackageId": "com.ti.SIMPLELINK_CC13XX_CC26XX_SDK",
                "rexPackageVersion": "8.32.00.07",
                "envVarName": "COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR",
                "devices": [
                    "CC1352",
                    "CC1354"
                ],
                "task": "compile"
            },
            {
                "readableName": "SimpleLink Low Power F3 SDK",
                "installDirPattern": "simplelink_lowpower_f3_sdk_(.*)",
                "rexPackageId": "com.ti.SIMPLELINK_LOWPOWER_F3_SDK",
                "rexPackageVersion": "9.14.02.16",
                "envVarName": "COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR",
                "devices": [
                    "CC2755",
                    "CC2754"
                ],
                "task": "compile"
            },
            {
                "readableName": "SimpleLink™ Wi-Fi SDK",
                "installDirPattern": "simplelink_wifi_sdk_(.*)",
                "rexPackageId": "com.ti.SIMPLELINK_WIFI_SDK",
                "rexPackageVersion": "9.22.00.15",
                "envVarName": "COM_TI_SIMPLELINK_WIFI_SDK_INSTALL_DIR",
                "devices": [
                    "CC35X1"
                ],
                "task": "compile"
            },
            {
                "readableName": "MCU+ SDK for AM263x",
                "installDirPattern": "mcu_plus_sdk_am263x_(.*)",
                "rexPackageId": "com.ti.MCU_PLUS_SDK_AM263X",
                "rexPackageVersion": "11.01.00.19",
                "envVarName": "MCU_PLUS_SDK_PATH",
                "devices": [
                    "AM263"
                ],
                "task": "compile"
            },
            {
                "readableName": "MCU+ SDK for AM263Px",
                "installDirPattern": "mcu_plus_sdk_am263px_(.*)",
                "rexPackageId": "MCU-PLUS-SDK-AM263PX",
                "rexPackageVersion": "11.01.00.19",
                "envVarName": "MCU_PLUS_SDK_PATH",
                "devices": [
                    "AM263P"
                ],
                "task": "compile"
            },
            {
                "readableName": "MCU+ SDK for AM261x",
                "installDirPattern": "mcu_plus_sdk_am261x_(.*)",
                "rexPackageId": "MCU-PLUS-SDK-AM261X",
                "rexPackageVersion": "11.01.00.19",
                "envVarName": "MCU_PLUS_SDK_PATH",
                "devices": [
                    "AM261"
                ],
                "task": "compile"
            },
            {
                "readableName": "MSPM0 SDK",
                "installDirPattern": "mspm0_sdk_(.*)",
                "rexPackageId": "MSPM0-SDK",
                "rexPackageVersion": "2.10.00.04",
                "envVarName": "COM_TI_MSPM0_SDK_INSTALL_DIR",
                "devices": [
                    "MSPM0G3507",
                    "MSPM0G3519",
                    "MSPM0G5187"
                ],
                "task": "compile"
            },
            {          
                "readableName": "C2000Ware",
                "installDirPattern": "C2000Ware_(.*)",
                "rexPackageId": "C2000WARE",
                "rexPackageVersion": "6.00.01.00",
                "envVarName": "C2000WARE_ROOT",
                "devices": [
                    "F280013",
                    "F280015",
                    "F28003",
                    "F28004",
                    "F2837",
                    "F28P65",
                    "F28P55"
                ],
                "task": "compile"
            },
            {
                "readableName": "C2000Ware MotorControl SDK",
                "installDirPattern": "C2000Ware_MotorControl_SDK_(.*)",
                "rexPackageId": "motor_control_c2000ware_sdk_software_package",
                "rexPackageVersion": "5.04.00.00",
                "envVarName": "C2000WARE_MOTOR_CONTROL_ROOT",
                "devices": [
                    "F280013",
                    "F280015",
                    "F28003",
                    "F28004",
                    "F2837",
                    "F28P65",
                    "F28P55"
                ],
                "task": "compile"
            },
            {
                "readableName": "C2000Ware DigitalPower SDK",
                "installDirPattern": "C2000Ware_DigitalPower_SDK_(.*)",
                "rexPackageId": "digital_power_c2000ware_sdk_software_package",
                "rexPackageVersion": "5.06.00.00",
                "envVarName": "C2000WARE_DIGITAL_POWER_ROOT",
                "devices": [
                    "F280013",
                    "F280015",
                    "F28003",
                    "F28004",
                    "F2837",
                    "F28P65",
                    "F28P55"
                ],
                "task": "compile"
            },
            {
                "readableName": "F29H85X SDK",
                "installDirPattern": "f29h85x-sdk_(.*)",
                "rexPackageId": "f29h85x-sdk",
                "rexPackageVersion": "1.02.01.00",
                "envVarName": "COM_TI_MCU_SDK_INSTALL_DIR",
                "devices": [
                    "F29H85",
                    "F29P58",
                    "F29P32"
                ],
                "task": "compile"
            },
            {
                "readableName": "MSPM33 SDK",
                "installDirPattern": "mspm33_sdk_(.*)",
                "rexPackageId": "MSPM33-SDK",
                "rexPackageVersion": "1.02.00.00",
                "envVarName": "COM_TI_MSPM33_SDK_INSTALL_DIR",
                "devices": [
                    "MSPM33C32",
                    "MSPM33C34"
                ],
                "task": "compile"
            },
            {
                "readableName": "TI C28-CLA Compiler",
                "installDirPattern": "ti_cgt_c2000_(.*)",
                "rexPackageId": "C2000-CGT",
                "rexPackageVersion": "22.06.02.00",
                "envVarName": "C2000_CG_ROOT",
                "devices": [
                    "F280013",
                    "F280015",
                    "F28003",
                    "F28004",
                    "F2837",
                    "F28P65",
                    "F28P55"
                ],
                "task": "compile"
            },
            {
                "readableName": "TI C29 Clang Compiler",
                "installDirPattern": "ti_cgt_c29_(.*)",
                "rexPackageId": "C29-CGT",
                "rexPackageVersion": "2.02.00.00",
                "envVarName": "ARM_LLVM_CGT_PATH",
                "devices": [
                    "F29H85",
                    "F29P58",
                    "F29P32"
                ],
                "task": "compile"
            },
            {
                "readableName": "TI Arm Clang Compiler",
                "installDirPattern": "ti_cgt_arm_llvm_(.*)",
                "rexPackageId": "ti_cgt_tiarmclang",
                "rexPackageVersion": "4.00.04.00",
                "envVarName": "ARM_LLVM_CGT_PATH",
                "devices": [
                    "AM13E2",
                    "AM263",
                    "AM263P",
                    "AM261",
                    "CC1352",
                    "CC1354",
                    "CC2755",
                    "CC2754",
                    "CC35X1",
                    "MSPM0G3507",
                    "MSPM0G3519",
                    "MSPM0G5187",
                    "MSPM33C32",
                    "MSPM33C34"
                ],
                "task": "compile"
            }
        ],
    	"target_device_descriptions":{
    		"F280013":{
    			"device_family":"C2000"
    		},
    		"F280015":{
    			"device_family":"C2000"
    		},
    		"F28003":{
    			"device_family":"C2000"
    		},
    		"F28004":{
    			"device_family":"C2000"
    		},
    		"F2837":{
    			"device_family":"C2000"
    		},
    		"F28P65":{
    			"device_family":"C2000"
    		},
    		"F28P55":{
    			"device_family":"C2000"
    		},
    		"F29H85":{
    			"device_family":"C2000"
    		},
    		"F29P58":{
    			"device_family":"C2000"
    		},
    		"F29P32":{
    			"device_family":"C2000"
    		},
    		"MSPM0G3507":{
    			"device_family":"MSPM0"
    		},
    		"MSPM0G3519":{
    			"device_family":"MSPM0"
    		},
    		"MSPM0G5187":{
    			"device_family":"MSPM0"
    		},
    		"MSPM33C32":{
    			"device_family":"MSPM33"
    		},
    		"MSPM33C34":{
    			"device_family":"MSPM33"
    		},
    		"CC2755":{
    			"device_family":"CC2XX"
    		},
    		"CC2754":{
    			"device_family":"CC2XX"
    		},
    		"CC1352":{
    			"device_family":"CC2XX"
    		},
    		"CC1354":{
    			"device_family":"CC2XX"
    		},
    		"CC35X1":{
    			"device_family":"CC2XX"
    		},
    		"AM13E2":{
    			"device_family":"AM1X"
    		},
    		"AM263":{
    			"device_family":"AM2X"
    		},
    		"AM263P":{
    			"device_family":"AM2X"
    		},
    		"AM261":{
    			"device_family":"AM2X"
    		}
    	}
    }
    

  •   Aha!

    Per screenshot, the requested folders appear to have been installed one directory down from where the tool is expecting them to be: they're in *\ti\C2000Ware_DigitalPower_SDK_5_06_00_00\c2000ware instead.

    I also tried the new overrides.json and it succeeded.