完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
在HARMony 2.04中,MPFS2的实现已经扩展到includef_opendir(),从而解决了最初的post问题。如何在任意MPFS2磁盘映像中在运行时获取目录中的文件列表?我想在MPFS2生成器输出中将有一个头文件生成。f_opendir不可用。我正在修改MHC v1.10._._decoders应用程序,用于PIC32上的程序存储器中的NVM MPFS2驱动器。c文件使用SYS_FS_DirOpen(),它在内部尝试调用MPFS2等效的off_opendir(),当然,它还没有被写入。所以我需要用一些方法来遍历根目录中的所有文件。或者另一种选择是简单地移动到NVM驱动器上的一个FAT卷,而不是MPFS2。所有的文件都是预压缩的,所以存储大小不是问题。我将使用大约一兆字节的文件存储,在PIC32 MZ程序闪存内存中大约2兆字节。这个选择明智吗?然后我需要知道如何生成MPFS2的脂肪等价物。建议?保罗
|
|
相关推荐
11个回答
|
|
|
嗨,MPFS2文件系统不是FAT,而是模拟文件系统(而PIC上没有FAT支持)。MPFS2实用程序将文件转换为原始数据(十六进制数据),MPFS2头文件存储文件的哈希值、记录中的偏移量、单个文件的长度、关于dyn的信息。对于.htm文件,有两个单独的记录文件。FileRcrd.bin和DynRcrd.bin文件是用MPFS2实用程序转换的所有文件的记录文件。MPFS2记录格式如下。lf*/+2/*字节,用于将hasIndex/isZi.flag*/+动态变量的数目存储在文件*8字节]
|
|
|
|
|
|
谢谢你的回复。好吧,让我直说吧。在MPFS2生成器中,在步骤2中有几个用于处理选项的按钮。要在实际的MPFS格式中生成PICE图像,我选择“PIC32图像”。并且我得到了一个包含在编译器流中的MPFS2格式的DISKYMIGE.C文件。好的,我已经成功了,除了MPFS2 API没有fxOpenDE()函数。并且,通过修改MPFS2生成器中的Java代码,实际上可以将文件列表输出到文本数组或诸如此类的东西,因此,您概述了一些我可以用来实现该功能的步骤,但意义有限。对的?不幸的是,我不懂Java,也没有很多时间来做这个。会很困难吗?正如您所提到的,生成了文件DynRcrd_dot_bin(只有4个字节)和FileRcrd_dot_bin(只有0个字节),但是我不知道如何在到编译器的流中使用它们。我还查看了MPFS2生成器的步骤2中的“mdd”选项,但我认为这与前协调MDD文件系统相关。完全不是我想要的。似乎放弃mpfs文件系统,转到Harmony的FAT文件系统会更容易,它实际上在其API中实现了f_openDir()函数。我认为我需要的是更直接地生成脂肪图像的实用程序。顺便说一下,这是移动到另一个论坛张贴我做的,M989153。
|
|
|
|
|
|
使用第三方文件系统库可能会更好。我可以推荐FATFS HTTP//ELM CHANO.OR/FSW/FF/00索引X.HTML
|
|
|
|
|
|
是的,谢谢你。在另一个帖子m989153中,我提到elm-chai的FatFs现在被并入了Harmony,我将它用于另一个外部驱动器。但是,我还需要一个简单的方法来在程序内存中填充只读驱动器,因此需要一个实用程序来生成一个常量FAT卷,我可以在编译时将其放入应用程序。OLUME并手工添加一个文件列表,以便应用程序不使用fxOpenDE()就能知道卷上的内容。
|
|
|
|
|
|
有MPFS2函数:MPFSGETFLIVENAMEY();这意味着实际文件名存储在那里。没有列出文件名的函数,但如果确实需要,可以添加文件名。
|
|
|
|
|
|
谢谢,雷诺德。我看到了函数MPFSGETFrimeNeMe(),但这是一个已经打开的文件。正如你所说的,没有列出文件名的函数。我不知道如何在不事先知道文件名的情况下构建这个列表。你能辨别是否有一系列ID或句柄或存根可以用来查找名字?如何一步一步地逐个提取文件?我不是一个文件系统专业人员。
|
|
|
|
|
|
您好,请原谅我混淆了我提到的两个记录文件。由于您使用的是“pic32图像”选项,因此我为两个记录文件列出的信息可以在由映像<您配置的文件名>.c文件中的mpfs实用程序生成的第一个const数组内获得。您可以考虑查看MPFS2实用工具实现,将文件名添加到记录中。这可能需要Java的初始级别理解,并使用适当的Java API来添加文件名。谢谢,
|
|
|
|
|
|
谢谢,AM.SH。我将简要地看一下Java源代码,看看是否很容易修改,以便生成一个带有文件名的字符数组。如果不是,我只需手动添加文件名即可。如果Microchip决定更新它,这可能是MPFS2生成器的一个很好的补充。
|
|
|
|
|
|
有关MPFS引导记录和文件如何在内部存储的知识嵌入在MPFS2.JAR实用程序中。我会看看是否有一个文档来解释,而不是做逆向工程。一旦引导记录结构被知道,提取它是微不足道的。信息在那里,文件名存储在清除中。
|
|
|
|
|
|
谢谢,下雨了。那会有帮助的。运行时变量(我想它叫做FATD)怎么样?难道这不能用来顺序地挑选文件,然后用MPFSGETFILMENAMEAD()获取文件名吗?
|
|
|
|
|
|
我已经创建了向MPFS API添加功能的请求。当我得到更新时,我会通知您。同时,MPFS2的结构/布局在旧MLA发行版的MPFS2.c文件中进行了解释。你可以看一下里面的细节。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475 浏览 0 评论
5794 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1098浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 11:54 , Processed in 0.885839 second(s), Total 62, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1411