自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 内核态写文件代码

/* Add by Syhou for debug */extern void CT_WriteFile(char *filename, char *data) { struct file *filp; mm_segment_t fs;filp = filp_open(filename, (O_RDWR|O_CREAT|O_APPEND), 0644);if(IS_ERR(

2011-12-15 16:34:28 1231

原创 Linux下connect函数:no route to host & timeout的区别

在connect()阻塞条件下,连接同网段一个不存在的IP地址,立即返回,调用perror显示no route to host.连接其他网段或外网时,显示connection timeout,期间呈阻塞状态。所以得出以下结论:1.在连接内网同网段时,conne

2011-10-18 15:54:14 2443

原创 mxml库引用后无法正常编译

在makefile中添加了mxml相关参数,-L./mxml和-mxml均已添加,但是在链接时报错。仔细观察正常的makefile,发现缺少-pthread参数,添加后正常这个问题的结论是,如果出现链接时报错的问题,99%以上都是没有正确添加参数造成的。

2011-07-15 20:18:25 745

原创 无法通过网页连续发送命令的问题

症状:在IE下第一次点击按钮发送命令可以完成,当重复点击时,后续命令不发送。其它浏览器无此问题。原因:IE在重复打开相同链接时,会直接访问本地缓存而非重新请求链接。解决方法有二:一是在IE设置中关闭此项,当然这不能一劳永逸地解决问题。二是在每次发送链接时,用JS在后面添加一个随机

2011-07-15 20:11:32 672

原创 Linux下防火墙(iptables)的问题

<br />做好了一个接收端的软件准备进行调试,可是发送屡屡失败接收不到数据。我怀疑是防火墙问题,检查时已经关闭selinux。然后花了点时间配置了个samba server,结果也无法连接。查了一下资料在iptable中添加例外即可,过程如下:<br /> <br />先运行要打开的程序,查看端口号:<br /> <br />netstat -nupl (UDP)<br />netstat -ntpl (TCPP)<br /> <br />这里要注意一下,这个命令只表示程序运行时用socket()函数绑定

2011-06-01 12:07:00 720

原创 强制类型转换成结构体

<br />例:某结构体长度100个字节,定义一个指针*struct指向该结构体。有一个字符串长度200个字节,将该字符串强制转换成结构体结果如何?<br /> <br />答: 1.该字符串被结构体截成两段分别存入struct[0] struct[1]<br />2.*struct 指向字符串的首字符<br />3.如果直接调用struct,相当于调用struct[0]

2011-05-31 18:37:00 3751

原创 exit() _exit()函数的区别

<br /> <br />exit()函数的作用是:直接使用进程停止运行,清除其使用的内存空间,并清除其在内核中的各种数据结构;exit()函数则在这一基础上做了一些包装。在执行退出之前加了若干道工序。exit()函数与_exit()函数最大区别就在于exit()函数在调用exit系统之前要检查文件的打开情况,把文件缓冲区的内容写回文件。<br />由于Linux的标准函数库中,有一种被称作“缓冲I/O”的 操作,其特征就是对应每一个打开的文件,在内存中都有一片缓冲区。每次读文件时,会连续的读出若干条记录,

2011-05-25 10:39:00 1109

原创 解析器最终版本

<br /><br />#include <stdio.h><br />#include <ctype.h><br />#define SIZE 512<br />#define CR '/n'<br />char file[300]="input.txt";//用于接收输入输出文件名<br />//定义分界符<br />char singleword[50]="+-=#;<>";<br />FILE *fin; //指向输入文件的指针<br /> <br />void main(){<br />int r

2011-05-02 12:59:00 422

原创 简单的解析器

<br />#include <stdio.h><br />#include <ctype.h><br />#include <iostream><br />char PL0Scanin[300]="1.txt"; //用于接收输入输出文件名<br />//下面定义纯单分界符,如需要可添加<br />char singleword[50]="+-=#;<>";<br />FILE *fin; //用于指向输入输出文件的指针<br />void main(){<br />   int es=0;<br /> 

2011-05-01 23:55:00 481

原创 U-boot移植问题记录

<br />1. ldr  r0, =CLKDIVN          //设置分频系数FCLK:HCLK:PCLK = 1:4:8<br />    mov  r1, #5//为什么要把立即数5赋给CLKDIVN?如何计算?<br />    str  r1, [r0]<br /> <br /> 

2011-04-24 11:43:00 452

转载 关于时钟频率的设置

<br /><br />OSC是用无源晶振,EXT是用有源晶振或外部时钟2440的12M是Oscillator 是有源的呀!<br />2440的12M是Oscillator<br /> Crystal 无源晶体<br />Oscillator 有源晶体(里面有有源器件)<br /> <br />  无源晶振内只有一片按一定轴向切割的石英晶体薄片,供接入运放(或微处理器的XTAL端)以形成振荡.有源晶振内带运放,工作在最佳状态,电源后,可直接输出一定频率的等幅正弦波,一般至少有4引脚,体积稍大.<br />

2011-04-24 11:29:00 8765

原创 ARM汇编指令集

ARM汇编指令集一、跳转指令    跳转指令用于实现程序流程的跳转,在ARM程序中有两种方法可以实现程序流程的跳转:Ⅰ.使用专门的跳转指令。Ⅱ.直接向程序计数器PC写入跳转地址值。通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在4GB连续的线性地址空间的子程序调用。   ARM指令集中的跳转指令可以完成从当前指令向前或向后的32MB的地址空间的跳转,包括以下4条指令:1、  B指令B指令的格式

2011-04-24 10:55:00 826

原创 U-boot移植的一些记录和心得

1.建议使用2010.06版本的U-boot,下载过1.1.6版本的结果最后无法正常编译。新版本的很多文件结构都发生了变化,要摸清楚需要一定时间。这个版本的资料相对比较多也比较好找。

2011-04-23 23:14:00 1571

原创 Linux内核编译相关

pwd 显示当前目录路径uname -a 显示当前操作系统内核版本清除编译记录:make clean(删除obj文件)make mrproper = make distantclean 删除所有配置文件

2011-04-23 17:11:00 1094

原创 Fedora9更新源

Fedora9更新源与ubuntu相比,Fedora的国内镜像等支持要弱的多,没有稳定的更新源,升级个系统的速度慢得要死; ubuntu的就非常快,而fedora平时仅仅可以达到10kb左右。但是fedora作为比较成熟的linux系统,也深受大家喜欢。现在把加速升级的主要的方法分享如下,主要针对Fedora9:1) livna的yum源:rpm -ivh http://rpm.livna.org/livna-release-9.rpm2) freshrpms的yum源:rpm -ivh http://ft

2011-04-22 00:43:00 698

原创 目前进度及相关计划

目前进度:1.交叉编译环境的建立100%2.U-boot的编写和实现 10%3.Linux内核裁剪30%4.驱动程序0%5.文件系统0%6.qt移植30%7.qt开发0%由于时间过紧,现做如下改动(四月):1.交叉编译环境的建立已完成2.U-boot的编写和实现 取消,采用supervivi3.Linux内核裁剪 下载干净内核重新编译4.驱动程序 不做改动,完成与内核连接即可5.文件系统 分区不作改动,和supervivi相同,加入qt所需类库即可6.qt移植30% 完成arm版本编译和测试运行,需加入ts

2011-04-21 22:06:00 446

原创 C语言常见陷阱和问题

给两个变量A B,在不定义第三个变量的情况下交换A B的值A=A+B;B=A-B;A=A-B;int i;for(i=0;i{for(;i==2;)printf("%d/n",i);}输出结果?22222......第二层用for嵌套比较隐蔽,实际上相当于while(i==2),进入无限循环。volatile用法:一般这个修饰符用来告知编译器,被修饰的变量是个“易变的”变量(volatile的本意是“易变的”),防止编译器进行优化。将变量加上volatile修饰,则编译器保证对此变量的读写操作都不会被优化。

2011-04-20 22:13:00 801

原创 解决6410使用7寸液晶屏,第一次进入Qt2.2无法使用触摸笔的问题

<br />开发板配置如下:<br />Mini6410<br />A70液晶屏(800*480),使用了FriendlyARM TouchCOM-1034转接板<br /><br />按照说明书步骤烧写后,在使用转接板的情况下进入Qt2.2触摸笔校准界面可以进行校准,但是进入下一步后无法输入,触摸笔无反映。在未使用转接板的情况下无法进行触摸笔校准。<br />观察转接板,在触摸笔按下时会有绿灯亮起,排除触摸屏硬件故障。<br />接着怀疑是否为文件系统烧录错误,检查后无误。<br />在Fedora9中解

2011-04-20 21:33:00 1797

原创 友善之臂坑爹说明书

建立交叉编译环境(正解):1.gcc 4.4.3解压到/usr/local/arm/4.4.3下2.编辑#gedit /etc/bashrc ,增加设置环境变量 export PATH=/usr/local/arm/4.4.3/bin:PATH3.relog, #echo $PATH验证环境变量是否设置正确,#arm-linux-gcc -v验证gcc是否安装正确。还好另外买了块飞凌的板子,两本说明书对照起来看才找到正解....估计后面类似情况还会屡屡发生

2011-04-20 20:49:00 1072

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除