- 博客(91)
- 资源 (54)
- 收藏
- 关注
原创 SDL arm linux平台交叉编译
SDL arm linux平台交叉编译 以下所涉及到的SDL源码和demo源码,有需要的请留下你的email 我给你发过去.一.准备条件及环境 1.主机一台:装有linux操作系统 2.目标版:arm-linux环境,如mini2440装有linux内核,内核版本高于2.6.0 3.如果有对等网线可以连接主机与目标版,那么就不用准备U盘二.准备软件步骤 1.打开光
2009-03-18 10:37:00
6795
36
转载 从内存中加载并运行exe
{配合anskya的AnyWhereFileToPas效果不错} { ******************************************************* } { * 从内存中加载并运行exe * } { *******************************************
2009-02-12 10:21:00
776
原创 i2c总线设备测试应用程序
i2c总线设备测试应用程序 既然是应用程序无非就是read,write。是的如果没有算法加进来的话,就是这样的,更何况这是一个测试程序! 首先介绍一个系统总线(设备)给大家,如果有人接受不了这个概念可以先把它了解清楚再继续阅读,如果觉得自己还可以忍受一会儿的话,我们在后面的i2c总线中给大家详细解释。[root@Intel rtc]# ll /dev/i2c-
2009-02-04 12:59:00
3058
2
原创 Linux设备驱动程序设计实例
Linux系统中,设备驱动程序是操作系统内核的重要组成部分,在 与硬件设备之间建立了标准的抽象接口。通过这个接口,用户可以像处理普通文件一样,对硬件设备进行打开(open)、关闭(close)、读写(read/write)等操作。通过分析和设计设备驱动程序,可以深入理解Linux系统和进行系统开发。本文通过一个简单的例子来说明设备驱动程序的设计。1、 程序清单// MyDev.c
2009-01-13 13:36:00
811
转载 2.6内核LOGO的制作方法
2.6内核LOGO的制作方法在LINUX下一般图片使用PNG格式比较多,这里就以PNG格式为例,不是PNG格式的图片,可以用GIMP转换一下:首先将png图片转成pnm# pngtopnm utulinux_logo.png > utulinux_logo.pnm然后将pnm图片的颜色数限制在224 # pnmquant 224 utulinux_logo.pnm > utulinux_lo
2008-12-10 09:02:00
393
原创 qte的tslib-path补丁和Tslib的编译支持触摸屏
最近写完了程序后发现自己的触摸屏的在使用的过程中效果不是很好,抖动很严重。在网上搜索了一下相关的资料可以用tslib来去除抖动,在网上看到几篇相关的文章,根据我的实际情况把他整理了一下,希望对新手有所帮助。 我的触摸屏是四线电阻式的,抖动本身就很历害,可能是硬件上面设计的缺陷,我在驱动里加了去抖动的代码,效果还是让人不理想,一开始本身就没有用tslib来结合qte。单独是qte,没有
2008-12-09 09:40:00
517
原创 DEBUG和RELEASE 版本差异及调试相关问题
DEBUG和RELEASE 版本差异及调试相关问题: . 内存分配问题 1. 变量未初始化。下面的程序在debug中运行的很好。 thing * search(thing * something)
2008-12-08 15:13:00
320
原创 用kdevelop进行交叉编译的方法
用kdevelop进行交叉编译的方法。首先提一下,我这篇文章,对于那些喜欢使用繁琐开发工具的达人们可以无视。嵌入式的linux开发中,要建立的项目通常是三种,一是C或C++的工程。二是QT/E的工程,三是内核驱动模块工程。管理三种工程,网上流传的方法大多是用autotool或qmake工具生成MAKEFILE,这两种工具使用极其繁琐,尤其是autotool工具集,还是一“集”,其中,
2008-12-05 09:38:00
982
1
原创 tslib校准
1.编译前段时间非常的郁闷…因为在运行生成校准程序ts_calibrate时总是出现一个错误:ts_open:Inappropriate ioctol for device后来无数折腾后经过nanfansky指点才知道是自己板子的触摸屏驱动不支持ioctl操作 重新编译tslib cd tslib-1.3 export CC=/usr/local/arm/3.3.
2008-12-04 08:40:00
768
原创 arm板 释放ttyS0作为通信串口
释放ttyS0作为通信串口 #include #include #include #include #include #include void CloseConsole(void) { int fp;struct termios options;printf("change1/n");fp = open("/dev/tty1",O_RDONLY); // 改变consoleioctl(fp,T
2008-12-03 08:38:00
1274
原创 ads7843 驱动程序分析
ads7843 驱动程序分析 本文将从驱动程序的机制和策略两方面分析:机制包括驱动程序的框架和硬件的控制,策略主要是中断的处理和缓冲区的使用,这两种方法在 驱动的设计中经常用到 。1. 框架大部分驱动程序操作设计到三个重要的数据结构:file_operation,file,inode;static struct file_operations ads7843_fops = { own
2008-12-02 14:18:00
3149
原创 linux下通过脚本实现自动重启程序
linux下通过脚本实现自动重启程序 无论什么程序都不可能完美无缺,理论上,任何程序都有 Core Dump 的一天,正式运营的程序,尤其是服务器程序,一旦 Core Dump ,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批。所以,程序发生错误时自动重启变得很重要。这里集中讨论 linux 实现自动重
2008-12-02 14:16:00
526
原创 关于交叉编译Qtopia-opensource-src-4.3.2 完全版
最近在论坛上看到许多朋友在交叉编译Qtopia-opensource-src-4.3.2时出现很多问题,而不能继续。本人一直以来都不会使用新版本的开发库,一个原因是新的东东用的人少,网上资料也少,问题解决办法不容易查得到,而且我的arm CPU也跟不上。以下是我的完全的交叉编译过程,希望能对您有所帮助。我的主机系统:FC6目标板:Arm 9200目标板文件系统:cramfs
2008-12-02 09:05:00
2121
3
转载 Linux设备驱动开发入门(下)
真实的“并口”驱动:描述并口接下来,将修改刚刚写的memory驱动,来在一个真实设备上进行真实的操作。使用简单并且常见的计算机并口作为例子,新驱动的名称叫做:parlelport。并口实际上是一个允许输入输出数字信息的设备。它有一个母的D-25连接头 ,有25针。从内部看,从CPU视图看,并口有3字节的存储,在PC上,基地址(设备的起始地址)通常是0x378。在本例中,我们仅使用包含完整数字输
2007-12-06 17:12:00
1261
转载 Linux设备驱动开发入门(上)
知识准备要开发Linux设备驱动,需要掌握以下知识:• C编程 需要掌握深入一些的C语言知识,比如,指针的使用,位处理函数,等。• 微处理器编程 需要理解微机的内部工作原理:存贮器地址,中断,等。这些内容对一个汇编程序员应该比较熟悉。Linux下有好几种不同的设备。为简单起见,本文只涉及以模块形式加载的字符设备。使用2.6.x的内核。(特别是Debian Sarge使用的2.6.8内核。)用户
2007-12-06 16:55:00
1782
原创 QT/E触摸屏支持
1.建立QT/E交叉编译环境(这部分我其它的文章有) 2.在src/tools/qconfig-local.h中加入(如果没有该文件则重建一个) #define QT_QWS_IPAQ #define QT_QWS_IPAQ_RAW #define QT_NO_QWS_CURSOR #define QT_NO_QWS_MOUSE_AUTO //去掉鼠标自动识别功能3.我这里就没有设
2007-11-30 14:44:00
1309
2
转载 嵌入式Linux中基于 Qt/Embeded触摸屏驱动的设计
本文主要介绍了在嵌入式 Linux 系统下基于 Qt/Embeded 的触摸屏驱动的设计,通过对 Linux 设备 驱动和Qt/Embedded设备驱动接口的工作原理和机制介绍,并结合大量源代码进行分析,提出了基于Qt/Embeded 的触摸屏驱动的开发方案。 嵌入式 Linux 以其开源性、内核的健壮性和稳定性、可裁减性,以及有着专业的商业公司和世界顶尖 的自由软件开发者的支持和维护
2007-11-29 14:25:00
946
原创 9200的QT开发环境
做Liunx下的开发,起步是最难的;开源的好处是不花钱,可是天下没有免费的午餐,不花钱就不能责怪人家写的代码混乱,版本参差不齐,N多BUG…而这些都实际上增加了开发的难度。所以开发之前,安装一个可靠好用的开发环境是相当重要的。安装工具包时经常有这样的感受,按照网上的步骤一步步做下来,结果突然进行到某一个地方就挂在那里了!然后就想杀人!这两天一直埋头于QT,前几天编写了一个小DEMO,在linux下
2007-11-28 09:10:00
1065
1
原创 一个Linux爱好者的2.6.11内核编译过程
一个Linux爱好者的2.6.11内核编译过程 星期天呀,呵呵,10:30起床,好像有一点早,昨天晚上玩游戏玩到3点钟,好累呀。打开电脑,先玩一会游戏在说。11:00,不玩了,开始干正事了。先换到linux下去。本来想用虚拟机的,但是我做的ftp不能用,而且还可能好慢的。我的电脑是没有上网的,在我的2003下架了个ftp,想让虚拟机来访问,可是虚拟机和我的电脑连不上,好郁闷。 (1)安装
2007-11-27 10:51:00
418
原创 建立Embedded QT 开发环境
建立Embedded QT 开发环境 本文主要内容为编译器的安装,安装与建立Qt 桌面运行环境,Qt/E 的交叉编译,建立本机Qtopia 虚拟平台, 预备:编译器安装 编译器: arm-linux-gcc-3.4.1.tar.bz2 一. 安装与建立Qt 桌面运行环境软件:PC 机操作系统FC2+MINICOM + ARM-LINUX 开发环境tmake-1.13.tar.gz qt-emb
2007-11-26 17:09:00
797
翻译 把自定义控件集成到Qt Designer中(Integrating Custom Widgets with Qt Designer)
要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在。有两种方法可以把新自定义控件的信息通知给Qt Designer:“升级”法和插件法。升级法最为简便快捷。顾名思义,升级法就是把Qt自有的控件进行升级改造一番。找一个Qt自有的控件,如果它和我们新加的自定义控件有着相似的API,那么只要在Qt Designer的对话框里面完成一些新控件的信
2007-11-26 17:07:00
867
原创 QT/Embedded从ttf字库中提取指定汉字生成qpf字库的办法
QT/Embedded从ttf字库中提取指定汉字生成qpf字库的办法 解决思路: 获取汉字的unicode编码,使用unicode编码来获取ttf字库中的汉字来生成qpf字库.首先对我所用的linux环境作以下说明:Linux系统: Redhat Linux 9QT: qt-embedded-free-3.3.3.tar.bz2下面正式开始
2007-11-26 17:05:00
1529
原创 WenQuanYi 字体的简单安装方法
WenQuanYi 字体的简单安装方法 文泉驿字体的安装比较复杂,发现有下面的简单方法与大家分享: ps:其实自带的 shanheisun 字体已经很不错了,但是我还是安装了文泉驿,因为更喜欢文泉驿。 下载 WenQuanYi 字体,http://sourceforge.net/project/showfiles.php?group_id=128192&package_id=156288
2007-11-26 17:03:00
1290
原创 linxu到arm
linxu到arm 编写Linux应用程序要用到如下工具: (1)编译器:GCC GCC是Linux平台下最重要的开发工具,它是GNU的C和C++编译器,其基本用法为:gcc [options] [filenames]。 我们应该使用arm-linux-gcc。 (2)调试器:GDB gdb是一个用来调试C和C++程序的强力调试器,我们能通过它进行一系列调试工作,包括设置断点、观查
2007-11-26 17:02:00
428
原创 linux加载驱动
linux加载驱动 比如 LCD (1)静态加载LCD驱动 将写好的lcd驱动程序lcd.c放到 linux/drivers/char目录下,修改 linux/drivers/char/config.in文件,加上一行:BoolLCD driver supportCONFIG_LCD;修改arm/linux/drivers/char/Makefile文件,加上一行:obj-$(CONF
2007-11-26 17:00:00
1045
原创 fc6 安装 qte
fc6 安装 qte一 默认安装fc6,重新安装内核 内核安装方法 1. 下载内核2.6.18.1,解压到/usr/src/linux-2.6.18.1中2.cd /usr/src3.ln -s linux-2.6.18.1 linux4.cd /usr/src/linux5.cp /boot/config-uname -r ./.config6.make xconfig 选中 De
2007-11-26 16:59:00
579
原创 QTE与触摸屏
QTE触摸屏加载有两种方法:(1)QTE本身触摸屏加载;主要注意三个内容: 编译QTE时,在其自定义配置文件(位于QTDIR/src/tools/qconfig-XXX.h,其XXX为自定义的名字,该特征字可以在configure时用-qconfig XXX指定)所应加的内容: #define QT_QWS_IPAQ #define QT_QW
2007-11-26 16:47:00
571
原创 自动加入回车和自动下移下一个控件
Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char);Begin if Lenth(Edit_code3.text)=3 then SendMessage(Edit_code3.handle,WM_KEYDOWN,0,13); End;PostMessage(E_Code.Handle,wm_keydown, 13,
2007-01-13 23:11:00
486
原创 在状态栏动态加进度条
一般情况下,我们可以创建非模式对话框并在上面显示进度条。如果能够利用状态条,在状态条中动态地添加并显示进度条,将会更加方便直观。下面将讲述如何在Delphi 5中编程实现在状态条中动态地添加进度条。具体的过程如下: 1.在Delphi 5中通过菜单“File/New Application”创建一个新的工程。 2.在窗体中添加一个状态栏组件StatusBar1,一个Button组件Butto
2007-01-13 23:10:00
642
原创 在DBGRID中加入序号
var Form1: TForm1; i:integer; bflag,bflag2:boolean; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin adoquery1.Open; end; procedure TForm1.DBGrid1DrawColumnC
2007-01-13 23:09:00
803
原创 拖放(DragDrop)
拖放(DragDrop)是Windows提供的一种快捷的操作方式。作为基于Windows的开发工具,Delphi同样支持拖放操作,而且开发应用系统的拖放功能十分方便,真正体现了Delphi 的强大功能和方便性。 Delphi提供的所有控件(Control,即能获得输入焦点的部件)都支持拖放操作,并有相应的拖放属性、拖放事件和拖放方法。下面我们先介绍控件的拖放支持,而后再给出开发拖放操作的一般
2007-01-13 23:08:00
902
原创 压缩access数据库
uses ComObj;procedure TForm1.Button1Click(Sender: TObject);var X:OleVariant; sourcefiles,tempfiles:string;begin sourcefiles:=E:/xll/model.mdb; tempfiles:=E:/xll/temp.mdb; try X := create
2007-01-13 23:08:00
421
原创 取得机器名和IP地址
//////////////////////////////////////////////取得本机ip和机器名//////////////////////////////////////////////uses winsock; function LocalIP: String; type TaPInAddr = Array[0..10] of PInAddr; PaPInAdd
2007-01-13 23:07:00
381
原创 全局出错处理
我的程序中使用了全局出错处理,使用了全局变量aerror判断是否进行全局出错处理还是使用程序中的try...except语句,在try...except语句前置aerror值为2,处理后置 1procedure TFormmenu.AppOnException(Sender: TObject; E: Exception);begin if datam.aerror begin
2007-01-13 23:07:00
451
原创 禁止程序重复运行
方法一:var hMutex:hwnd; ret:integer;begin Application.Initialize; hmutex:=createMutex(nil,false,project1); ret:=getlasterror; if ret begin Application.CreateForm(TMainFrm, MainFrm); Applic
2007-01-13 23:06:00
661
原创 判断字段类型
dataset.Fields[0].DataType 返回为:ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ft
2007-01-13 23:06:00
809
原创 键值大全
在keydown事件里面showmessage(inttostr(key));在keypress事件里面showmessage(key);就知道了。Form1.KeyPreview := True;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);beginShowmessage(
2007-01-13 23:05:00
529
原创 加密(Crc16)
方法二:结果为10268constCrc16Tab: Array[0..$FF] of Word = ($00000, $01021, $02042, $03063, $04084, $050a5, $060c6, $070e7, $08108, $09129, $0a14a, $0b16b, $0c18c, $0d1ad, $0e1ce, $0f1ef, $01231, $00
2007-01-13 23:04:00
732
原创 监听网内msn聊天内容
unit Main;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinSock2, StdCtrls, Spin;const WM_Socket = WM_User + 1;type TMainForm = class(TF
2007-01-13 23:04:00
481
原创 Delphi6函数大全-SysUtils.pas
>首部 function Languages: TLanguages; $[SysUtils.pas功能 返回系统语言对象说明 通过此函数可以得到系统的语言环境参考 type SysUtils.TLanguages例子 ///////Begin Languagesprocedure TForm1.Button1Click(Sender: TObject);var I: Integer;
2007-01-13 23:03:00
668
Total Vedio Converter 3.10
2010-08-17
[全系列卡巴斯基]卡巴斯基2010全功能安全软件(KIS2010)激活码key|授权文件[6月24更新]
2010-06-25
卡巴斯基2010全功能安全软件(KIS2010)激活码key|授权文件[2月23更新]
2010-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人