器件型号: AM2612
主题中讨论的其他器件:MCU-PLUS-SDK
您好:
我正在使用以下环境:
器件:AM261x LaunchPad
SDK:motor_control_sdk_am261x_10_02_00_07
IDE:CCS 12.8.1
我尝试通过参考 SDK 中包含的 SDL 示例来实现诊断功能、并且对诊断测试的行为有一些问题。
1.按顺序执行多个内存区域测试时不能正常工作
我使用以下示例作为参考:
sdl_ecc_r5_btcm_am261x-sm_r5fss0-0_nortos_ti-arm-clang
在此示例中、以下存储器区域的常量是预定义的:
SDL_B0TCM0_BANK0
SDL_B0TCM0_BANK1
SDL_B1TCM0_BANK0
SDL_B1TCM0_BANK1
在原始样本中、一次只选择和测试其中一个区域。
我修改了代码、以便在单次执行中依次测试这些区域。
运行修改后的代码时、第一个区域测试成功完成、但第二个区域测试无法正常完成。
在尝试在以下样本中按顺序执行多区域测试时、我也观察到了相同的行为:
sdl_ecc_mss_l2_am261x-sm_r5fss0-0_nortos_ti-arm-clang
sdl_ecc_r5_atcm0_am261x-sm_r5fss0-0_nortos_ti-arm-clang
sdl_ecc_mss_tptc_am261x-sm_r5fss0-0_nortos_ti-arm-clang
2.与其它诊断功能结合使用时,诊断功能不能正常工作
每个诊断功能在单独执行时都能正常工作。
但是、当组合某些诊断功能时、该行为会变得不正确。
例如、如果我从以下示例中提取测试例程:
sdl_ecc_r5_d-data_am261x-sm_r5fss0-0_nortos_ti-arm-clang
sdl_ecc_r5_d-tag_am261x-sm_r5fss0-0_nortos_ti-arm-clang
当单独执行 ECC_R5_d-DATA 和 ECC_R5_d-TAG 时均可正常工作。
但是、如果我首先执行 ecc_r5_d-data 测试、然后再执行 ecc_r5_d-tag 测试、则第二个测试不会产生正确的结果。
我也观察到其他诊断功能组合存在类似的问题。
问题
我怀疑上述两个问题都可能是由于每次诊断测试后缺少清理或取消初始化步骤(例如,不恢复 ECC 配置,中断状态或内部状态)引起的。
是否有建议的方法来正确终止或复位每个 SDL 诊断功能、以便能够连续执行多个诊断(或多个区域)而不会出现问题?
任何指导或最佳做法都将非常感谢。
感谢您的支持。
此致、
樋口