博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
Never Say Never
It's better to burn out than to fade away!!!
tequliaSusan.cublog.cn
管理博客
发表文章
留言
收藏夹
博客圈
音乐
相册
文章
首页
关于作者
姓名:PHILIP LV 职业:系统软件工程师 年龄:28 位置: 个性介绍:相见不如怀念
||
<<
>>
||
我的分类
最新照片
上一张
下一张
幻灯片
停止播放
最新文章
·
Linux 制作iso文件
·
2010 憧憬
·
Ubuntu MID img文件安装方法
·
有人问我这段时间在忙什么?
·
多点触摸技术揭秘(转载)
最新留言
·
位移
呵呵,今天才看到,不错啊!
..
·
jolly
小样,装呢,整个博客吓唬..
最新评论
·
Menlow,新嗜好!传言英特..
·
哎!你去年的感受如同我现在..
·
您好,请问下您有没有编写..
·
#include <stdio.h>
#inc..
·
写的什么啊,就写了这么一..
最新收藏
·
3C2410 - Bootloader - T..
·
~Q-蛇(^
·
听风
·
gliethttp
·
飞镖
统计信息
·
总访问量:90815
·
文章个数:170
·
评论条数:21
·
留言条数:2
·
网友推荐:
【置顶】不要做浮躁的嵌入式系统工程师【转载】
<DIV> <DIV> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">1. 不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN> </P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roma……
查看全文
发表于:2007-04-15 ┆
阅读(566)
┆
评论(0)
Linux 制作iso文件
最近在ubuntu网站上下载了MID版本的img文件,想要制作一个启动U盘,用ubuntu网站上提供的工具直接写入U盘后,发现syslinux并不能正常启动,发生了找不到linux内核错误。初步判断是USB启动方式的错误,可能是img默认的启动方式与我的Menlow平台USB启动方式冲突(查看BIOS,usb只支持HDD模式)。<br> 想了一个办法,先用usb-imagewriter工具将img写入到U盘中,然后呢又用<span style="font-size: 13px;">mkisofs -r -o ubuntu-mid.iso /dev/cdrom得到一个MID的iso文件,最后在windows下用UltraISO将该文件以HDD模式写入到U盘中,启动试了一下,成功了呵呵</span>
查看全文
发表于:2009-12-15 ┆
阅读(61)
┆
评论(0)
2010 憧憬
精彩而又忙碌的2009年即将要过去了,我们又要迎来美好,刺激而又未知的2010.嘿嘿,我的生命中又会有许多的美好事情发生。明年自己还要加油,努力工作和学习,锻炼好身体,照顾好家人!三年的时光就要到了嘿嘿 How Time Fly!
查看全文
发表于:2009-12-13 ┆
阅读(44)
┆
评论(0)
Ubuntu MID img文件安装方法
今天尝试在MID上安装Ubuntu MID Edition,在http://cdimage.ubuntu.com/mobile/releases/hardy/上选择Menlow平台镜像文件下载(把后面几个Menlow平台相关附件全部下载)。在windows下使用Disk Imager工具将img文件写入U盘,Ubuntu下使用usb-imagewriter工具。<br>参考:<a href="http://ubuntuabc.com/123/?p=87">http://ubuntuabc.com/123/?p=87</a>
查看全文
发表于:2009-12-04 ┆
阅读(36)
┆
评论(0)
有人问我这段时间在忙什么?
好久没有来ChinaUnix的blog,用了很长的时间Goolge Blog,天有不测被我们大清国封掉了......<br>最近这几个月的工作已经基本脱离Linux,十分怀念..... 在MTK平台上做了一款手机驱动,最近又开始研究EC和BIOS,估计明年才能回到Linux平台上做驱动,然后明年在Menlow平台开发基础上做Moorestown的开发!抓住机会,加油!!!<br>
查看全文
发表于:2009-11-21 ┆
阅读(56)
┆
评论(1)
多点触摸技术揭秘(转载)
<p><strong>摘要:</strong>本文首先介绍多点触摸技术原理,然后介绍<font color="#000000">触摸屏</font>的物理结构,最后再对多点触摸关键技术——<font color="#000000">触摸屏</font>控制器进行介绍。<br><strong>摘要:</strong><font color="#000000">触摸屏</font>;多点触摸;手势;手指;TrueTouch</p> <p><strong>两种多点触摸技术</strong></p> <p> 多点触摸顾名思义就是识别到两个或以上手指的触摸。多点触摸技术目前有两种:Multi-Touch Gesture和Multi-Touch All-Point。通俗地讲,就是多点触摸识别手势方向和多点触摸识别手指位置。</p> <p><strong>识别手势方向</strong></p> 我们现在看到最多的是Multi-Touch Gesture,即两个手指触摸时,可以识别到这两个手指的运动方向,但还不能判断出具体位置,可以进行缩放、平移、旋转等操作。这种多点触摸的实现方式 比较简单,轴坐标方式即可实现。把ITO分为X、Y轴,可以感应到两个触摸操作,但是感应到触摸和探测到触摸的具体位置是两个概念。XY轴方式的<font color="#000000">触摸屏</font>可以探测到第2个触摸,但是无法了解第二个触摸的确切位置。单一触摸在每个轴上产生一个单一的最大值,从而断定……
查看全文
发表于:2009-11-21 ┆
阅读(95)
┆
评论(0)
ADS项目移植到GNU编译环境(转载)
<DIV> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 幼圆; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"></SPAN> </DIV> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 幼圆; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><SPAN style="FONT-FAMILY: 幼圆"><FONT size=2>将<SPAN lang=EN-US style="FONT-FAMILY: 幼圆">ARM ADS</SPAN>下的汇编码移植到<SPAN lang=EN-US style="FONT-FAMILY: 幼圆">GCC for ARM</SPAN>编译器时,有如下规则:</FONT></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 幼圆"><BR><BR><SPAN style="FONT-FAMILY: 幼圆"><FONT size=2>1, </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 幼圆"><FONT size=2>注释行以<SPAN lang=EN-US style="FONT-FAMILY: 幼圆">"@"</SPAN>或<SPAN lang=EN-US style="FONT-FAMILY: 幼圆">"/* ... */"</SPAN>代替</FONT></SPAN><SPAN style="FONT-FAMILY: 幼圆">……
查看全文
发表于:2008-10-09 ┆
阅读(305)
┆
评论(0)
ARM汇编伪指令学习(转载)
<div>在 ARM 汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 <br> <br> 在 ARM 的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪指令。</div> <div> 符号定义( Symbol Definition )伪指令 <br> 符号定义伪指令用于定义 ARM 汇编程序中的变量、对变量赋值以及定义寄存器的别名等操作。 <br> 常见的符号定义伪指令有如下几种: <br> — 用于定义全局变量的 GBLA 、 GBLL 和 GBLS 。 <br> — 用于定义局部变量的 LCLA 、 LCLL 和 LCLS 。 <br> — 用于对变量赋值的 SETA 、 SETL 、 SETS 。 &n……
查看全文
发表于:2008-10-02 ┆
阅读(372)
┆
评论(0)
http session cookies(转载)
<p>http,session,cookie一定是困扰了大家许久了的三个词吧。</p> <p>下面跟我来。</p> <p>HTTP Session<br>一、浅析<br>HTTP协议(<a href="http://www.w3.org/Protocols/">http://www.w3.org/Protocols/</a>)是“一次性单向”协议。</p> <p>服务端不能主动连接客户端,只能被动等待并答复客户端请求。客户端连接服务端,发出一个HTTP Request,服务端处理请求,并且返回一个HTTP Response给客户端,本次HTTP Request-Response Cycle结束。</p> <p>我们看到,HTTP协议本身并不能支持服务端保存客户端的状态信息。于是,Web Server中引入了session的概念,用来保存客户端的状态信息。</p> <p>这里用一个形象的比喻来解释session的工作方式。假设Web Server是一个商场的存包处,HTTP Request是一个顾客,第一次来到存包处,管理员把顾客的物品存放在某一个柜子里面(这个柜子就相当于Session),然后把一个号码牌交给这个顾 客,作为取包凭证(这个号码牌就是Session ID)。顾客(HTTP Request)下一次来的时候,就要把号码牌(Session ID)交给存包处(Web Server)的管理员。管理员根据号码牌(Session ID)找到相应的柜子(Session),根据顾客(HTTP Request)的请……
查看全文
发表于:2008-09-02 ┆
阅读(424)
┆
评论(0)
fprintf函数的使用
最近在作Appweb在设备上的应用,考虑在程序中来写服务器的conf配置文件。就有用到fprintf()这个函数,做上层的东西比较少,查了一下man手册,fprintf函数的原型如下:<br><b> int <span class="highlight">fprintf</span>(FILE *</b><i>stream</i><b>, const char *</b><i>format</i><b>, ...);</b><br><br> FILE *fp=NULL;<br> fp=fopen(HTTP_CONF_FILE,"w");<br> if (fp==NULL){<br> err("fopen() error,file:%s!!!\n",HTTP_CONF_FILE);<br> return FAILURE;<br> } <br> fprintf(fp,"ServerRoot \"%s\"\r\n",HTTP_SERVER_ROOT);<br> fprintf(fp,"Listen %u\r\n",http_setup->net.http_port);<br> fprintf(fp,"<if SSL_MODULE>\r\n");<br>首先是生命一个FILE类型的流文件指针,调用fopen打开文件并执行写的操作, 然后调用fprintf将……
查看全文
发表于:2008-09-02 ┆
阅读(465)
┆
评论(0)
怎样在Linux系统中建立共享内存?
在UNIX通信方式中有一个共享内存,它是一种非常重要的通信方式,速度快效率高。System V 进程间通信(IPC)包括3种机制:消息队列、信号量、共享内存。消息队列和信号量均是内核空间的系统对象,经由它们的数据需要在内核和用户空间进行额外 的数据拷贝;而共享内存和访问它的所有应用程序均同处于用户空间,应用进程可以通过地址映射的方式直接读写内存,从而获得非常高的通信效率。定义共享内存的API接口函数:<br><pre class="displaycode"># include <sys/types.h><br># include <sys/ipc.h><br># include <sys/shm.h><br><br>key_t ftok(const char *pathname, int proj_id);<br>int shmget(key_t key, int size, int shmflg);<br>void* shmat(int shmid, const void *shmaddr, int shmflg);<br>int shmdt(void *shmaddr);<br>int shmctl(int shmid, int cmd, struct shmid_ds *buf);<br></pre><br> <table width="100%" border="1"><tbody><tr><td>ftok</td><td>函数用于生成一个键 值:key_t key,该键值将作为共享内存对象的唯一性标识符,并提供给为shmget函数作为其输入参数;ftok 函数的输入参数包括一个文件(或目录)……
查看全文
发表于:2008-09-01 ┆
阅读(420)
┆
评论(0)
statfs函数的应用
我想在网页上显示我的块设备比如sd卡的相关信息,怎么办?就用这个函数吧
查看全文
发表于:2008-09-01 ┆
阅读(417)
┆
评论(1)
网络程序select
在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。<table width="620" align="center"><tbody><tr><td class="a14"> select()的调用形式为:</td></tr></tbody></table><table width="620" align="center"><tbody><tr><td class="a14"> #include <sys/select.h></td></tr></tbody></table><table width="620" align="center"><tbody><tr><td class="a14"> #include <sys/time.h></td></tr></tbody></table><table width="620" align="center"><tbody><tr><td class="a14"> int select(int maxfd, fd_set *readfds, fd_set *writefds, fe_set *exceptfds, const struct timeval *timeout);</td></tr></tbody></table><table width="620" align="center"><tbody><tr><td class="a14"> select的第一个参数是文件描述符集中要被检测的比特数,这个值必须至少比待检测的最大文件描述符大1;参数readfds指定了被读监控的文件描述 符集;参数writefds指定了被写监控的文件描述符集;而参数exceptfds指定了被例外条……
查看全文
发表于:2008-08-30 ┆
阅读(245)
┆
评论(0)
.word使用方法
<font color="red">ldr r1, _rWTCON <br>_rWTCON: <br>.word 0x15300000 <br>这两个语句是不是说把地址0x1530 0000 上的内容传递到r1? 而不是把0x1530 0000 放到r1 ? <br></font> <br>不是把地址0x1530 0000 上的内容传递到r1,是把地址_rWTCON上的内容放到r1,而地址_rWTCON上的内容是0x15300000。实际上就是把r1设置为0x15300000 <br><font color="red">------------------------------------------ <br>.word和0x1530 0000有什么关系?.word就是把expression上的值取出来? expression代表地址? <br></font>.word expression就是在当前位置放一个word型的值,这个值就是expression <br>举例来说, <br>_rWTCON: <br>.word 0x15300000 <br>就是在当前地址,即_rWTCON处放一个值0x15300000 <br>翻译成intel的汇编语句就是: <br>_rWTCON dw 0x15300000
查看全文
发表于:2008-08-27 ┆
阅读(251)
┆
评论(0)
.balign指令用法
<span style="color: rgb(255, 1, 2);">.balign[wl] abs-expr, abs-expr, abs-expr</span><br><br>增 加位置计数器(在当前子段)使它指向规定的存储边界。第一个表达式参数(结果必须是纯粹的数字)是必需参数:边界基准,单位为字节。例 如,'.balign 8'向后移动位置计数器直至计数器的值等于8的倍数。如果位置计数器已经是8的倍数,则无需移动。第2个表达式参数(结果必须是纯粹的数字)给出填充字节 的值,用这个值填充位置计数器越过的地方。第2个参数(和逗点)可以省略。如果省略它,填充字节的值通常是0。但在某些系统上,如果本段标识为包含代码, 而填充值被省略,则使用no-op指令填充空白区。第3个参数的结果也必须是纯粹的数字,这个参数是可选的。如果存在第3个参数,它代表本对齐命令允许跳 过字节数的最大值。如果完成这个对齐需要跳过的字节数比规定的最大值还多,则根本无法完成对齐。您可以在边界基准参数后简单地使用两个逗号,以省略填充值 参数(第二参数);如果您在想在适当的时候,对齐操作自动使用no-op指令填充,本方法将非常奏效。<br><br>.balignw 和.balignl是.balign命令的变化形式。.balignw使用2个字节来填充空白区。.balignl使用4字节来填充。例 ……
查看全文
发表于:2008-08-27 ┆
阅读(353)
┆
评论(0)
我的Ubuntu常用软件以及配置说明
每次重装系统的时候都是要到google上搜索一堆的东西,很不方便,而且我的记性很不好容易忘。准备逐步的完善这篇文档,给自己以后再配置系统的时候能够方便一些。<br>(1) 重装系统后,我做的第一件事情就去更新一下sourcelist,在这里贴出我的源列表:<br>deb http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse<br>deb http://archive.ubuntu.com/ubuntu/ hardy-security main restricted universe multiverse<br>deb http://archive.ubuntu.org.cn/ubuntu-cn/ hardy main restricted universe multiverse<br>deb http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse<br>deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse<br>deb-src http://archive.ubuntu.com/ubuntu/ hardy-security main restricted universe multiverse<br>deb-src http://archive.ubuntu.org.cn/ubuntu-cn/ hardy main restricted universe multiverse<br>deb-src http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse<br>deb http:/……
查看全文
发表于:2008-08-21 ┆
阅读(556)
┆
评论(0)
Linux中patch文件的使用(转载)
<font size="3"><span style="font-family: 宋体;"> <font size="2">因为在</font></span></font><font size="2"><span lang="EN-US"><font face="Times New Roman">u-boot</font></span><span style="font-family: 宋体;">移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。</span></font> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><span style="font-family: 宋体;">学习资料的收集比较简单,方法一类似于这种初级问题网上资料非常丰富,</span><span lang="EN-US"><font face="Times New Roman">google</font></span><span style="font-family: 宋体;">或者</span><span lang="EN-US"><font face="Times New Roman">baidu</font></span><span style="font-family: 宋体;">搜索一下,然后选择有价值的资料,方法二是阅读</span><span lang="EN-US"><font face="Times New Roman">man</font></span><span style="font-family: 宋体;">在线文档。完成收集工作,当然最终要在自己的</span><span lang="EN-US"><font face="Times New Roman">Linux</font></span><span style="font-family: 宋……
查看全文
发表于:2008-08-15 ┆
阅读(225)
┆
评论(0)
ubuntu挂载NTFS分区
1.首先需要安装 fuse,我测试的是 2.6.0 pre3 测试版<br> <a target="_blank" href="http://jaist.dl.sourceforge.net/sourceforge/fuse/fuse-2.6.0-pre3.tar.gz" rel="external" class="ubblink download">fuse-2.6.0-pre3.tar.gz</a><br> <br> 解压后,进入 fuse-2.6.0-pre3目录<br> <br> ./configure<br> make<br> sudo make install<br> <br> 2.然后下载安装 ntfs-3g<br> <br> <a target="_blank" href="http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070714-BETA.tgz" rel="external" class="ubblink download">ntfs-3g</a><br> <br> 解压,进入相应目录编译安装<br> <br> ./configure<br> make<br> sudo make install<br> <br> 3.测试并挂载。比如我的 hda6 是 NTFS去分区,用下面命令行测试能否成功挂载<br> <strong><span style="padding: 0pt 2px; background-color: rgb(255, 255, 255);"></span></strong><br> <strong>sudo ntfs-3g /dev/sda2 /mnt/tmp -o silent,umask=0,locale-zh_CN.utf8</strong><br> <br> 相关命令:<br> <br> umount -a 卸载全部挂载分区<br> mount -a 挂载全部分区<br> <br> 如果需要系统启动自动挂载则需要……
查看全文
发表于:2008-08-13 ┆
阅读(334)
┆
评论(0)
嵌入式编程字节对齐问题
<h2>一.什么是字节对齐,为什么要对齐?</h2> <p>一.什么是字节对齐,为什么要对齐?</p> <p> 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。<br> 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问 一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对 数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那 么一个读周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数 据。显然在读取效率上下降很多。</p> <p>二.字节对齐……
查看全文
发表于:2008-08-13 ┆
阅读(237)
┆
评论(0)
Linux动态库搜索路径
众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且 该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及 该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。 <p style="text-indent: 20pt;"><span style="font-family: 黑体;">方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径。 </span></p> <p style="text-indent: 20pt;">可以通过编辑配置文件/etc/ld.so.conf来指定动态库的搜索路径,该文件中每行为一个动态库搜索路径。每次编辑完该文件后,都必须运行命令ldconfig使修改后的配置生效。我们通过例1来说明该方法。 </p> <p style="text-indent: 20pt;">例1: </p> <p style="text-indent: 20pt;">我们通过以下命令用源程序pos_conf.c(见程序1)来创建动态库 libpos.so,详细创建过程请参考文[1]。</p> <p style="text-indent: 35pt;"># gcc -c pos_conf.c<br> ……
查看全文
发表于:2008-08-12 ┆
阅读(239)
┆
评论(0)