面向嵌入式 Linux 的 DPM 是一种正在发展的技术。由于全球开放源代码领域的开发人员所做的贡献,它的核心技术正在进步,但实际应用仍然必须清除一系列“路障”。
在Linux操作系统下有三类主要的设备文件类型,一是字符设备,二是块设备,三是网络设备。字符设备和块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了,块设备则不然,它利用一块系统内存作缓冲区,当用户进程对设备请求能满足用户的要求,就返回请求的数据,如果不能,就调用请求函数来进行实际的I/O操作。块设备是主要针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待。
针对MPI集群通信的特点,通过分析当前网络的通信结构和MPI的点到点通信模式,提出了一种基于数据链路层的集群通信机制,用以减少协议开销和内存拷贝次数,从而提高集群节点间的通信性能,并且通过实验验证了该机制的可行性。
该文以自然界中的盒子鱼为原型,设计了一款基于自主视觉的机器鱼,通过图像传感器采集水下图像信息并进行处理和识别,并根据识别结果做出决策控制自身运动。系统以S3C2440为核心,在嵌入式Linux环境下通过传感器采集各种有效信息,并控制舵机实现自身上升、下潜和转弯等三维运动。本文设计了一种针对自主鱼的水球比赛实验,实验结果显示,该系统具有较高的实时性和很好的灵活性。
Clutter是移动Linux平台中用具有创新性的开源图形库,其显著特点是支持三维图形和动画GUI,以及使用脚本语言描述图形用户界面。基于Clutter的应用程序开发,采用Clutter和GTK+的混合方案是很好的选择。介绍了Clutter的软件架构、动画编程模型,以及集成库Clutter-gtk的基本结构、事件处理和应用程序开发实例。
详细分析了linux系统中input输入子系统的实现代码,从input driver层、input core层、event handler层3个方面介绍了input输入子系统的实现框架及接口类型,对主要数据结构struct input dev、struct input handle、struct input handler、struct input event、input register handle和重要函数input allocate device、input register device、i
提出一种以ARM+DSP等为硬件基础的嵌入式Linux数控系统设计方案,将数控系统按实时性分为实时模块和非实时模块,采用运动控制芯片DSP保证实时性,ARM-Linux则运行实时性要求不高但功能复杂的数控任务.数控系统硬件上采用主从式双CPU结构,软件架构包括界面层、实时层和非实时层.该方案充分利用了Linux的健壮、开源、应用广泛和运动
依据多连通域图像四邻域跟踪原理设计了嵌入式Linux下的细胞特征提取算法.本算法解决了嵌入式下图像处理API封装不够完善以及硬件资源欠缺的问题.实验结果表明,该算法能够比较准确地提取细胞的周长、面积等特征参数.该算法移植至移动嵌入式设备中解决了传统PC机携带不便的难题.
物联网的兴起为智能家居提供了条件。本文提出了一种可行的智能家居的实现方法,通过2.4 GHz的无线射频收发芯片nRF24L01完成内部家居终端联网,并与主控平台通信。通过西门子公司的MC39i GSM/GPRS终端无线模块实现与外网通信。整个主控平台由S3C2440作为主控芯片并基于嵌入式Linux操作系统开发,具有友好的可视化图形界面。
在高性能嵌入式控制系统中,运行嵌入式Linux操作系统的主机ARM和DSP实现主从控制的设计方案具有显著优势,并获得广泛运用。而实现ARM与DSP之间的可靠通信是其关键技术之一。本文以Samsung公司的ARM9芯片S3C2440和TI公司的DSP芯片TMS320F28015为例,分析了I2C通信接口的原理及特点,提出了基于I2C总线的多
笔者在从台式频谱仪到手持式频谱仪的项目研发中实现了RTOS到Linux的应用移植。本文介绍了整体的设计思路和一些关键问题的实现细节。
vi是Linux系统的第一个全屏幕交互式编辑程序,它从诞生至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具,足以见其生命力之强,而强大的生命力是其强大的功能带来的。由于大多数读者在此之前都已经用惯了Windows平台上的编辑器,因此,在刚刚接触时总会或多或少不适应,但只要习惯之后,就能感受到它的方便与快捷。
有了一个初步的了解后,读者是否想亲自试一下?其实安装Linux是一件很容易的事情,不过在开始安装之前,还需要了解一下在Linux安装过程中可能遇到的一些基本知识以及它与Windows的区别。
Linux中的文件类型与Windows有显著的区别,其中最显著的区别在于Linux对目录和设备都当作文件来进行处理,这样就简化了对各种不同类型设备的处理,提高了效率。Linux中主要的文件类型分为4种:普通文件、目录文件、链接文件和设备文件。
当用户在命令行下工作时,不是直接同操作系统内核交互信息的,而是由命令解释器接受命令,分析后再传给相关的程序。shell是一种Linux中的命令行解释程序,就如同command.com是DOS下的命令解释程序一样,为用户提供使用操作系统的接口。它们之间的关系如图2.1所示。用户在提示符下输入的命令都由shell先解释然后传给Linux内核。
在了解了Linux的常见命令之后,下面详细讲解Linux的启动过程。Linux的启动过程包含了Linux工作原理的精髓,而且在嵌入式开发过程中非常需要这方面的知识。
init进程的作用是启动Linux系统服务(也就是运行在后台的守护进程)。Linux的系统服务包括两种,第一种是独立运行的系统服务,它们常驻内存中,自开机后一直运行着(如httpd),具有很快的响应速度;第二种是由xinet设定的服务。
在Linux下安装一个完整的软件(嵌入式Linux的必备工具——交叉编译工具),掌握Linux常见命令,学会设置环境变量,同时搭建起嵌入式Linux的交叉编译环境(关于交叉编译的具体概念在本书后面会详细讲解),为今后的实验打下良好的基础。
C语言最早是由贝尔实验室的Dennis Ritchie为了UNIX的辅助开发而编写的,它是在B语言的基础上开发出来的。尽管C语言不是专门针对UNIX操作系统或机器编写的,但它与UNIX系统的关系十分紧密。由于它的硬件无关性和可移植性,使C语言逐渐成为世界上使用最广泛的计算机语言。
读者通过亲自动手安装Linux操作系统,对Linux有个初步的认识,并且加深对Linux中的基本概念的理解,熟悉Linux文件系统目录结构。