关于内核映像和文件系统映像
更新一块开发板,要分别烧写内核映像和文件系统映像,我理解:内核映像与CPU相关,文件系统与flash
相关,它们都被烧录到flash里,但这两个概念还是有点模糊,希望有人解惑:
1.既然都是被烧录到flash里,那为什么不编译成一个映像,一起烧录?
2.这两个映像里分别是什么内容?
3.它们被烧录到flash里是怎样起作用的?起什么作用?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
其实都是被烧录到flash里的
你把flash当作硬盘存储介质就可以了
上电后,首先将bootloader加载进RAM,这个时候bootloader解压kernel并加载进RAM,然后Kernel挂载文件系统
>1.既然都是被烧录到flash里,那为什么不编译成一个映像,一起烧录?
uClinux里提供的好像是编译完以后应该是一起的,我一直没有用过uClinux,一直是kernel上下载的
>2.这两个映像里分别是什么内容?
zImage是kernel文件,用来做调度和管理的,另一个是存放文件系统的,比如我们装系统时要copy很多东西进硬盘里面一样
>3.它们被烧录到flash里是怎样起作用的?起什么作用?
被烧录到flash里就像存放在硬盘里一样,当上电时,有两种情况:
1.nor flash可以直接运行里面的bootloader,原理可以查查google
2.nand flash不能直接运行,需要一个外部的芯片来加载里面的bootloader,这个就像bios和硬盘和内存一样
以上两个加载,或者运行的意思就是把bootloader扔到RAM中,然后由ARM芯片来处理他的指令了
[ 本帖最后由 T-bagwell 于 2009-4-9 10:43 编辑 ]
看我回答的这么详细,分给我吧
呵呵
一般写设备驱动的人,要更新驱动,按你的意思就是:只更新、烧录文件系统映像,不用更新、烧录内核映像,因为内核映像只负责调度管理的工作,而设备驱动都归类于文件系统。这样的理解对吗?
对一半
驱动也要归类给kernel,但是可以把driver的文件存放在fs种,想用的时候再insmod进去,调试起来方便了
前半部分说的是正确的,或者说,根本就不用烧文件系统,调试的时候可以用nfs,没必要烧到flash中
哦。。。忘了insmod这茬儿了
那如果我把驱动编译进内核,而不是用insmod的方法,那么编译内核后,应该烧写的是内核映像还是文件系统映像呢?
T-bagwell, 一并回答了吧,分是你的
那就要烧写kernel了
我们的产品就是烧到一起的
产品化以后可以烧到一起的,如果是开发过程中,好像不需要烧到一起