SLUAB41 July   2025 UCD3138

 

  1.   1
  2.   Abstract
  3. 1List of Issues Caused by Inappropriate CCS Configurations
  4. 2Avoiding Issues with Appropriate Configurations
    1. 2.1 Avoiding Build Failures After Project Renaming
    2. 2.2 Avoiding Build Failures Caused by Upgrading CCS or Porting a Project to Another Computer
    3. 2.3 Avoiding Device Lockup
    4. 2.4 Fixing the Issue Where No .x0 File Is Generated
    5. 2.5 Fixing the Issue Where No .pp File Is Generated After Successful Build
  5. 3References

Avoiding Device Lockup

Similarly, users may encounter device lockup after upgrading CCS, which prevents the image from being re-flashed. An error prompt, "Device does not appear to be in ROM mode after ENABLE_ROM_command", is shown in Figure 2-6.

 Device LockupFigure 2-6 Device Lockup

The application note, Lockup Avoidance for UCD3138 Devices, provides a detailed analysis of the causes of and solutions for device lockup. In addition to the causes analyzed in this application note, two additional potential causes associated with the compiler version are introduced here.

  • The first one is that the user is using an incompatible version of the compiler. The EVM codes for UCD are all developed using compiler versions TI V5.2.2-V5.2.5. Some EVM codes do not work well with other compiler versions, such as V5.2.9. If the user encounters a chip lockup, first check whether a compatible compiler version is being used. If not, a compatible compiler must to be installed. The installation steps are as follows:

    Step1: Go to Help -> Install Code Generation Compiler Tools -> TI Compiler Updates.

    Step2: Deselect "Show only the latest versions of available software", select "ARM Compiler Tools 5.2.5", and click Next, as shown in Figure 2-7.

     Install a Compatible Compiler VersionFigure 2-7 Install a Compatible Compiler Version

    Step3: Restart the computer after the installation is complete.

    Step4: Switch the compiler to v5.2.5, as shown in Figure 2-8.

     Switch to the Compatible Compiler VersionFigure 2-8 Switch to the Compatible Compiler Version
  • Another potential cause is that the file "software_interrupt.c" is configured to a code optimization level that is too aggressive (such as "2-Global Optimizations"), causing the checksum to not be erased successfully. At the "2-Global Optimizations" level, it is true that some UCD3138 devices can successfully erase the checksum. However, some other UCD3138 devices fail to erase their checksum. To resolve this issue, the file "software_interrupt.c" must be configured to a lower optimization level, such as "1-Local Optimizations". The configuration steps are shown in Figure 2-9. Open the Project Explorer pane, right-click "software_interrupt.c", go to Properties -> Build -> ARM Compiler -> Optimization -> 1-Local Optimizations.
 Select 1-Local OptimizationsFigure 2-9 Select 1-Local Optimizations