1.什么是嵌入嵌入式系统的PMON
2.当前在嵌入式系统开发中有哪些常用的bootloader
3.嵌入式Linux之uboot源码make配置编译正向分析(一)
4.åµå
¥å¼çç³»ç»è½¯ä»¶
5.计算机基础知识:嵌入式系统与嵌入式操作系统对比
6.嵌入式操作系统有哪些
什么是嵌入式系统的PMON
PMON是一个兼有BIOS和boot loader部分功能的开放源码软件,多用于嵌入式系统。式系
与BIOS相比功能不足,源码与常见的嵌入bootloader 相比,功能要丰富的式系多。基于龙芯的源码centos 内核源码系统采用 pmon 作为类 BIOS 兼 bootloader,并做了很多完善工作。嵌入现在PMON与开始时的式系代码已经有较大不同了,看代码注释可以知道里面有一些中科院计算所和中科龙梦的源码人往里面添加了代码。在国外,嵌入PMON已经是式系一个死掉的项目了。国人把它继承下来,源码继续开发。嵌入所以说是式系国人延续了PMON的生命。不过,源码PMON中的代码有点乱,管理得不好,这个问题在不久可能会得到解决。
PMON 有如下主要特点:
支持ext2, fat, ram 文件系统
支持网络引导(tftp),磁盘引导,flash 引导
内建调试功能 (强大,调试内核举重若轻)
USB 2.0 Mass Storage 支持
支持MIPS、ARM、PowerPC 平台
BSD Licensed
常用命令:
load
功能:加载文件
加载PMON,刷新BIOS
load -r -f bfc tftp://..1./gzrom.bin
执行这个后,mypcqq 插件源码再重启主板,就会进入新的PMON中。
g
功能:执行程序
devls
功能:显示设备
ping
功能:测试网络
ifaddr
功能:配置网卡
m
功能:查看内存内容
env
功能:查看环境变量
set
功能:设置环境变量
usb
功能:查看及设置USB设备
reboot
功能:重启
h
功能:打印出帮助信息
当前在嵌入式系统开发中有哪些常用的bootloader
常见bootloader介绍
1.U-BOOT介绍
uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以从/developer)
vivi是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。 Vivi有两种工作模式:启动加载模式和下载模式。启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,如下:
命令
功能
Load
把二进制文件载入Flash或RAM
Part
操作MTD分区信息。显示、增加、删除、复位、保存MTD分区
Param
设置参数
Boot
启动系统
Flash
管理Flash,如删除Flash的数据
vivi代码分析
vivi的代码包括arch,init,lib,drivers和include等几个目录,共多条文件。久久图库 源码
Vivi主要包括下面几个目录:
arch:此目录包括了所有vivi支持的目标板的子目录,例如s3c目录。
drivers:其中包括了引导内核需要的设备的驱动程序(MTD和串口)。MTD目录下分map、nand和nor三个目录。
init:这个目录只有main.c和version.c两个文件。和普通的C程序一样,vivi将从main函数开始执行。
lib:一些平台公共的接口代码,比如time.c里的udelay()和mdelay()。
include:头文件的公共目录,其中的s3c.h定义了这块处理器的一些寄存器。Platform/smdk.h定义了与开发板相关的资源配置参数,我们往往只需要修改这个文件就可以配置目标板的参数,如波特率、引导参数、物理内存映射等。
嵌入式Linux之uboot源码make配置编译正向分析(一)
嵌入式Linux系统由以下几部分组成:在Flash存储器中,它们的分布一般如下。Bootloader是操作系统运行之前执行的一段小程序,用于初始化硬件设备、建立内存空间映射表,为操作系统内核做准备。Bootloader依赖于CPU体系结构和嵌入式系统板级设备配置。菜谱分享源码u-boot支持多种架构,适用于上百种开发板。设计与实现包括工程简介、源码结构、编译过程、源码加载等。u-boot源码可以从ftp.denx.de/pub/u-boot/网站下载,DENX网站提供更多信息,u-boot git仓库位于gitlab.denx.de/u-boot/u...。u-boot编译分为配置和编译两步,需要指定交叉工具链、处理器架构。配置过程可以生成.config文件。源码加载使用Source Insight,安装、打开项目、共享文件夹、映射网络驱动器等步骤。
åµå ¥å¼çç³»ç»è½¯ä»¶
ç³»ç»è½¯ä»¶å±ç±å®æ¶å¤ä»»å¡æä½ç³»ç»ï¼Real-time Operation Systemï¼RTOSï¼ãæ件系ç»ãå¾å½¢ç¨æ·æ¥å£ï¼Graphic User Interfaceï¼GUIï¼ãç½ç»ç³»ç»åéç¨ç»ä»¶æ¨¡åç»æãRTOSæ¯åµå ¥å¼åºç¨è½¯ä»¶çåºç¡åå¼åå¹³å°ã éç¨æä½ç³»ç»çæ件系ç»éå¸¸å ·æ以ä¸åè½ï¼æä¾ç¨æ·å¯¹æ件æä½çå½ä»¤ã
æä¾ç¨æ·å ±äº«æ件çæºå¶ã
管çæ件çåå¨ä»è´¨ã
æä¾æ件çååæ§å¶æºå¶ï¼ä¿éæ件åæ件系ç»çå®å ¨æ§ã
æä¾æ件åæ件系ç»çå¤ä»½åæ¢å¤åè½ã
æä¾å¯¹æ件çå å¯å解å¯åè½ã
åµå ¥å¼æ件系ç»æ¯è¾ç®åï¼ä¸»è¦æä¾æ件åå¨ãæ£ç´¢åæ´æ°çåè½ï¼ä¸è¬ä¸æä¾ä¿æ¤åå å¯çå®å ¨æºå¶ãå®ä»¥ç³»ç»è°ç¨åå½ä»¤æ¹å¼æä¾æ件çåç§æä½ï¼ä¸»è¦æï¼
设置ãä¿®æ¹å¯¹æ件åç®å½çååæéã
æä¾å»ºç«ãä¿®æ¹ãæ¹ååå é¤ç®å½çæå¡ã
æä¾å建ãæå¼ã读åãå ³éåæ¤éæ件çæå¡ã
æ件系ç»çç¹ç¹:
1ï¼å ¼å®¹æ§ãåµå ¥å¼æ件系ç»é常æ¯æå ç§æ åçæ件系ç»ï¼å¦FATãJFFS2ãYAFFSçã
2ï¼å®æ¶æ件系ç»ãé¤æ¯ææ åçæ件系ç»å¤ï¼ä¸ºæé«å®æ¶æ§ï¼æäºåµå ¥å¼æ件系ç»è¿æ¯æèªå®ä¹çå®æ¶æ件系ç»ï¼è¿äºæ件系ç»ä¸è¬éç¨è¿ç»çæ¹å¼åå¨æ件ã
3ï¼å¯è£åªãå¯é ç½®ãæ ¹æ®åµå ¥å¼ç³»ç»çè¦æ±éæ©æéçæ件系ç»ï¼éæ©æéçåå¨ä»è´¨ï¼é ç½®å¯åæ¶æå¼çæ大æ件æ°çã
4ï¼æ¯æå¤ç§åå¨è®¾å¤ãåµå ¥å¼ç³»ç»çå¤åå½¢å¼å¤æ ·äºï¼åµå ¥å¼æ件系ç»éæ¹ä¾¿çææ¥ä¸ååå¨è®¾å¤ç驱å¨ç¨åºï¼å ·æçµæ´»ç设å¤ç®¡çè½åãåæ¶æ ¹æ®ä¸åå¤é¨åå¨å¨çç¹ç¹ï¼åµå ¥å¼æ件系ç»è¿éè¦èèå ¶æ§è½ã寿å½çå ç´ ï¼åæ¥ä¸åå¤åçä¼å¿ï¼æé«åå¨è®¾å¤çå¯é æ§å使ç¨æ§ã GUIç广æ³åºç¨æ¯å½ä»è®¡ç®æºåå±çé大æå°±ä¹ä¸ï¼ä»æ大å°æ¹ä¾¿äºéä¸ä¸ç¨æ·ç使ç¨äººä»¬ä»æ¤ä¸åéè¦æ»è®°ç¡¬è大éçå½ä»¤ï¼åè代ä¹çæ¯å¯ç¨ç¨éè¿çªå£ãèåãæé®çæ¹å¼æ¥æ¹ä¾¿å°è¿è¡æä½ãèåµå ¥å¼GUIå ·æä¸é¢å 个æ¹é¢çåºæ¬è¦æ±ï¼è½»åãå ç¨èµæºå°ãé«æ§è½ãé«å¯é æ§ã便äºç§»æ¤ãå¯é ç½®çç¹ç¹ã
åµå ¥å¼ç³»ç»ä¸çå¾å½¢çé¢ï¼ä¸è¬éç¨ä¸é¢çå ç§æ¹æ³å®ç°ï¼
é对ç¹å®çå¾å½¢è®¾å¤è¾åºæ¥å£ï¼èªè¡å¼åç¸å ³çåè½å½æ°ã
è´ä¹°é对ç¹å®åµå ¥å¼ç³»ç»çå¾å½¢ä¸é´è½¯ä»¶å ã
éç¨æºç å¼æ¾çåµå ¥å¼GUIç³»ç»ã
使ç¨ç¬ç«è½¯ä»¶å¼ååæä¾çåµå ¥å¼GUI产åã åºç¨è½¯ä»¶å±æ¯ç±åºäºå®æ¶ç³»ç»å¼åçåºç¨ç¨åºç»æï¼ç¨æ¥å®ç°å¯¹è¢«æ§å¯¹è±¡çæ§å¶åè½ãåè½å±æ¯è¦é¢å¯¹è¢«æ§å¯¹è±¡åç¨æ·ï¼ä¸ºæ¹ä¾¿ç¨æ·æä½ï¼å¾å¾éè¦æä¾ä¸ä¸ªå好ç人æºçé¢ã
对äºä¸äºå¤æçç³»ç»ï¼å¨ç³»ç»è®¾è®¡çåæé¶æ®µå°±è¦å¯¹ç³»ç»çéæ±è¿è¡åæï¼ç¡®å®ç³»ç»çåè½ï¼ç¶åå°ç³»ç»çåè½æ å°å°æ´ä¸ªç³»ç»ç硬件ã软件åæ§è¡è£ ç½®ç设计è¿ç¨ä¸ï¼ç§°ä¸ºç³»ç»çåè½å®ç°ã
计算机基础知识:嵌入式系统与嵌入式操作系统对比
嵌入式系统是以嵌入式计算机为核心,面向特定应用的专用计算机系统。它具有高可靠性、实时性、硬件软件可裁剪性等特性,与具体应用紧密结合,象棋源码unity升级同步进行。嵌入式操作系统(EOS)则是在嵌入式系统中负责资源分配、调度、控制等功能的系统软件。随着技术发展,EOS开始从弱功能向强功能方向发展,具有高度开放性和专业化。
三种常用嵌入式操作系统包括Palm OS、Windows CE和Linux。Palm OS是专门为掌上电脑设计的OS,体积小、内存占用低,支持丰富的应用程序,具有开放性。Windows CE是一个开放、可升级的位操作系统,适用于各种电子设备,具有强大的图形界面和通信能力。Linux则是一个开放源代码操作系统,具有强大功能、可裁剪性,支持多种CPU,广泛应用于各种嵌入式设备。
对比来看,嵌入式Linux OS与Windows CE相比,有以下优点:开放源代码、技术支持丰富、易于解决各种问题、内核小效率高、价格竞争力强、跨平台支持、网络支持完整、可裁减性要求高。而Windows CE则在体积和内存占用上相对较大,且价格因素需考虑。Palm OS与Windows CE相比,主要优势在于开放性、丰富的应用程序库,而Windows CE则在通用性和实时性能上有优势。Linux在多种嵌入式设备中广泛应用,具有竞争力,但Palm OS和Windows CE在掌上电脑市场中仍具优势。
嵌入式系统与操作系统各有特点和用途,选择合适的技术栈取决于具体应用需求。Linux因其开放性、跨平台支持、可裁减性等特性,成为嵌入式操作系统的理想选择。然而,每种操作系统都有其优点和局限性,选择时需综合考虑应用需求、成本、开发支持等因素。
最后,市场上还有其他嵌入式操作系统如CE、VxWorks、pSOS、QNX、OS-9、LynxOS等,它们在不同领域有广泛应用,如工业控制、通信、消费电子等。选择时应根据具体应用需求,综合考虑操作系统的特点、市场占有率、开发支持等因素。
嵌入式操作系统有哪些
嵌入式操作系统的种类有很多,主要包括以下几种: 1. Linux Linux是一种开源的嵌入式操作系统,广泛应用于各种嵌入式设备中。它具有强大的稳定性和良好的可移植性,能够支持多种硬件平台。此外,Linux具有丰富的软件资源和强大的网络功能,可以满足各种复杂的嵌入式应用需求。 2. Android Android是一种基于Linux的开放源代码操作系统,主要用于智能移动设备,如智能手机和平板电脑。由于其开放性和广泛的设备兼容性,Android已成为市场份额最大的嵌入式操作系统之一。 3. RTOS(实时操作系统) RTOS是一种专门用于嵌入式系统的实时操作系统。它具有高可靠性和实时性,能够满足对时间敏感的应用需求。常见的RTOS包括VxWorks、RTLinux、Xenomai等。这些RTOS能够在资源有限的嵌入式设备上运行,并高效地管理系统的硬件和软件资源。 4. Embedded Windows Embedded Windows是指微软针对嵌入式设备开发的操作系统,如Windows CE(已停止更新)和Windows Embedded系列。这些操作系统具有图形界面友好、开发便捷等优点,广泛应用于工业自动化、医疗设备等领域。但由于其专利属性和授权费用,应用成本相对较高。 以上即为嵌入式操作系统的几种主要类型。每种操作系统都有其特定的应用场景和优势,选择哪种操作系统取决于具体的设备和应用需求。ARM-Linux嵌入式系统的基本组成,各部分的作用
ARM-Linux嵌入式系统的基本组成:
1、bootloader:相当于PC机的 BIOS,用于引导基本操作系统。
2、基本 Linux 系统,作用就不用多说了,就是应用软件的基础平台。
3、文件系统,作用就是用来管理嵌入式系统的存储空间。本来应该算操作系统的一部分,但因为 Linux 源代码中有大量的文件系统支持部分(支持过百种文件系统),而嵌入式系统存储空间有限,只保留一种就可以了,因此这部分需要比较复杂的处理。
4、图形用户界面库,其作用是为应用程序提供图形环境。虽然它也可以算是操作系统的一部分,但因嵌入式系统的特殊性往往要另外定制。这部分不是所有的嵌入式系统都需要。
5、设备驱动程序,其作用也无需多说。因为每一种嵌入式设备都可能有自己独特的设备,因此,需要为它开发驱动程序。
6、应用程序,其作用更加明了。比如,手机你至少需要有通讯处理的应用、数码相机你至少要用图像处理的应用、GPS你至少要有对接收到的导航卫星系统所发的信息进行处理的应用。