bootloader串口不通问题
各位大侠好,
我们产品是MCU+2530的架构,现在需在mcu中将2530的app bin通过serial boot下载到2530中。
现在碰到一个问题,mcu reset2530后,发force boot串口指令使得2530的bootloader跳转到serial boot 模式,这一步不成功,不能够进入serial boot。
uart的波特率是38400.
试过正常开机进入app阶段,串口是通的。
请问大家是否有宝贵建议,谢谢!
Serial boot的代码是可见,也可以debug的,你直接跑SBL的工程调调看。
bootloader只等待了很少的一段时间,你可以尝试delay时间长点试试。
另外,serial boot串口的波特率是115200
// Delay to allow the SB_ENABLE_CMD response to be flushed.
for (dlyCnt = 0; dlyCnt < 0x40000; dlyCnt++)
{
HalUARTPollISR();
}
TY,您好!
1.因为不是必现的,我们付出问题的时候准备debug,发现又不复现了;
2.serial boot串口 波特率我们改为了38400,目的是想降低一点速率提高数据稳定性,这一块不知道改了有没问题?
3.我们是出问题时,force boot一直收不到指令,mcu中会重新拉hw reset,也是一样,过一段时间调到app了。
出问题的阶段是sblWait中,delay时间已经拉长,mcu发force boot指令是每秒一次。
#define SB_UART_DELAY 0x80000
降速为什么数据稳定性就提高了呢?我没测过38400的,bootloader的串口本身带有CRC检查数据完整性的。
是否你发出的数据就有什么问题呢?是否有probe串口的数据来定位下。
在 bootloader里自己打些桩用sbResp回送一些数据,来辅助定位