
工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法.以下代码的linux内核版本为2.6.19.2, 源代码文件主要为kernel/workqueue.c.
GUI已经成为了人与机器沟通的桥梁,嵌入式系统对GUI的需求越来越高,而这一切均要求有一个轻型、占用资源少、高性能、高可靠、可配置及美观的GUI支持。
由于I2C总线的特性,Linux的I2C总线设备驱动程序的设计者在设计驱动程序时采用了独特的体系结构。使开发I2C总线设备驱动程序与开发一般设备驱动程序的方法具有很大差别。因此,开发I2C总线设备驱动程序除了要涉及一般Linux内核驱动程序的知识外。还要对I2C总线驱动的体系结构有深入的了解。笔者在开发过程中使用设备型号为AT24C01A的EEPROM 来测试I2C总线驱动。
本文以ARM9处理器为平台,系统地实现了一个识别结果良好的嵌入式门禁系统。给出了系统设计的整个算法流程,并重点介绍了图像分割算法,较前人的研究成果,该系统具有平台简单,识别率高,识别快速的优点。但该系统对畸变图像的处理效果并不十分理想,需要在以后的研究中进一步加强。
让我们来探索一下,Linux 和开源社区如何为云计算领域做出贡献。您可能已经猜到,Linux 和开放源代码扮演着极其重要的角色。
本文主要提出了一种可应用于监控组态软件的实时数据库的实现方法。通过对实时数据库在组态软件中的地位与作用的分析,结合嵌入式Linux在实时多任务方面的特性,设计并实现了利用多种存储介质构造实时数据库存储结构,并给出了描述实时数据模型的数据结构与访问数据库的通用函数接口。
哈希表(Hashtable)又称为“散列”,Hashtable是会根据索引键的哈希程序代码组织成的索引键(Key)和值(Value)配对的集合。Hashtable 对象是由包含集合中元素的哈希桶(Bucket)所组成的。而Bucket是Hashtable内元素的虚拟子群组,可以让大部分集合中的搜寻和获取工作更容易、更快速。
究竟何谓input设备,相信市场上卖宠物小狗的大妈都能一口答出来,你能不知道么?对,就是我们传说中的输入设备。说到输入设备,相信用过电脑的兄弟都不会陌生了,即按键、鼠标、键盘、等一系列需要我们用户“动手”产生信息,然后丢给我们聪明绝顶的pc来处理的设备。前面说了,linux内核input子系统中已经实现了input设备的接口函数,这使得我们工作量大大的减轻了。我们以akm8973芯片(用于智能手机指南针的主功能芯片,实际上就一电子罗盘)为例,来简单看一下写一个input设备我们需要做的工作。
USB博大精深不是一篇文章就能够解释清楚的。想要深入研究USB的话,USB协议(外加Host和OTG协议)是必要的知识,另外,国内有本也写的很好很详细(点击阅读原文,21ic嵌入式论坛有下载),唯一美中不足的就是写得太详细了反而感觉思路架构不是很清晰了。今天我们来简单地把USB在Linux里的结构框架大致整理下,其中重点解析下USB Core和Hub。
针对嵌入式移动设备在实时性、可靠性方面的要求,以飞思卡尔半导体公司的MX51为系统硬件平台,给出了移动手持产品中的重力感应(G?sensor)实现方案。采用ST(意法半导体)公司的LIS33DE芯片采样重力感应数据,通过I2C总线传入系统。运用输入子系统、查询、队列等技术,详细讨论linux2.6.31内核下开发重力感应驱动程序的方法。该设计应用于智能手机、平板电脑等产品中,效果良好。
自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。
鉴于越来越多使用者将Linux移植到晶心平台(Andes Embedded?)上(AndesCore? N12或N10),本文的目的在协助使用者快速、有效率的将Linux 移植到自建的FPGA板子上(CPU是AndesCore? 的 N12或N10)。笔者曾协助多家公司工程师进行Linux移植到晶心平台的工作,将Linux移植过程容易遭遇的问题与盲点进行实际说明,期望能对使用者有所帮助,也希望读者不吝指教提供您宝贵的意见。
文中阐述的是家庭监护机器人项目中语音识别系统设计的部分,通过DSP、DMA和ARM Cortex-A8的并行处理,利用双缓冲的方法,在嵌入式Linux上实现了基于ATK的实时语音识别系统。文中对该系统的软硬件进行了设计。在硬件方面,给出语音识别系统的硬件组成原理,并提供了关键部分原理图;在软件方面,提出实时语音识别的方法,给出应用程序实现
构建以FPGA为核心的通信处理模块,内置一个32位处理器,加载uCLinux操作系统,驱动两个CMOS接口、一个SPI射频接口、一个以太网接口、一块液晶显示器;硬件加速定位、图像预处理、编码等算法;开发良好人机交互接口。
嵌入式系统一般分为两大类:需要硬实时性能的;和不需要硬实时性能的。过去,我们不得不做出艰难 抉择,即选择实时操作系统的性能还是我们钟爱的 Linux 系统的丰富特性,然后努力弥补不足之处。
系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。
本系统以AT91ARM9200作为核心芯片,以GoAhead WebServer作为嵌入式Web服务器,针对传感器网络的结构、嵌入式Web体系结构、嵌入式数据库模型、嵌入式操作系统模型、嵌入式网关设计模型等进行初步的研究与探索,提出一种无线传感器网络嵌入式网关的设计方案和无线传感器网络数据管理与查询模式,研发了基于Web的传感器网络嵌入式网关系统。
在分析Linux2.6内核新特性的基础上,在S3C2410开发板上移植了2.6内核和新的文件系统,并成功地对H.264编解码多媒体系统提供了支持。
本章主要给出了Linux平台下文件、进程控制与通信、线程控制与通信的编程实例。至此,一个完整的,涉及硬件原理、Bootloader、操作系统及文件系统移植、驱动程序开发及应用程序编写的嵌入式Linux系列讲解就全部结束了。
基于华邦W90P710处理器的Linux内核应用,详细介绍了Linux串口驱动的实现方法。同时对Linux文件系统操作入口函数及内核的编译做了详细的说明。