嵌入式Linux中文站

嵌入式Linux下中文字体显示

阅读(150)

1).简介 嵌入式平台默认发布的嵌入式Linux版本通常并不包含中文字体支持,本文就通过Toradex计算机模块平台来演示如何添加中文字体的显示,因为Toradex的Linux发布是基于OpenEmbedded/Yocot项目编译的,因此这里也同样通过OpenEmbedded/Yocot项目编译带中文字体的定制化BSP。 2).步骤 a).首先,需要配置好 OpenEmbedded编译环境,具体步骤参考这里的说明。 b).修改OpenEmbedded目录中layers/meta-toradex-demos

嵌入式Linux内核调试技术

阅读(207)

近年处理器技术发展速度加快,嵌入式领域发生了翻天覆地的变化。特别是网络的普及,消费电子异军突起,嵌入式与互联网成为最热门的技术。在所有操作系统中,Linux是发展很快、应用很广泛的一种操作系统。Linux的开放性以及其他优秀特性使其成为嵌入式系统开发的首

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

阅读(178)

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

嵌入式Linux Kernel错误跟踪技术

阅读(120)

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

嵌入式Linux实时化技术

阅读(114)

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

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

阅读(135)

既然不能使用新的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开发环境的搭建之:嵌入式开发环境的搭建

阅读(165)

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

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

阅读(194)

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