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.

AWR6843AOP: SBL demo引导APP失败

Part Number: AWR6843AOP
Other Parts Discussed in Thread: UNIFLASH

Hi,

你好,我使用mmwave_sdk_03_05_00_04\packages\ti\utils\sbl\ 编译出的SBL BIN通过uniFlash下载,SBL启动成功。

我们公司目前基于mmwave开发的APP,通过uniFlash下载后,已经可以稳定的进行CAN数据外发。

但是通过SBL Xmode下载后,则只发出了两个CAN报文后则发生了异常,不再外发数据。

我们的APP MSS+DSS均有代码运行,请问SBL是否支持?需要APP做一些特殊的操作对SBL进行兼容吗?

  • 经过分析,是APP中中断导致,关闭所有中断,可以稳定外发CAN数据。请问在APP程序中,需要对中断向量如何偏移,才能正常使用?

    SBL文档中,提到“save the vector table for mss image”,这个是什么目的?需要APP做什么操作,才可以兼容?

  • 你好,

    默认sbl使用的是串口下载firmware,你修改为CAN了?

    如果把app 的bin文件预先烧写到flash上,用sbl可以正常加载么?

  • SBL是官方Demo没有修改,我说的是APP的功能,可以稳定外发CAN消息。

    如何同时下载SBL和app的BIN文件到外部flash?

  • 你好,

    可以修改sbl 加载app 的flash 的地址,把它修改到uniflash 里第二个image 的地位。重新编译sbl。在uniflash 里烧写sbl 和app image,分别放到第一,第二个image 位置。

  • HI,按照你的要求,我在SBL工程偏移512*1024(0x80000),使用uniFlash 同时下载SBL和APP,如下图,APP运行起来是同样的现象,还是只是外发2个CAN消息后进入异常。

  • 按照目前我的分析,是APP中打开的中断导致的,如果在APP中不调用中断使能“HwiP_create”。则APP通过SBL下载后,可以稳定外发CAN消息。所以请TI的工程师,帮助确定,APP工程是否需要修改中断向量之类的东东,方可兼容SBL。

  • 你好,

    请问你有修改过sbl的代码么(除了上面提到的appp加载地址)?在sbl里有CAN操作么?

    在SBL代码里是有关闭中断的操作,请确认相关函数有调用。

    /* Loading was successful, cleanup and restore the interrupt vector table */
    if (retVal == 0)
    {
    QSPIFlash_close(qspiFlashHandle);
    QSPI_close(gSblMCB.qspiHandle);
    SBL_transportDeinit();

    /* Disable interrupts before copying IVT. */
    HwiP_disable();

    /* Copy the interrupt vector table. */
    memcpy((void*)&_appVecs[0], (void*)&gSblMCB.sblIntVecTable, SBL_VECTOR_TABLE_SIZE);
    }

    /* Reset the MSS core */
    SOC_softReset(gSblMCB.socHandle, &retVal);

  • 我对SBL代码没有修改。