嵌入式Linux中文站

使用嵌入式 Linux 进行实时系统开发

阅读(260)

对于实时、决策或者低延时应用,Linux能够提供多种方案。第一种方法是和Linux内核一起运行一个hypervisor或者co-kernel。这种方案中hypervisor或者co-kernel的优先级高于Linux,实时任务则运行于其中。另外一种方式是使用非对称异构多核系统,Linux和另外一个实时内核分别运行在不同处理器内核上。最后,还可使Linux更具抢占性从而提高其实时性能。这通常可以通过PREEMPT_RT补丁实现。 实时系统的实时能力,并不表示其能够达到很高的处理速度。实时能力是指系统能够在规

嵌入式Linux Kernel错误跟踪技术

阅读(137)

随着嵌入式Linux系统的广泛应用,对系统的可靠性提出了更高的要求,尤其是涉及到生命财产等重要领域,要求系统达到安全完整性等级3级以上[1],故障率(每小时出现危险故障的可能性)为10-7以下,相当于系统的平均故障间隔时间(MTBF)至少要达到1141年以上,因此提高系统可靠性已成为一项艰巨的任务。对某公司在工业领域14 878个控制器系统的应用调查表明,从2004年初到2007年9月底,随着硬软件的不断改进,根据错误报告统计的故障率已降低到2004年的五分之一以下,但查找错误的时间却增加到原来的3倍以上

嵌入式Linux实时化技术

阅读(190)

引言 Linux支持PowerPC、MIPS、ARM、DSP等多种嵌入式处理器,逐渐被用于多种关键性场合。其中实时多媒体处理、工业控制、汽车电子等特定应用对Linux提出了强实时性需求[1]。Linux提供了一些实时扩展,但需要进行实时性改造。本文针对嵌入式Linux实时化技术中的一些关键问题进行了讨论,如Linux内核时延,实时化主流技术方案及其评价等。 Linux内核时延 主流Linux虽然部分满足POSIX 1003.1b实时扩展标准,但还不完全是一个实时操作系统,主要表现为: * 任务调度与内核抢

嵌入式Linux启动优化手记 U-boot优化

阅读(204)

既然不能使用新的U-boot,那就优化一点是一点,慢慢干吧。 1.去掉启动时的按键等待 U-boot 启动的时候出现一个 Hit any key to stop autoboot 不爽,干吗要停上1秒?虽然可以通过设置参数bootdelay=0来关掉这个延时,但这样做了以后就再也进不去U-boot了,更烦。检查代码,发现是在main.c函数int abortboot(int bootdelay)来干这个活的,好吧,改掉它 static __inline__ int abortboot(int bootde

嵌入式Linux开发环境的搭建之:嵌入式开发环境的搭建

阅读(276)

交叉编译的概念在第4章中已经详细讲述过,搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉编译环境的方法很多,不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不同的交叉编译器,而且,有些交叉编译器经常会有部分的bug,这都会导致最后的代码无法正常地运行。因此,选择合适的交叉编译器对于嵌入式开发是非常重要的。 交叉编译器完整的安装一般涉及多个软件的安装(读者可以从ftp://gcc.gnu.org/pub/下载),包括binutils、gcc、glibc等软件。其中,binutils

嵌入式Linux开发环境的搭建之:U-Boot移植

阅读(236)

1.概念 简单地说,Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射关系,从而将系统的软硬件环境带到一个合适的状态,为最终加载系统内核做好准备。 通常,Bootloader比较依赖于硬件平台,特别是在嵌入式系统中,更为如此。因此,在嵌入式世界里建立一个通用的Bootloader是一件比较困难的事情。尽管如此,仍然可以对Bootloader归纳出一些通用的概念来指导面向用户定制的Bootloader设计

嵌入式linux之Uboot和系统移植--基础

阅读(345)

1. 为什么要有 uboot 2. 为什么是 uboot 3.uboot 必须解决哪些问题 4.uboot 的工作方式 5.uboot 的常用命令 1 6.uboot 的常用命令 2 7. 开发板和主机的 ping 通 8.uboot 的常用命令 3 9.uboot 的常用命令 4 10.uboot 的常用环境变量 1 11.uboot 的常用环境变量 2 1. 为什么要有 uboot 1.1 、计算机系统的主要部件 (1) 计算机系统就是以 CPU 为核心来运行的系统。典型的计算机系统有: PC 机(台

linux的cache memory解析

阅读(132)

有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文件,会发现有一项 Cached Memory: 输入cat /proc/meminfo查看: MemTotal: 16425996 kB MemFree: 5698808 kB Buffers: 380904 kB Cached: 9389356 kB SwapCached: 212 kB Active: 6569200 kB Inactive: 3725364 kB