完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我现在在做ota,通过485串口基于ymodem协议将升级文件传输到片外flash中,然后再bootloader中检测升级文件(因项目原因没使用RTT平台生成的bootloader),但发现通过ls命令查看片外flash,里面没有文件。 但是ymodem显示文件传输成功了,查看ymodem底层源码,好像是用buffer的形式写入flash的,这种情况下是不是在片外flash里就看不到文件,只有数据,需要自己在将数据保存成文件呢?第一次用不太懂,希望有大佬可以解答一下 |
|
相关推荐
2个回答
|
|
RTT的YMODEM 接收是可以配置的,在启动一个Ymodem时,有三个函数传递给Ymodem;1 传输开始,握手后调用;2 接收到数据块,收到一个数据块调用一次;3 传输完成;文件全部接收完成后调用;
你不需要修改底层,只需要实现这三个函数并在建立YYmodem时把这三个函数传递给Ymodem即可; 比如下载文件到flash,三个函数分别是: 1 获取分区;2 分区写数据;3 检查分区数据; 比如下载文件到文件系统,三个函数分别是: 1 打开文件;2 文件写数据;3 关闭文件,检查文件数据; 如果你的YMODEM过程能完成却没有列表到文件,先确认你的文件系统是ok的,建立一个文件或文件夹试试; |
|
|
|
您的猜测是正确的,使用Ymodem传输文件时,文件会被保存到片外flash中,但是并不会被以文件的形式存储,而是以数据块的形式存储到指定的地址。因此,在使用ls命令查看片外flash时,并不会看到传输的文件,而只能看到在指定地址上存储的数据块。
如果需要在片外flash中以文件形式查看传输的文件,您需要手动读取flash中的数据,将其保存为文件并进行解析。通过底层源码,您可以获取传输的数据块地址、长度和内容,然后将它们转换为文件的形式。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1026 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
2008 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1073 浏览 0 评论
【Vision Board创客营连载体验】RA8D1-Vision Board上OSPI-Flash实践
1531 浏览 0 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 应用层更改引脚复用的方法
3753 浏览 0 评论
65143 浏览 21 评论
嵌入式热门DIY项目:智能机器人开源资料合集(原理图、代码、论文)
67746 浏览 22 评论
57768 浏览 32 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 09:42 , Processed in 0.629837 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号