呼吸灯最早见于苹果的电脑,近年来,在各种手机上也频频出现。呼吸灯是很简单的东西,用一片555,搭成一个多谐振荡器,再用RC电路滤成锯齿波,再驱动LED就可以了。LED在锯齿波的控制下,逐渐的由亮到暗
设备驱动程序可以使用模块的方式动态加载到内核中去。加载模块的方式与以往的应用程序开发有很大的不同。以往在开发应用程序时都有一个main()函数作为程序的入口点,而在驱动开发时却没有main()函数,模块在调用insmod命令时被加载,此时的入口点是init_module()函数,通常在该函数中完成设备的注册。
以前写过一篇关于PWM的博文,已经有一年了,链接如下:http://hi.baidu.com/do_sermon/item/ff523b0a8b9d3d173b53ee74文中使用了示波器来显示不同占空比的波形。其实,利用LED也能通过亮度来表现出PWM参
Qt/Embedded以原始Qt为基础,并做了许多出色的调整以适用于嵌入式环境。Qt/Embedded通过Qt API与Linux I/O设施直接交互,成为嵌入式Linux端口。同Qt/X11相比,Qt/Embedded很省内存,因为它不需要一个X服务器或是Xlib库,它在底层抛弃了X lib,采用framebuffer)作为底层图形接口
/*有个题目,是用595输出,驱动6位数码管显示时、分、秒。用两个按键进行修改,一个变换修改的位置,另一个是加一。提问者希望让待调整的位闪烁。题目可见:http://zhidao.baidu.com/question/44386518
FS2410开发板的S3C2410处理器具有117个多功能通用I/O(GPIO)端口管脚,包括GPIO 8个端口组,分别为GPA(23个输出端口)、GPB(11个输入/输出端口)、GPC(16个输入/输出端口)、GPD(16个输入/输出端口)、GPE(16个输入/输出端口)、GPF(8个输入/输出端口)、GPH(11个输入/输出端口)。
块设备通常指一些需要以块(如512字节)的方式写入的设备,如IDE硬盘、SCSI硬盘、光驱等。它的驱动程序的编写过程与字符型设备驱动程序的编写有很大的区别。
前面所讲述的驱动程序中都没有涉及中断处理,而实际上,有很多Linux的驱动都是通过中断的方式来进行内核和硬件的交互。中断机制提供了硬件和软件之间异步传递信息的方式。硬件设备在发生某个事件时通过中断通知软件进行处理。中断实现了硬件设备按需获得处理器关注的机制,与查询方式相比可以大大节省CPU资源的开销。
LED和蜂鸣器是最简单的GPIO的应用,都不需要任何外部输入或控制。按键同样使用GPIO接口,但按键本身需要外部的输入,即在驱动程序中要处理外部中断。按键硬件驱动原理图如图11-7所示。
该实验是编写最简单的字符驱动程序,这里的设备也就是一段内存,实现简单的读写功能,并列出常用格式的Makefile以及驱动的加载和卸载脚本。读者可以熟悉字符设备驱动的整个编写流程。
本章主要介绍了嵌入式Linux设备驱动程序的开发。首先介绍了设备驱动程序的概念及Linux对设备驱动的处理,这里要明确驱动程序在Linux中的定位。
目前的桌面机操作系统大多有着美观、操作方便、功能齐全的GUI(图形用户界面),例如KDE或者GNOME。GUI(图形用户界面)是指计算机与其使用者之间的对话接口,可以说,GUI是当今计算机技术的重大成就。它的存在为使用者提供了友好便利的界面,并大大地方便了非专业用户的使用,使得人们从繁琐的命令中解脱出来,可以通过窗口、菜单方便地进行操作。
通过编写一个跳动的“Hello,World”字符串,进一步熟悉嵌入式Qt的开发过程。
这里要讲的线程相关操作都是用户空间中的线程的操作。在Linux中,一般pthread线程库是一套通用的线程库,是由POSIX提出的,因此具有很好的可移植性。
用户选用ARM处理器开发嵌入式产品时,选择合适的开发工具可以加快开发进度,节省开发成本。根据功能不同,ARM应用软件的开发工具分别有编译软件、汇编软件、连接软件、调试软件、评估板、JTAG仿真器和在线仿真器等,目前世界上大约有四十多家公司提供以上不同种类的开发产品。