FAQ
Cube使用常见问题
Q:OneOS-Cube会被某些杀毒软件删除
A:如果被删了重新安装OneOS-Cube即可,每次运行OneOS-Cube之前把杀毒软件关掉
工程配置常见问题
Q.【AP6181】内存不足会导致WLAN模块初始化失败
A:在使用WiFi模组时建议把其它不用、不相关驱动设备都关掉,比如audio、senseor等;配置方法:menuconfig->Drivers
Q.【ESP8266】WiFi模组收发大数据包失败,扫描空口AP信息卡住无结果返回
A:在menuconfig->Drivers->Serial 将TX/Rx buffer调大,在内存够用的情况下可调至4096
Q.内存不足导致网络文件系统(NFS)挂载失败,串口输出out of memory
A:使用NFS前建议把其它不用的文件系统、驱动等都关闭。关闭配置:menuconfig->components->virtual file system, menuconfig->drivers
Q.【ML302-OC】开发板载入工程之后,串口打印(OS_OBJECT_TASK == os_object_get_type((os_object_t *)task)) assertion failed at function: os_task_sl[221] 进而卡死,开发板LED指示灯不闪烁
A:#define UIS8910DM_RECV_BUFF_LEN 2048;配置过大,恢复默认的512即可,配置方法如图:
Q.模组M5311自动创建后再手动修改UART2波特率,导致执行AT指令超时
A:menuconfig工程配置时已指定UART2波特率为19200,中移模组M5311自动创建初始化时就以波特率19200生效,若模组自动创建成功后,再手动修改波特率为115200会导致设置不生效不自动更新,进而导致执行AT指令时全部超时
OneOS-API常见问题
内核
BSP
Q:【BSP】Pandora开发板的屏幕SPI3和WIFI SDIO管脚冲突
A: 将SPI3配置为半双工模式
组件
Q:模组适配的时候,大包(大于1500bytes)发送失败
A:适当调大OS_SERIAL_RX_BUFSZ,建议配置值如下表:
模组型号 | M5310A | M5311 | ML302 | EC200X | ESP8266 |
---|---|---|---|---|---|
OS_SERIAL_RX_BUFSZ | 4096 | 2048 | 1500 | 3072 |
Q:通过gcc编译的工程在shell下调用atest_run执行测试用例出现tshell stack overflow导致测试执行阻塞
A:问题现象:
问题原因:局部变量太大导致线程栈溢出,因为gcc的库函数没有keil那么精简,调用起来开销会大一点,所以用keil编译出来的没问题,gcc编译出来的就会溢出,同时用shell调用函数也是比用atest调用函数开销小
解决办法1:局部变量改用用全局变量或者动态申请内存
解决办法2:menuconfig->components->shell 将the stack size for shell stack设置成4096
Q:【MQTT】onenet mqtt在某些网络下会出现不停重连重新订阅的情况
A: 该问题是由运营商的NAT机制导致,在某些区域运营商会设置两分钟的NAT保活机制,再两分钟TCP连接无数据经过,就会把这个连接拆除
其它使用常见问题
Q:Pandora开发板与模组通过杜邦线该怎么连接?
A:开发板与模组的TXD、 RXD 、GND分别一一对应,TXD与RXD不用交叉连接
Pandora开发板 | 模组 |
---|---|
TXD-------------------> | <-------------------TXD |
RXD-------------------> | <-------------------RXD |
GND------------------> | <-------------------GND |
Q:有没有OneOS硬件支持(soc/mcu、board、sensor)的全集?
A:有,持续更新中,请参考官方开发者文档 https://os.iot.10086.cn/doc/hardware_support/soc_mcu.html
持续更新ing