嵌入式Linux中文站

嵌入式Linux下使用OpenCV

阅读(282)

1). 简介 OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,以解决人机交互,人脸识别以及动作跟踪等领域的问题。 本文所采用的测试平台为来自Toradex的ARM计算机模块平台Colibri iMX6DL搭配其对应的开发载板Colibri Eva Board. 2. 准备

嵌入式Linux下使用GPIO中断功能

阅读(339)

ByToradex 秦海 1). 简介 GPIO 应用是嵌入式设备最基本的应用之一 , 本文就基于 Embedded Linux 系统演示开发 GPIO 中断以及输出相关的基本应用示例 . 本文所采用的硬件平台来自与 Toradex 发布的基于 NXP iMX7 SoC 的 Colibri iMX7 ARM 计算机模块配合 Colibri Eva Board. 2). 准备 a). ToradexColibri iMX7S( 基于 NXP iMX7SSoC) 计算机模块配合 Colibri Eva Boa

嵌入式Linux下中文字体显示

阅读(194)

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

嵌入式Linux内核调试技术

阅读(255)

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

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

阅读(272)

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

嵌入式Linux Kernel错误跟踪技术

阅读(144)

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

嵌入式Linux实时化技术

阅读(207)

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

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

阅读(216)

既然不能使用新的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