嵌入式linux系统从软件的角度可以分为哪几个层次
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
环境变量环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关
一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:
1、引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。
2、Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。
3、文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。
4、用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:和MiniGUI
BootLoader的主要运行任务就是将内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
二、常见bootloader介绍
1.U-BOOT介绍
uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以从sourceforge.net/projects/u-boot下载
2。vivi介绍(下载地址www.mizi/developer)
vivi是韩国mizi公司开发的bootloader,适用于ARM9处理器。Vivi有两种工作模式:启动加载模式和下载模式。启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,如下:
一、什么是交叉编译
什么是交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。
常见的交叉编译例子如下:
1、在WindowsPC上,利用ADS(ARM开发环境),使用arm编译器,则可编译出针对ARMCPU的可执行代码。
2、在LinuxPC上,利用arm-linux-g编译器,可编译出针对LinuxARM平台的可执行代码。
3、在WindowsPC上,利用cygwin环境,运行arm-elf-g编译器,可编译出针对ARMCPU的可执行代码