Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread Studio
Ymodem
内核5.2.2中ry_sy.c文件中,_rym_recv_begin函数有bug,在接收ymodem的数据时候,不能创建文件,做了以下修复,
发布于 2026-06-03 14:30:46 浏览:103
订阅该版
更改之前: ```c static enum rym_code _rym_recv_begin( struct rym_ctx *ctx, rt_uint8_t *buf, rt_size_t len) { struct custom_ctx *cctx = (struct custom_ctx *)ctx; char insert_0 = '\0'; char *ret; rt_err_t err; ret = strchr(cctx->fpath,insert_0); if(ret) { *ret = '/'; } else { rt_kprintf("No end character\n"); return RYM_ERR_ACK; } rt_strncpy(ret + 1, (const char *)buf, len - 1); cctx->fd = open(cctx->fpath, O_CREAT | O_WRONLY | O_TRUNC, 0); if (cctx->fd < 0) { err = rt_get_errno(); rt_kprintf("error creating file: %d\n", err); return RYM_CODE_CAN; } cctx->flen = atoi(1 + (const char *)buf + rt_strnlen((const char *)buf, len - 1)); if (cctx->flen == 0) cctx->flen = -1; return RYM_CODE_ACK; } ``` 更改之后: ```c static enum rym_code _rym_recv_begin( struct rym_ctx *ctx, rt_uint8_t *buf, rt_size_t len) { struct custom_ctx *cctx = (struct custom_ctx *)ctx; cctx->fd = open(cctx->fpath, O_CREAT | O_WRONLY | O_TRUNC, 0); if (cctx->fd < 0) { int err = rt_get_errno(); rt_kprintf("error creating file %s: %d\n", cctx->fpath, err); return RYM_CODE_CAN; } const char *p = (const char *)buf; int name_len = rt_strnlen(p, len); if (name_len < len - 1) { cctx->flen = atoi(p + name_len + 1); } else { cctx->flen = -1; } return RYM_CODE_ACK; } ```
查看更多
4
个回答
默认排序
按发布时间排序
三世执戟
2026-06-03
这家伙很懒,什么也没写!
原来的错误原因是什么?楼主可以详细分析下不?如何触发的,如何修复的。 能否提供个触发问题的`buf`数据包,看是不是不同客户端的兼容问题?
Lu_盼盼
2026-06-04
这家伙很懒,什么也没写!
学习一下,看看有没有好答案!
wdfk_prog
认证专家
2026-06-05
https://wdfk-prog.space
-
出出啊
2026-06-05
恃人不如自恃,人之为己者不如己之自为也
改之后还是不对吧,难道不是用 `strcat strnprintf` 拼接起来?
撰写答案
登录
注册新账号
关注者
0
被浏览
103
关于作者
SFWM_5148
这家伙很懒,什么也没写!
提问
1
回答
0
被采纳
0
关注TA
发私信
相关问题
1
rt_thread studio 啥时候能用呢
2
RT_Thread使用反馈帖子
3
RTT studio 下的 AT指令问题。
4
什么时候RTT Sdudio支持Ubuntu,Deepin和UOS操作系统
5
rt thread Studio 关于J-LINK下载问题
6
RT-Thread studio 调试设置问题
7
RTT-Studio 如何设置调试配置参数?
8
rt_thread studio 软件包配置
9
RT-Studio目前只能开发STM32的项目吗?
10
rtt studio 生成hex名字修改
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
【最新活动】RT-Thread论坛活动正在进行(2026年5月活动已更新)
4
国产MCU移植系列教程汇总,欢迎查看!
5
机器人操作系统 (ROS2) 和 RT-Thread 通信
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
五分钟玩转RT-Thread新社区
8
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
9
STM32的“GPU”——DMA2D实例详解
10
RT-Thread隐藏的宝藏之completion
最新文章
1
【RSOC26】Day2:RT-Thread 启动流程、线程调度与 SCons 构建实践
2
【RSOC26】RT-Thread 线程内核入门:启动流程、线程机制与 SCons 实操
3
【RSOC26】RT-Thread 内核机制与 STM32F407 平台启动、调度及构建解析
4
【RSOC26】Day1-从Git协作到RT-Thread启动链路
5
【RSOC26】第一天学习(环境的搭建以及git and gitee)
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
ART-Pi
FinSH
DMA
USB
RT-Thread
SCons
文件系统
RT-Thread Nano
线程
MQTT
STM32
FAL
rt-smart
BSP
cubemx
RTC
WIZnet_W5500
PWM
I2C_IIC
UART
packages_软件包
GD32
ota在线升级
ESP8266
freemodbus
flash
keil_MDK
编译报错
ADC
潘多拉开发板_Pandora
flashDB
Debug
ulog
msh
rt_mq_消息队列_msg_queue
socket
MicroPython
SDIO总线
中断
SFUD
QEMU
本月问答贡献
crystal266
3
个答案
1
次被采纳
CYFS
3
个答案
1
次被采纳
oxlm
1
个答案
1
次被采纳
王棒棒
1
个答案
1
次被采纳
wdfk_prog
1
个答案
1
次被采纳
本月文章贡献
Ewan11111
3
篇文章
1
次点赞
金阳阳
2
篇文章
1
次点赞
longtsing
1
篇文章
4
次点赞
RTT_Studio
1
篇文章
4
次点赞
枫雪天
1
篇文章
3
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部