linux内核,驱动,应用程三者的概念和之间的关系
我知道三者是怎么下载到开发板的,linux内核是编译以后利用u-boot下载到开发板的,那驱动程序是单独下载的还是编译好后放在linux内核中一起随内核编译下载的还是其它...
我知道三者是怎么下载到开发板的,linux内核是编译以后利用u-boot下载到开发板的,那驱动程序是单独下载的还是编译好后放在linux内核中一起随内核编译下载的还是其它的什么,应用程序编译好后放在内核中还是单独下载到开发板的,要是单独下载的话那它们之间的下载顺序是怎么样的。本菜鸟也是刚学linux 嵌入式,我觉得怎么样写代码这不重要,重要的是弄清楚一些概念,很多书只讲了怎样写代码,怎么移植,但不知道如何下载。
展开
3个回答
展开全部
首先,要理解操作系统的概念,操作系统是用户和硬件之间的一层媒介程序。不管是Linux还是Windows或者安卓、IOS,它的主要功能有两点:
1、有效管理硬件。
2、方便用户操作。
其次,Linux内核是Linux系统的核心程序,主要完成任务调度、内存管世巧理、IO设备管理等等功能,主要目的是为了应用程序提供一个稳定良好的运行环境,这是一个基础。
再次,驱动程序是操作系统有效管理硬件的一个途径。应用程序是方便用户操作提供的程序,比如Shell,Linux中的bash shell以及KDE、gnome等图形Shell都是应用程序。 你可陵返衫以简单的理解为驱动程序实现了操作系统对硬件的有效管理,应用程序实现了操作系统方便用户操作的目的。
最后,从编程角度来看,Linux内核就是一个调用库,应用程序尺腔通过调用Linux提供的API函数来实现操作,Linux内核通过与驱动通信实现对硬件的有效管理。具体的编程细节,需要自己在实践编程中体会。这是一个整体的描述。
1、有效管理硬件。
2、方便用户操作。
其次,Linux内核是Linux系统的核心程序,主要完成任务调度、内存管世巧理、IO设备管理等等功能,主要目的是为了应用程序提供一个稳定良好的运行环境,这是一个基础。
再次,驱动程序是操作系统有效管理硬件的一个途径。应用程序是方便用户操作提供的程序,比如Shell,Linux中的bash shell以及KDE、gnome等图形Shell都是应用程序。 你可陵返衫以简单的理解为驱动程序实现了操作系统对硬件的有效管理,应用程序实现了操作系统方便用户操作的目的。
最后,从编程角度来看,Linux内核就是一个调用库,应用程序尺腔通过调用Linux提供的API函数来实现操作,Linux内核通过与驱动通信实现对硬件的有效管理。具体的编程细节,需要自己在实践编程中体会。这是一个整体的描述。
力控科技
2024-08-19 广告
2024-08-19 广告
一般的驱动程序是不允许应用程序调用的,只有当驱动程序留出这种供外界访问的接口才行,这种接口一般包括read,write,open,ioctl等接口,如果驱动中预留出了这些接口,就可以在应用程序中调用,比如fd=open(设备,参数);或者f...
点击进入详情页
本回答由力控科技提供
展开全部
1、首衡握先楼主脑子中要有个概念 U-BOOT(BOOTLOADER) LINUX内核(一般包含驱动,也就是和内核一起编译好后下载到板子中) 文件系统(包含用户应用程序等)这三个重咐早庆要部分 是按照预先设定好的位置放置于NAND FLASH(我这里就不说BOOTLOADER放在NOR FLASH,从NOR 启动了),板子上电后直接运行 BOOTLOADER,BOOTLOADER 根据预先设置好的位置 把LINUX内核加载到内存,并将控制权交给LINUX内核,内核利用文件系睁兄统驱动(比如YAFFS驱动等)来从NAND FLASH中操作文件系统。
2、应用程序是放在文件系统(比如YAFFS文件系统)中的,所以应用程序不放在内核中,而是放在文件系统中,制作成文件系统一并下载到NAND FLASH中(或者通过其它途径把文件拷贝到该文件系统中)。
2、应用程序是放在文件系统(比如YAFFS文件系统)中的,所以应用程序不放在内核中,而是放在文件系统中,制作成文件系统一并下载到NAND FLASH中(或者通过其它途径把文件拷贝到该文件系统中)。
追问
文件系统编译好后单独利用U-Boot下载到开发板中的吗,是不是U-BOOT已经把nand flash分区好了,先将内核下载到一个分区,再下载文件系统啊,另外应用程序是编译好后放在文件系统的哪个文件夹中,还是将应用程序源文放到文件系统中一起编译,如果是这样那放到文件系统的哪个文件夹下
追答
是的,需要单独下载到开发板中,分区是事先根据各个大小确定好位置后,然后BOOTLOADER和内核的分区里面一致不冲突就可以了。你可以先下载文件系统后在下载内核,不冲突。因为现在已经对这两块内容固定起始位置了。先下载哪个都无所谓。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先说内核,内核就是系统本身,你可以考虑为 win7 系统。 驱动呢,可以编译进内核,也可以不编译进去。不编译进去的时候,可以在内核跑起来之后,用insmod 加载进内核,这个羡迹过程,就好比你在win7 下,从网上下载一个显卡驱动并装上。应用呢,就是内核起来后,可以在系统里跑的程序,比如浏览器什么的磨派慎。那么驱动和应用有啥不同呢,瞎敬应用是调用内核提供给用户空间的接口,而驱动是在内核空间运行的,用的是内核内部的接口。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |