背景:
公司需要做基于NB的产品,需要提前对客户所在地区NB信号进行测试。手头有几个BC26模组,想做几个NB信号测试仪(某宝有成品,太贵了)。由于需求简单,为了简化硬件,采用OpenMCU方案进行开发。
硬件:
1、自己做的板子,基于硬件版本为 BC26NC-04-STD 的模块,带0.96寸SSD1306的OLED液晶屏;
2、模块的USB已引出,USB_MODE已引出,下载程序是通过USB下载的。此处画重点;
3、CP2102的USB转TTL,接到模块的 UART_PORT0;
4、几年前某宝上买的模块,没有售后和技术支持,更没有厂家的FAE;
软件:
1、BC26_OpenCPU_NB1_SDK_V1.5,正常编译
2、IOT Flash Tool V2.7.3.0 ,正常下载
3、sscom5.13.1 串口工具,串口输出正常
进展:
1、程序没有大的问题,可以跑,液晶屏输出正常;满足基本的需求。
2、串口有输出,正常;
3、特定条件下无法运行,参见下文;
问题:
1、程序下载后,使用USB口供电,并且保证USB接口完全正常(D+、D-接入),板子完全正常,开机后串口输出正常,程序运行正常;
2、程序下载后,仅使用USB供电或者使用外置电源供电,没有正常的USB功能(D+、D-切断),板子在上电开机后, 通过串口输出发现打印 “Leaving the BROM” 后不再往下执行, proc_main_task 和 自定义的 TASK 都没有执行;
3、也就是说,同样的条件下,必须接在电脑上,且必须保证USB功能正常才能正常运行;
4、第一次使用 OpenCPU 做开发,资料比较少,全网也没搜到这样的奇怪故障。且这个proc_main_task都无法运行,没办法调试。恳请官方协助解决下这个问题。