ZHCAFM3 July   2025 UCD3138

 

  1.   1
  2.   摘要
  3. 1不合适的CCS配置导致的问题清单
  4. 2合适的配置避免这些问题
    1. 2.1 避免重命名工程后编译失败
    2. 2.2 避免由于升级CCS或者将工程移植到另外一台电脑后编译失败
    3. 2.3 避免设备锁死
    4. 2.4 解决没有.x0文件生成的问题
    5. 2.5 解决编译成功后没有 .pp文件的问题
  5. 3参考文献

避免设备锁死

同样,用户也可能在升级CCS版本后遭遇设备锁死无法再次烧录image的问题。一个"Device does not appear to be in ROM mode after ENABLE_ROM_command" 的错误提示如图 2-6所示

 Device lockup 图 2-6 Device lockup

应用手册Lockup Avoidance for UCD3138 Devices 对关于设备锁死原因和处理方法的进行了详细的分析。除了此应用手册中提到的原因,这里补充两个由于编译器版本导致的潜在陷阱。

  • 第一个潜在原因是用户正在使用一个不兼容的编译器版本。UCD的EVM code都是基于编译器版本TI V5.2.2~V5.2.5开发的。一部分EVM code并不能和其他编译器版本(如V5.2.9) 很好的工作。如果用户遭遇芯片锁死现象,请先检查是否正在使用一个兼容的编译器版本。如果不是,一个兼容的编译器被要求重新安装。安装步骤如下:

    Step1:点击 Help -> Install Code Generation Compiler Tools-> TI Complier Updates

    Step2: 点击取消show only the latest versions of available software -> ARM Compiler Tools 5.2.5 -> Next ,图 2-7所示。

     Install a compatible compiler
              version 图 2-7 Install a compatible compiler version

    Step3: 完成安装后重启电脑。

    Step4: 切换编译器到v5.2.5 如图 2-8所示。

     Switch to the compatible compiler
              version 图 2-8 Switch to the compatible compiler version
  • 另外一个潜在原因可能是文件'software_interrupt.c' 被设置了一个太激进的code optimization level(如"2-Global Optimizations")导致checksum不能被成功擦除。使用"2-Global Optimizations",事实上一部分UCD3138 系列设备是可以成功擦除 checksum的。但一部分UCD3138 系列设备的checksum却不能成功擦除。为了解决此问题, 'software_interrupt.c'被要求设置为一个较低的optimization level 如 "1-Local Optimizations" 。设置步骤如图 2-9所示。点击project explorer pane -> 右键单击 'software_interrupt.c' -> click properties -> Build -> ARM Compiler -> Optimization-> 1-Local Optimizations
 Select 1-Local Optimizations 图 2-9 Select 1-Local Optimizations