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.

[参考译文] AWR1642:添加自定义 CLI 命令以实现动态线性调频脉冲配置、但调用 CLI 命令时报告错误

Guru**** 2539500 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1217067/awr1642-add-custom-cli-commands-to-implement-dynamic-chirp-configuration-but-error-is-reported-when-calling-the-cli-command

器件型号:AWR1642
Thread:SYSBIOS 中讨论的其他器件

大家好、

以下是客户可能需要您的帮助的问题:

代码修改基于 SRR 演示、仅启用 USRR 模式。 在 MSS_SRR_CLI.c 文件中、客户添加了新的 CLI 命令及其回调函数:

    cliCfg.tableEntry[4].cmd            = "reconfiguration";
    cliCfg.tableEntry[4].helpString     = "Idle time";
    cliCfg.tableEntry[4].cmdHandlerFxn  = SRR_MSS_CLIChirpReconfiguration;

static int32_t SRR_MSS_CLIChirpReconfiguration(int32_t argc, char* argv[])
{
    int32_t retVal;
    rlDynChirpCfg_t dynChirpCfg[1U];
    unsigned int cnt;
    dynChirpCfg[0].chirpRowSelect=0x30;    //Enables only chirp row 3 to be reconfigured
    dynChirpCfg[0].chirpSegSel=0;
    dynChirpCfg[0].programMode=0;
    for(cnt=0;cnt<2;cnt++)
    {
        dynChirpCfg[0].chirpRow[cnt].chirpNR3=(rlUInt32_t)atoi(argv[0]);
    }
    rlDynChirpCfg_t *dynChirpData[1]=&dynChirpCfg[0];

    retVal=rlSetDynChirpCfg(RL_DEVICE_MAP_INTERNAL_BSS,4U,&dynChirpData[0]);

    /* Check for mmWaveLink API call status */
    if (retVal != RL_RET_CODE_OK)
        {
            System_printf("Error: Unable to configure the dynamic chirp [Error %d]\n",retVal);
            return -1;
        }
    rlDynChirpEnCfg_t dynChirpEnCfg = {0};
    retVal = rlSetDynChirpEn(RL_DEVICE_MAP_INTERNAL_BSS, &dynChirpEnCfg);
    if(retVal != RL_RET_CODE_OK)
    {
        /* Error: Link reported an issue. */
        System_printf("Error: rlSetDynChirpEn retVal=%d\n", retVal);
        return -1;
    }
    return 0;
}

CLI 命令 advFrameCfg 和 sensorStart 在调试期间运行良好、但在输入自定义重新配置命令后、会出现以下错误:  

[Cortex_R4_0]调试:已启动初始化任务
Debug:初始化毫米波模块
调试:已同步毫米波模块
调试:CLI 正常运行
[C674x_0]堆 L1:大小16384 (0x4000)、FREE 1216 (0x4c0)
堆 L3:大小786432 (0xc0000)、free 229376 (0x38000)
堆 L2:大小49152 (0xc000)、free 27040 (0x69a0)
[Cortex_R4_0]调试:针对 SRR 配置了毫米波。
调试:传感器将瞬间启动。
ThreadType_Task 发生异常。
任务句柄:0x8005ce0。
任务堆栈基地址:0x8005d40。
任务堆栈大小:0x1000。
R0 = 0x00000000 R8 = 0xffffffff
R1 = 0x00000000 R9 = 0x080099a0
R2 = 0x08006a28 R10 = 0x0800985c
R3 = 0x00000001 R11 = 0xffffffff
R4 = 0x00000000 R12 = 0x00000000
R5 = 0x00000000 SP (R13)= 0x08006b60
R6 = 0x00010000 LR (R14)= 0x00009919
R7 = 0x00000007 PC (R15)= 0x00080000
PSR = 0x400c019f
DFSR = 0x00000000 IFSR = 0x0000000d
DFAR = 0x00000000 IFAR = 0x00080000
TI.sysbios.family.arm.exc.exception:line 201:e_prefetchAbort:PC = 0x00080000、LR = 0x00009919。
xdc.runtime.Error.raise:正在终止执行

您能帮助检查一下吗? 谢谢。

此致、

樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    该错误似乎不是来自毫米波链路。

    看起来它与 ARM 存储器保护单元相关。

    在"rlSetDynChirpCfg()"调用后是否会发生此错误?

    谢谢你

    Cesar