嵌入式linux系统移植包含哪三部分内容

嵌入式linux系统移植包含哪三部分内容,第1张

嵌入式Linux系统的移植主要有U-Boot、Linux内核文件系统这三部分。Uboot是在系统上电时开始执行,初始化硬件设备,准备好软件环境,然后才调用Linux *** 作系统内核。文件系统是Linux *** 作系统中用来管理用户文件的内核软件层。文件系统包括根文件系统和建立于Flash内存设备之上文件系统。根文件系统包括系统使用的软件和库,以及所有用来为用户提供支持架构和用户使用的应用软件,并作为存储数据读写结果的区域。可将Linux系统移植过程大致需要分成6个步骤: 1) 准备工作,包括下载源码、建立交叉编译环境等。交叉开发是指在开发主机上安装开发工具,编辑、编译目标板的引导程序、内核和文件系统,使其能在目标板上运行。 2) 配置和编bootloader(引导装载程序)。通过这段小程序,可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用 *** 作系统内核做好准备。 3) 配置和编译Linux内核,对其进行相应的裁剪,修改内核以支持相关的硬件设备。 4) 为大容量NAND Flash移植YAFFS文件系统,并将该文件系统加入Linux内核中; 5) 制作RAMdisk来挂载根文件系统。Linux系统中的文件和设备是通过文件系统来组织的。文件系统的存在使得数据和设备可以被有效而透明地存取访问。一个linux的最简根文件系统应该包括支持linux系统正常运行的基本内容,包括系统使用的软件和库,以及所有用来为用户提供基本支持的架构和指令。 6) 烧写、调试系统;如果调试出错,则需要重新配置,返回上述步骤(2)。嵌入式linux系统移植包含哪三部分内容

一致了也没用,因为嵌入式的 CPU 架构肯定和你的台式机不同,那么你再怎么一致,其实也是两个东西。他们的二进制代码是不同的,一些核心代码也有区别。

你开发用 Windows 都可以,但你要知道你在计算机上写代码,在嵌入式上面跑程序。所以,你要在你的计算机上,能搭建一个让你写的源代码输出成嵌入式上面可以运行的程序,之后传输到嵌入式开发里面运行的全套工具就行了。

所以这套东西需要你的计算机里面的开发环境已经有了一套和嵌入式内核设置完全相同的内核源代码,你用这套源代码才能配合交叉编译工具正式输出为嵌入式的驱动。另外内核有一个通用驱动模式,这个方式写的驱动可以跨版本号,不过我没有注意过这种驱动开发的相关资料。但似乎这种方式越来越不被看好了,因为内核总是修改接口导致驱动都要针对性的设计……


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8619857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存