嵌入式Linux
文章平均质量分 80
恺风
我思故我在,如果一个人无法独立思考,即使熟习各种工具,实质只是工具的一部分,永远无法创造工具。
展开
-
我的技术博客索引
我的JAVA相关文章我的Clutter相关博客我的网络通信相关文章我的Linux相关文章我的与kernel module有关的文章我的嵌入式Linux相关文章我的MeeGo/Moblin相关文章我的Andriod开发相关文章我的与编程思想相关的文章我的无限网络文章我的产业生态链和杂谈文章我的四方书库生活空间为五斗饭相关文章天南地北相关原创 2009-09-12 22:47:00 · 13061 阅读 · 14 评论 -
D-Bus学习(十一):在D-Bus上的telepathy[二]:进一步了解
Telepathy用于处理实时通信,主要是IM,IRF,VoIP(voice and video)等。我们的开发程序都是telepathy的client。我们将描述一下这个client的开发过程。 上图表明一个流程,根据.manager文件与某个Connection Manager建立连接,例如是MSN CM。通过连接CM接口的proxy,可以获取IM session的原创 2010-05-10 16:47:00 · 2890 阅读 · 0 评论 -
[译]MeeGo进展报告:A+还是D-?(卓越还是不及格)
文章来源:http://www.visionmobile.com/blog/2010/11/the-meego-progress-report-a-or-d,日期2010.11.7 【在Intel和Nokia宣布MeeGo计划的8个月后,邀请Dave Neary 分析MeeGo手机的进展,以及该项目在未来发展前景】 而上月底(10月底),MeeGo发布了自2010年2月成立后第二个重要的版本MeeGo1.1。MeeGo项目是有Linux基金会主持,整合了以智能手机为目的的Nokia的Mae翻译 2010-11-17 10:26:00 · 2431 阅读 · 0 评论 -
QT(1)准备好环境和.pro文件
既然MeeGo由于Nokia的缘故采用cross-plate的QT作为开发环境,MeeGo的SDK学习也将从QT开始。我们准备两个开发环境,一个是MeeGo Handset的模拟器,一个是本地Linux(用阿土,因为local的效率高,既然只是学习,采用方便的方式,最后在target中验证)。这里我们只进行学习验证的环境,不采用完整的包括rpm打包和利用QT Creator开发工具的环境。原创 2011-01-05 10:26:00 · 2581 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[1]:安装MeeGo1.1
上周MeeGo发布了1.1的新版本,在netbook上安装看看。界面似乎没有什么修改。meego.com上发布的博客, http://meego.com/community/blogs/valhalla/2010/meego-1.1-release。MeeGo 1.1 Core的升级包括:Complete MeeGo Compliance packages, for ensured compatibility.GCC 4.5.0 toolchain, which includes support for原创 2010-11-01 16:50:00 · 3502 阅读 · 1 评论 -
[译]Intel和Nokia联合推动MeeGo的看法
<br /> 对MeeGo的意见和看法,我们大都看到了Intel公司的大力宣传。我本人感觉MeeGo对Linux开源最重要的贡献在于快速启动上。无论Nokia还是Intel,目前在智能手机上只看到演示产品,没有商用产品。今天在viewmobile看到了今年2月份的篇blog:MeeGo: Two (M)onkeys don’t make a (G)orilla. But they sure make a lot of noise,绝对的标题党。应发表在今年Intel和Nokia宣布合作,将Intel翻译 2010-09-26 22:31:00 · 1985 阅读 · 0 评论 -
关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录
我今天想查一下Intel工程师放在CSDN的一个视频,名字倒是查出来叫:Moblin系统的快速启动核心技术剖析,但是怎么找也找不找了。这是一个好的技术介绍。难道给删除了。不知道CSDN是否上次查图片的时候,禁止了所有的视频。没办法了,翻箱倒柜,找到了以前做的一些笔记,先记录下来。不过不保证完全忠于原著。可能有删减。聊胜于无嘛。如果能再次公开那些技术视频就好了,我本来是想找codec和容器的资料,记得也是Intel工程师给的,后来发现什么都不见了。Intel在Meego(原Moblin)的革新,进入了Linu原创 2010-06-03 16:02:00 · 12427 阅读 · 1 评论 -
D-Bus学习(九):利用XML定义D-Bus之Singal收发例子
在前面我们学习了使用Glib的高程捆绑方式的method的收发,现在学习singal的收发,xml例子如下 在前面我们已经学习了方法Test的处理,现在增加一个信号Hello,为了是的处理方式更为简洁,原创 2010-04-28 12:00:00 · 3828 阅读 · 0 评论 -
D-Bus学习(八):利用XML定义D-Bus之Server的例子
在此先感谢http://blog.chinaunix.net/u3/111961/showart_2187819.html。这是篇极好的文章。 在上次学习中,我们写了client小例子,非常简单,而且通过dbus-binding-tool生成的头文件,非常规范。相比执行,server稍微复杂些,仍然使用上次的xml文件,但是去掉annotation,更为本原一些。文件wei.原创 2010-04-21 16:49:00 · 6734 阅读 · 0 评论 -
D-Bus学习(五):Signal的收发小例子
我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html,从底层,即libdbus学习如何发送signal,以及如何监听signal。signal在D-Bus的Daemon中广播,为了提高效率,只发送给向daemon注册要求该singal的对象。 这个图我画了很久,我希望原创 2010-04-04 19:27:00 · 16649 阅读 · 2 评论 -
D-Bus学习(六):Method的收发小例子
我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html,相关的API接口reference参考http://dbus.freedesktop.org/doc/dbus/api/html/modules.html。从底层,即libdbus学习如何发送Method以及如何等待应答,在上上次学习原创 2010-04-06 17:19:00 · 16902 阅读 · 5 评论 -
D-Bus学习(七):利用XML定义D-Bus之Client的例子
继续学习D-Bus。之前学习了使用底层的API来发送,监听消息的方式。在D-Bus学习(四):基础小例子(同步和异步)之中,我们给出了利用proxy进行发送method_call,并等待method_reply或者error的client情况。在D-Bus中,可以将D-Bus接口定义用XML格式表述处理,并利用工具,自动生成头文件,给出工整的调用方式。下面是一个XML的例子原创 2010-04-11 11:36:00 · 6007 阅读 · 1 评论 -
D-Bus学习(四):基础小例子(同步和异步)
从Tutorial中学习基本概念后,进入实战阶段,通过学习,我们给出连个小例子,同步例子和异步例子。类型和GType的映射 在D-Bus编程中,基础类型和GType的映射表格如下。在后面的程序小例子中我们会看到具体如何对应。 D-Bus basic type GType原创 2010-03-26 09:02:00 · 16921 阅读 · 1 评论 -
D-Bus学习(二):基本概念
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus,在网上也有大量的学习资料,在http://blog.chinaunix.net/u3/111961/原创 2010-03-24 11:30:00 · 14070 阅读 · 2 评论 -
D-Bus学习(三):消息
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus。 消息通过D-Bus在进程间传递。有四类消息:一、Method call消息:将触原创 2010-03-24 16:56:00 · 12545 阅读 · 2 评论 -
Kernel module编程(十三):信号量、互斥锁、读写信号量和完成量
本文也即《Linux Device Drivers》,LDD3的第五章Concurrency and Race Conditions的读书笔记之二,但我们不限于此内容。信号量(Semaphore)信号量和互斥锁 Kernel提供不同的原语来处理不同的情况,最常用的是采用信号量的方式。如果不能获得资源将进入sleep状态,等待资源释放,也即block的方式。通过原创 2009-12-01 21:18:00 · 8395 阅读 · 0 评论 -
Kernel module编程(十二):并发和竞争控制
本文也即《Linux Device Drivers》,LDD3的第五章Concurrency and Race Conditions的读书笔记之一,但我们不限于此内容,最近正在整理移动手机的业务需求,比较多的文档工作,没什么时间学习。有本好书推荐一下,就是钱穆先生的《中国历代政治得失》,书很薄,但是内容很丰富,推荐推荐。 并发引发的bug是OS程序中一个主要的问题并且很难发现原创 2009-11-26 15:28:00 · 2477 阅读 · 0 评论 -
在moblin上创建一个NBTK的小例子:Hello Moblin
moblin是基于clutter的UI,而提供的NBTK将协助建议buttons,tooltips,scrollbars等UI,并支持CSS的堆叠风格表格。在非moblin的linux操作系统上安装nbtk有些麻烦,我们需要对configure作一些修订,例如clutter如果不是使用rpm的方式安装,而是采用source编译,在确保已经安装的前提下,我们在NBTK REQUIREMENT原创 2009-11-30 17:04:00 · 3447 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[3]:直接使用Qemugl
在安装MeeGo 1.1 SDK中使用的是MeeGo 1.1新提供的工具mad-admin,从安装的过程可知,其依赖于qemugl。但是这个工具不能使用最新的img,runtimes已经限定,不能更换,也例如我们自己新作了一个img,希望安装在此新的img上运营,这就吃现问题。参原创 2010-11-29 17:35:00 · 3042 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[4]:在SDK上实现Hello World
我们会follow wiki的guide,通过QT Creator在模拟器上运行hello world程序,然后我们会对模拟器作进一步的探讨。wiki上的参考:http://wiki.meego.com/Getting_started_with_the_MeeGo_S原创 2010-12-02 14:53:00 · 3567 阅读 · 3 评论 -
D-Bus学习(一):总体介绍
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus,在网上也有大量的学习资料,在http://blog.chinaunix.net/u3/111961/中有不少的中文资料,原创 2010-03-24 10:33:00 · 20746 阅读 · 3 评论 -
Android学习笔记(一)
郁闷的是Andriod的开发网站developer.android.com是无法访问。另,源代码网站为http://source.android.com,不知道为什么?需要访问http://developer.android.com.nyud.net/index.html,虽然慢点,但是至少可以访问,http://androidappdocs.appspot.com/这个站点比较快。在Androi原创 2011-02-21 22:33:00 · 49576 阅读 · 46 评论 -
Turn-key是什么,Turn-key要做甚,Turn-key那些事。
转载自:http://www.52rd.com/Blog/Detail_RD.Blog_SHRDFresh_52276.html台风天,风大雨大,困在家里,左右无事。。延续上一篇拙文“高通QRD vs. 联发科TK, 刚刚开始的战争”,看到不少网友留言,关于Turn-key的话题觉得意犹未尽,因此再攒一篇。 现在满世界都在号称要提供Turn-key solution,似乎没有T转载 2013-03-26 15:48:22 · 4909 阅读 · 0 评论 -
MeeGo 1.2的repo使用方式
在MeeGo的yum,虽然安装了yum.rpm,并且在/etc/yum.repo.d中增加了meego.repo文件[wei@wei-desktop ~]$ cat /etc/yum.repos.d/meego.repo [repository]name=meegobaseurl=http://repo.meego.com/MeeGo/releases/1.2.0/repos/os原创 2011-10-28 22:42:04 · 3978 阅读 · 0 评论 -
QT(7)自定义Layout
我们进一步学习构建稍微复杂一点的布局。通过对抽象类QLayout的继承来进行自己的布局。在这个例子中,我们将重构QLayout类为BorderLayout,QLayout是一个用于布局管理的基础抽象类,而也是QBoxLayout,QGridLayout,QFormLayout和Q原创 2011-01-19 17:08:00 · 7842 阅读 · 1 评论 -
MeeGo handset 1.1开发环境[6]:封装*.src.rpm和*.rpm
在MeeGo handset 1.1开发环境[4][5]中,我们利用QtCreator工具生成了rpm包。我们去看linux的rpm包,对于某个软件包有两个rpm包,一个是*.rpm,一个是*.src.rpm,我们应当将源程序也进行打包,这样在代码管理上会好很多。此外,可能是习惯原创 2010-12-08 17:34:00 · 3192 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[2]:安装MeeGo 1.1 SDK
在安装MeeGo SDK 1.1,尤其是模拟器MeeGo SDK runtime的时候出现问题,搞得我都怀疑是否是我的Fedora或者阿土比MeeGo的指引要高,装机器都装了N次了,安装过程都没有发现问题,但是运行runtime,无法进行图形界面,或者采用其他的qemu的时候出现原创 2010-11-24 13:59:00 · 4086 阅读 · 1 评论 -
QT(9)自定义layout[2] - Flow Layout
在上一次学习 QT(8)变动布局Dynamic Layout中,我们在此总结一下:对于修改布局,可以通过removeWidget后在根据新的位置重新加载。为了创建新的合适的布局,我们需要重新resize布局的大小。我们需要注意到在修订时,要考虑组建之间的空间,即spacing()原创 2011-02-01 13:43:00 · 7263 阅读 · 1 评论 -
QT(8)变动布局Dynamic Layout
这次,我们学习下面几个问题:动态变更布局 QQueue的使用 组件之间的联动 参考来源:http://doc.qt.nokia.com/latest/layouts-dynamiclayouts.html,最终布局如图所示,并实现相关的动态变更。一个dialo原创 2011-01-20 17:31:00 · 7115 阅读 · 2 评论 -
QT(5)Dialog - Addressbook例子3
我们丰富Addressbook的例子,增加一个Find按键,可弹出一个dialog,参考:http://doc.qt.nokia.com/latest/tutorials-addressbook-part5.html ,http://doc.qt.nokia.com/latest原创 2011-01-12 17:49:00 · 3741 阅读 · 0 评论 -
QT(4)信号、SLOT和QMap - Addressbook例子2
在之前的MeeGo开发者(五):QT(3)对象和继承小例子基础上,我们增加三个button,参考http://doc.qt.nokia.com/latest/tutorials-addressbook-part2.html 、http://doc.qt.nokia.com/l原创 2011-01-10 11:40:00 · 5164 阅读 · 1 评论 -
QT(3)对象和继承-Addressbook例子1
隔了几天阴冷,今天下午闪了一丝阳光。 上次我们学习了如何构造一个简单的小例子,既然QT是C++ based,因此需要知晓如何创建一个对象以及实现对象的继承,同时我们对Layout中的QGridLayout进行学习。 在上次的例子中,我们知道如果创建一个不带parent原创 2011-01-06 16:51:00 · 3979 阅读 · 2 评论 -
QT(2)Widget的小例子
在上一次我们处理好了QT学习的环境,现在可以安安静静地去学习QT,可以参考http://doc.qt.nokia.com/latest/tutorials.html。下面是step by step,创建我们的第一个QT小程序。一、搭建一个QT程序#include原创 2011-01-05 10:55:00 · 10899 阅读 · 1 评论 -
MeeGo开发者(一):何为MeeGo?
MeeGo给我的感觉就是Only make noice but no product,月圆月亏,花开花落,年过一年,我们只是听到了noice,尤其是在handhold的领域,进展之缓慢考验我们的耐心。我们安装了开发环境之后,关心的是,如何开发我们的project,对于一个开发人员原创 2010-12-28 16:43:00 · 3226 阅读 · 1 评论 -
MeeGo handset 1.1开发环境[5]:一个desktop小应用
在MeeGo handset 1.1 SDK上实现Hello World中,我们进一步讨论了如何使用ssh client和hanset runtime模拟器之间进行互动:通过QT Creator作为开发环境,并在模拟器(target)上运行。如何通过ssh命令行,运行在本原创 2010-12-07 17:52:00 · 2301 阅读 · 1 评论 -
D-Bus学习(十):在D-Bus上的telepathy[一]:纸上谈兵
现在我们在网上都有很多身份,例如我自己,就有三/四个MSN帐号,还有QQ,GTalk,而web方式的,还有几个Blog,几个vblog,总之很多。而尺寸小的手机、MID这类手持设备,我们不可以好像desktop那样,开着N个client,打开N个网页,其实我们不在乎我们在使用那个软件,我们只希望找到找到联系人。D-Bus提供了IPC通信基础,有很多机制都建立在D-Bus上面,D-Bus给出原创 2010-05-07 16:23:00 · 5404 阅读 · 0 评论 -
MeeGo开发者(二):MeeGo架构
参考:http://meego.com/developers/meego-architecture/meego-architecture-layer-viewhttp://meego.com/developers/meego-architecture/meego-arch原创 2010-12-30 10:12:00 · 5325 阅读 · 1 评论 -
kernel module编程(十一):使用gdb以及其他调测工具
本文也即《Linux Device Drivers》,LDD3的第四章Debuging Techniques的读书笔记之六,但我们不限于此内容。这章看得比较慢,最近比较懒,而陷入了文档工作中,我决定这章节不会有之七,在之六打住。 在用户程序中,有很多编译工具同提供的debug工具,用于设置断点或者单步跟踪,但是在kernel程序中是很困难的。LDD3介绍了gdb对于kernel模原创 2009-10-15 10:51:00 · 8131 阅读 · 1 评论 -
kernel module编程(十):查看错误
本文也即《Linux Device Drivers》,LDD3的第四章Debuging Techniques的读书笔记之五,但我们不限于此内容。 开发中我们不能避免在执行驱动时引起系统fault,但fault并不意味就是panic,Linux还是robust的,对于驱动,通常只引起正在使用该驱动的进程死掉,kernel在任何一个打开设备的进程死掉的时候会调用close开进行释放。虽然原创 2009-10-10 11:11:00 · 5563 阅读 · 0 评论 -
构造嵌入式Linux(二):vmlinux、vmlinuz和bzImage
在kernel编译中,我们得到了bzImage和vmlinux两个kernel Image文件。在OReilly的《BuildingEmbeded Linux System》一书中,对这两个的区别说得很含糊。只是说bzImage是压缩的kenelImage,vmlinux是未压缩的kernelImage。但是vmlinux经过压缩可作为vmlinuz。在桌面linux的/boot目录原创 2009-05-31 10:24:00 · 4069 阅读 · 0 评论