
嵌入式Linux
文章平均质量分 78
lokicui
个人正从事于嵌入式方面的工作.欢迎交流....
展开
-
利用tslib为MiniGui提供触摸屏的IAL引擎(5)----Tslib的环境变量、配置文件等的分析
下面就Tslib的环境变量、配置文件等进行简要的分析1. 环境变量为了实现Tslib的正确运行,需要对如下的Tslib的环境变量进行配置:TSLIB_TSDEVICE //触摸屏设备文件名。Default (no inputapi): /dev/touchscreen/ucb1x00Default (inputapi): /dev/input/event0TSLIB_CAL原创 2008-10-17 09:17:00 · 949 阅读 · 0 评论 -
手把手教你在FC6下完全自己编译MiniGUI(模拟环境)(EL-ARM-830)-------qvfb
由于是模拟环境搭建起来格外简单,在此就不啰嗦了,况且开发板上有有关的文档。你也可以参照大漠孤狼 MiniGUI 1.3.3 移植详解这篇文章,goolge一下,遍地都是。值得说明的是几处在FC6下会出现的错误:实际操作在FC6下出现的问题的解决办法:1、由于FC6 gcc版本高问题,在编译MiniGui的lib库时会报错,错误信息如下:a) grid.c:原创 2008-10-17 09:24:00 · 780 阅读 · 0 评论 -
(转)Linux头文件中s3c2410 GPIO的宏
一、GPIO寄存器定义1.#define GPCON(x) __REG2(0x56000000, (x) * 0x10) 这句是定义2410的GPIO的控制寄存器,注意:__REG2的参数是寄存器的物理地址,这个物理地址经_REG2宏转换为虚拟地址,对照2410的手册可以得到一下对应关系:GPCON(1) ------ PORT A 0x56000000GPCON(2) -转载 2008-10-17 09:26:00 · 640 阅读 · 0 评论 -
利用tslib为MiniGui提供触摸屏的IAL引擎(6)----改写IAL引擎
改写 IAL 引擎 完成了对 tslib 的交叉编译之后, 下一步的事情就是改写 MiniGUI 的 IAL 引擎。MiniGUI自带的 IAL 输入引擎中,有一个叫做 SMDK2410。为了尽可能简单,作者决定在其基础上稍作修改,使之符合我们的要求即可。修改后得到的文件全貌如下(libminigui-1.3.3/src/ial/2410.c) :25 #include 26 #in原创 2008-10-17 09:16:00 · 1009 阅读 · 0 评论 -
利用tslib为MiniGui提供触摸屏的IAL引擎(2)---tslib 的 API 接口介绍
tslib 的 API 接口 作者的想法是通过 tslib 来构建 MiniGUI 的输入引擎。tslib 是一个用于触摸屏设备的函数库。通过这样一个函数库,可以将编程者从繁琐的数据处理中解脱出来。为什么会出现这样的情况呢?因为触摸屏的坐标和液晶显示屏 之间的坐标并不是一一对应的, 所以,要让从触摸屏上得到的坐标正确转换为液晶显示屏上的坐标,需要经过一个转换过程。除此之外,ts原创 2008-10-17 09:20:00 · 951 阅读 · 0 评论 -
嵌入式相关工程师工作要求
嵌入式驱动开发工程师要求:1、 熟悉Unix/Linux操作系统内核的基本概念,精通Linux环境C或C++编程;2、 精通嵌入式Linux操作系统驱动层及核心层编程;熟悉Linux设备驱动的各种编程接口和机制,对Linux下的某种设备拥有实际的驱动开发经验,具备Linux移植和裁减经验;3、 至少熟悉ARM/PowerPC/MIPS体系结构中的一种 并对嵌入式硬件系统的体系结构和各种原创 2008-10-29 20:29:00 · 1501 阅读 · 1 评论 -
Linux-2.6.20的cs8900驱动分析(一)
Linux-2.6.20的cs8900驱动分析(一)http://blog.chinaunix.net/u1/49924/showart_488174.html 几经波折,在开发板上终于可以使用网络了。Linux内核可以通过网络挂接网络文件系统了。首先感谢Internet,Google等帮助过我的工具,还要感谢各位嵌友的无私奉献。在移植的过程中尤其感激weibing的博客文章c转载 2008-12-24 13:38:00 · 553 阅读 · 0 评论 -
Linux-2.6.20的cs8900驱动分析(二)
二、net_open、net_close和net_interrupt2.1 net_open与net_closenet_open函数主要完成的工作有:(这段net_open函数的概要内容总结来源于网络,网址:http://www.akae.cn/bbs/archiver/?tid-6657.html)A.获取私有数据指针存放于lpB.启动设备总线控制功能和启动存储器C.调用转载 2008-12-24 13:40:00 · 602 阅读 · 0 评论 -
Linux-2.6.20的cs8900驱动分析(三)
三、net_rx和net_send_packet3.1 net_rx在这部分将介绍cs8900驱动的两个最重要的函数,内核通过该两个函数实现了数据的收发。net_rx函数的主要功能是从cs8900的片上数据缓冲区中将数据传送给sk_buff缓冲区,sk_buff是网络驱动程序与Linux内核通信的缓冲区。该结构可在/include/linux/skbuff.h中找到。net_rx函数的转载 2008-12-24 13:47:00 · 491 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之性能优化篇
在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法: #define MIN(A,B) ( A 正确做法: #define MIN(A,B) ((A) 对于宏,我们需要知道三点: (1)宏定义"像"函数; (2转载 2008-12-24 19:42:00 · 550 阅读 · 0 评论 -
C语言嵌入式系统编程修炼
C语言嵌入式系统编程修炼之背景篇作者:宋宝华出处:天极网责任编辑: 方舟 [ 2005-06-14 14:45 ]本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程技巧 不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但转载 2008-12-24 19:44:00 · 667 阅读 · 0 评论 -
(转)一种校准触摸屏/显示屏之间点与点对应关系的算法
原文出处:http://www.eetchina.com/ART_8800302522_480101_TA_9c35bff5.HTM阻性触摸屏与LCD显示器上的各点很难完全准确配合,因此除了采用精确的机械装配技术校准之外,在使用之前还必须进行软件校准。本文介绍的校准方法首先确定误差源,然后通过三个选定点导出触摸屏的校准矩阵,并用软件方法来实施点与点之间对应关系的校准。掌握这种技术,对降低原创 2008-10-17 09:15:00 · 1409 阅读 · 0 评论 -
s3c2410触摸屏在linux下的驱动分析(在EL-ARM-830开发板上测试通过)
转载注明出处:http://hi.baidu.com/luv%5Fresplendent/blog/item/183c841f23e992cea78669f8.html 触摸屏驱动在/kernel/drivers/char/s3c2410-ts.c 文件中。(声明:此文章是在一网友基础上修改的,在此谢过)该驱动总要有以下重要数据结构:1.触摸屏的file_operatio原创 2008-10-17 09:25:00 · 1006 阅读 · 0 评论 -
手把手教你在FC6下完整移植MiniGUI(五)(环境:EL-ARM-830)---安装 popt 库
在 Development Environment Option 里 (Linux) Platform .c rm -f .libs/fixstr.lo/opt/host/armv4l/bin/armv4l-unknown-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../include -g -O2 -D__MI原创 2008-10-17 09:22:00 · 737 阅读 · 0 评论 -
利用tslib为MiniGui提供触摸屏的IAL引擎(3)----tslib的交叉编译
tslib的交叉编译Tslib的官方下载地址为一个CVS服务器,下载方法为:[root@localhost]#export CVSROOT=:pserver:cvs@pubcvs.arm.linux.org.uk:/mnt/src/cvsroot[root@localhost]#cvs login[root@localhost]#cvs co tslib获得Tslib的源原创 2008-10-17 09:20:00 · 591 阅读 · 0 评论 -
利用tslib为MiniGui提供触摸屏的IAL引擎(1)---MiniGUI IAL简介
利用tslib为MiniGui提供触摸屏的IAL引擎简介: GAL(Graphic Abstract Layer,图形抽象层)和 IAL(Input Abstract Layer,输入抽象层)是 MiniGUI 的两个基础设施,MiniGUI 的高度可移植性在很大程度上也是由于这两个接口提供了独立于硬件的抽象能力。但是 GAL 和 IAL 并不是生来就存在的,它们也需要通过底层原创 2008-10-17 09:21:00 · 835 阅读 · 0 评论 -
手把手教你在FC6下完整移植MiniGUI(六)(环境:EL-ARM-830)---移植MiniGUI2008-08-13 下午 06:12
OK ,下面是把 minigui 移植到你的板子上去了。 我在 /nfs目录下建立了一个 cramfs 目录,即 /nfs/cramfs ,用来建立我的嵌入式系统的根目录,现在我需要把 minigui 的库文件放到里面去, 建立目录 [Root]# mkdir –p /nfs/cramfs/usr/local/lib 把 /opt/host/armv4l/armv4l-unknown-lin原创 2008-10-17 09:21:00 · 800 阅读 · 1 评论 -
手把手教你在FC6下完整移植MiniGUI(四)(环境:EL-ARM-830)---安装 libminigui
编译 libminigui [user]# cd libminigui-1.3.3 [user]# make menuconfig //就用图形界面来配置就好了,不要用一堆 –enable-xxx 之类的,太麻烦 如果在 make menuconfig 出错,去检查一下你的 gcc ,前面我们把它指向 arm-linux-gcc ,问一下,你改回来没有? 下面是配置libminigui原创 2008-10-17 09:22:00 · 506 阅读 · 0 评论 -
手把手教你在FC6下完整移植MiniGUI(三)(环境:EL-ARM-830)---安装 libttf 库
现在开始安装 libttf 库,这个是 TrueType 字体的支持库,用来显示文字的。 http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz 注意:MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了 :) 这个库装起来最麻烦,全部自己手动编译,安装,下面一步一步来做吧原创 2008-10-17 09:23:00 · 579 阅读 · 0 评论 -
手把手教你在FC6下完整移植MiniGUI(二)(环境:EL-ARM-830)---安装 jpeg 库
OK,现在来安装 jpeg 库 ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz 自己去下载,速度暴慢 [root@localhost minigui_complate_install]# tar zxvf jpegsrc.v6b.tar.gz [root@localhost minigui_complate_install]# cd jpe原创 2008-10-17 09:23:00 · 511 阅读 · 0 评论 -
手把手教你在FC6下完整移植MiniGUI(一)(环境:EL-ARM-830)---安装 zlib 库+png库
本文参照(MiniGUI 1.3.3 移植详解 作者:大漠孤狼 E-Mail:yuqiang0107@126.com)写出,若出现版权问题请联系我删除(luv.y@qq.com)。谢谢 和他最大的不同在于字库的安装和最后放到文件系统的过程。并且多了一些错误提示;本人在FC6下历时三天,终于移植成功,在此和大家分享以下经验;关于交叉编译环境的建立我在此都不啰嗦了,相信大家都看移植了,环原创 2008-10-17 09:24:00 · 876 阅读 · 0 评论 -
Windows下DNS ID欺骗的原理与实现
域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息。通常,网络用户通过UDP协议和DNS服务器进行通信,而服务器在特定的53 端口监听,并返回用户所需的相关信息。 一.DNS协议的相关数据结构 DNS数据报:typedef struct dns{ unsigned short id; //标识,通过它客户端可以将DNS的请原创 2008-10-17 09:41:00 · 707 阅读 · 0 评论 -
利用tslib为MiniGui提供触摸屏的IAL引擎(4)---tslib的移植到目标板
tslib移植到目标板 [root@localhost tslib-1.3]# cd /opt/host/armv4l/armv4l-unknown-linux/tslib # ls bin etc include lib share # ls bin/ ts_calibrate ts_print ts_test # ls etc/原创 2008-10-17 09:19:00 · 735 阅读 · 0 评论 -
Linux内核wait_queue深入分析
前几天在看驱动的时候碰到了等待队列,上网去搜了 一下,再结合代码看了一下,深有体会.在 kernel 里,wait_queue 的应用很广,举凡 device driver,semaphore 等方面都会使用到 wait_queue 来 implement。所以,它算是 kernel 里蛮 基本的一个数据结构。 首先,我们得明白,linux中的所有的进程都由task_struct这个结构转载 2008-12-24 19:47:00 · 657 阅读 · 0 评论