Part Number:AWR6843AOPOther 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进行兼容吗?
shuai guo:
经过分析,是APP中中断导致,关闭所有中断,可以稳定外发CAN数据。请问在APP程序中,需要对中断向量如何偏移,才能正常使用?
SBL文档中,提到“save the vector table for mss image”,这个是什么目的?需要APP做什么操作,才可以兼容?
,
Chris Meng:
你好,
默认sbl使用的是串口下载firmware,你修改为CAN了?
如果把app 的bin文件预先烧写到flash上,用sbl可以正常加载么?
,
shuai guo:
SBL是官方Demo没有修改,我说的是APP的功能,可以稳定外发CAN消息。
如何同时下载SBL和app的BIN文件到外部flash?
,
Chris Meng:
你好,
可以修改sbl 加载app 的flash 的地址,把它修改到uniflash 里第二个image 的地位。重新编译sbl。在uniflash 里烧写sbl 和app image,分别放到第一,第二个image 位置。
,
shuai guo:
HI,按照你的要求,我在SBL工程偏移512*1024(0x80000),使用uniFlash 同时下载SBL和APP,如下图,APP运行起来是同样的现象,还是只是外发2个CAN消息后进入异常。
,
shuai guo:
按照目前我的分析,是APP中打开的中断导致的,如果在APP中不调用中断使能“HwiP_create”。则APP通过SBL下载后,可以稳定外发CAN消息。所以请TI的工程师,帮助确定,APP工程是否需要修改中断向量之类的东东,方可兼容SBL。
,
Chris Meng:
你好,
请问你有修改过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);
,
shuai guo:
我对SBL代码没有修改。