fpga嵌入linux系统,基于FPGA的Virtex-5板的PetaLinux嵌入式操作系统文件系统挂载流程...

今天总算完成了文件系统的加入,现在看来整个的工作过程少了一个懂linux代码的指导,探索起来确实不易。总结下最近做的事情,条理才逐渐清楚了。

刚开始接到这个任务时是要在petalinux嵌入式操作系统中添加文件系统,对于我这个概念很陌生,如果说用c语言来写个FAT的文件系统,自己定义结构体这个任务可能还简单点。我对于嵌入式操作系统的内核,linux代码完全不懂,上手起来有点慢。头脑里没有总的框架,只能摸索着前进。

先说下具体工程结果,我们的工程是在Xilinx-V5的开发板上安装嵌入式petalinux操作系统,这个操作系统的是管理FPGA的,对于FPGA的控制由操作系统完成,我的任务是在操作系统上添加CF卡和相应的文件系统支持。之前我已经完成了petalinux操作系统的移植,但是对于我们的任务还远远不够,具体不够在于:(1)对于文件系统的选取问题。(2)对于V5板的CF卡接口问题。(3)对于内核配置的问题。

在思路上,对于第一点我走了弯路,最早选取的是JFFS2文件系统,这是一种日志式的文件系统,支持flash,由于CF卡的存储结构是flash的一种,我认为理所当然选取这个文件系统。后来在生成petalinux操作系统时发现选择jffs2作为根文件系统时会有错误,[subdir]error1,错误很长时间找不到原因。我放弃使用jffs2,改用内核配置时的其他三种根文件系统:cramfs,romfs,initramfs。这三种编译出来的结果都是正常的没有报错。于是开始着手EDK中硬件支持的添加,以前跑通的操作系统不带有CF卡,由于Xilinx的CF卡是由Systemace控制器管理的,我们在EDK中加入systemace的IP核就行了,运行没错的话会生成system.bit文件和download.bit文件。用impact将download.bit烧到FPGA中,这时如果电脑和FPGA连接了串口,会在串口显示烧录成功,再运行XMD将交叉编译的petalinux操作系统的镜像文件image.bin文件下载到DDR2的SRAM中。运行操作系统,如果一切正常,会在超级终端上显示登录系统用户名和密码,用户名是root,密码在内核配置时自己设定。到这步花了一周的时间,后来又出现了很多问题,原因在于我没有弄清楚根文件系统和CF的文件系统区别。这些问题包括:(1)CF卡本身带有一个FAT16的文件系统,根文件系统是cramfs。cramfs是一种只读的文件系统,我试过其他两种文件系统,都是readonly的,如何对这个只读的文件系统读写是个问题。(2)root

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值