问题描述
一般问题描述:
在PC上使用MFSGen生成MFS映像,然后将映像下载到嵌入式系统时,mfs_ls()返回的图像内容为空。
解决/修复方法
此问题与以下内容有关:
– 您仍必须在PC上使用MFSGen的“s”选项来生成图像。
– 调用mfs_init_fs()时,基址应偏移4。
如果将映像加载到0xff000000,则应将mfs_init_fs()的基址指定为0xff000004。这种地址规范的原因是因为MFSGen在图像文件中添加了一个4位头,以识别图像的类型(大端或小端)。该库应该被增强以识别此更改并将图像修复到内存中,但此功能尚未实现。
您可以毫无问题地加载MFS映像,如下所示:
1.运行以下命令以生成“mfsimage.mfs”映像文件(请注意,在PC上进行字节交换时使用“s”参数):
mfsgen -cvfsb mfsimage.mfs 3 testimg.txt
2.使用XMD将映像加载到0x8600 0000的HW,并在mfs_init_fs()中指定0x8600 0004作为基址。
3.调用mfs_ls()以在运行时验证映像。
在EDK 7.1中解决了这个问题。有关如何从C代码初始化XilMFS的详细信息,请参阅EDK用户手册。
没有回复内容