Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
FinSH
ota在线升级
线程
使用finsh 进行ota成功,线程里开ota失败
发布于 2020-07-29 09:45:50 浏览:1286
订阅该版
我使用finsh控制台进行http_ota正常,放在线程中就卡在64%失败,请问这是为什么呢? 这是软件包升级函数: ```c void http_ota(uint8_t argc, char **argv) { if (argc < 2) { rt_kprintf("using uri: " HTTP_OTA_URL "\n"); http_ota_fw_download(HTTP_OTA_URL); } else { http_ota_fw_download(argv[1]); } } /** * msh />http_ota [url] */ MSH_CMD_EXPORT(http_ota, Use HTTP to download the firmware); ``` 这是我的线程: ```c void update_thread_entry(void *parameter) { while(1) { http_ota_fw_download(PKG_HTTP_OTA_URL); } } int update(void) { update_thread = rt_thread_create("update_thread",update_thread_entry,RT_NULL,2048,3,10); if(update_thread != RT_NULL) rt_thread_startup(update_thread); return RT_EOK; } //INIT_APP_EXPORT(update); MSH_CMD_EXPORT(update, Use HTTP to download the firmware); ``` 使用finsh升级成功:  使用自己线程升级失败: 
查看更多
Cfly
认证专家
2020-07-30
这家伙很懒,什么也没写!
我一般是这样实现的: 1.使用EasyFlash做变量的存储:URL地址、OTA使能标志 2.接收到OTA命令后,保存URL地址并将OTA标志使能,然后重启程序 3.启动后检查OTA标志是否使能,使能则其他多余的线程皆不创建,只创建与OTA关联的 4.OTA抓取文件重试多次,如果多次都失败或者抓取成功,OTA标志清0,然后重启 5.系统正常运行,如果是要连接云平台的话,每次连接成功都会上报当前软件版本。或者与上位机通信的话,上位机可以看到版本来判断有没有升级成功 6.由用户端查看升没升级成功来判断要不要再发升级指令
3
个回答
默认排序
按发布时间排序
李子成
2020-07-29
这家伙很懒,什么也没写!
可以看看这个帖子有可能有用。我当时是这个原因。你可以试试https://club.rt-thread.org/ask/question/423631.html
sgf201
认证专家
2020-07-29
这家伙很懒,什么也没写!
修改线程中升级的开始时间,排除启动开始的固定时间内通信模组工作还不稳定
撰写答案
登录
注册新账号
关注者
0
被浏览
1.3k
关于作者
打盹的消防车
忙着打盹...
提问
15
回答
30
被采纳
1
关注TA
发私信
相关问题
1
RT-THREAD shell无反应呢?
2
RT-thread2.0beta下用类似linux风格MSH,参数如何输入和导出
3
rt-thread finsh windows下的那个终端软件叫什么来着
4
板子上只有485接口,能把FINSH改造成485的么?
5
finsh最大字符问题
6
finsh命令个数是不是有限制啊
7
finsh支持转义字符吗
8
不用finsh如何知道堆栈使用量
9
强烈建议 RT-Thread下finsh原理深入分析
10
finsh输入命令全部返回null node
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
ulog组件多端绑定的demo案例
2
记录rt-thread消息队列的调试方法
3
AT32的ADC使用
4
aht10 终端:The aht10 is under an abnormal status
5
github高阶加速,速度可达带宽峰值,测试到146Mbit/s
热门标签
RT-Thread Studio
串口
LWIP
Env
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
RT-Thread
DMA
SCons
线程
MQTT
RT-Thread Nano
STM32
RTC
rt-smart
ESP8266
flash
ota在线升级
WIZnet_W5500
FAL
I2C
packages_软件包
UART
cubemx
freemodbus
潘多拉开发板_Pandora
定时器
BSP
PWM
ADC
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
SDIO
Debug
AB32VG1
MicroPython
C++_cpp
编译报错
msh
ulog
QEMU
本月问答贡献
出出啊
1500
个答案
338
次被采纳
小小李sunny
1390
个答案
276
次被采纳
张世争
715
个答案
157
次被采纳
crystal266
522
个答案
153
次被采纳
whj467467222
1216
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
12
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
2
篇文章
2
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部