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文件系统目录结构。
GNU CC是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言,而且gcc是一个交叉平台编译器。
调试是所有程序员都会面临的问题。如何提高程序员的调试效率,更好、更快地定位程序中的问题从而加快程序开发的进度,是大家都很关注的问题。就如读者熟知的Windows下的一些调试工具,如Visual Studio自带的设置断点、单步跟踪等,都受到了广大用户的赞赏。
到此为止,读者已经了解了如何在Linux下使用编辑器编写代码,如何使用gcc把代码编译成可执行文件,还学习了如何使用gdb来调试程序,那么,所有的工作看似已经完成了,为什么还需要make这个工程管理器呢?
在上一小节,读者已经了解到了make项目管理器的强大功能。的确,makefile可以帮助make完成它的使命,但要承认的是,编写makefile确实不是一件轻松的事,尤其对于一个较大的项目而言更是如此。那么,有没有一种轻松的手段生成makefile而同时又能让用户享受make的优越性呢?