自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在BlackBerry上使用OpenGL绘图(二):运行OpenGL样例

2 运行OpenGL样例学习样例是开发人员学习新技术的好方法,通过样例可以直观地了解程序的结构和使用方法,避免阅读冗长的API说明。为了让开发人员快速了解OpenGL在BlackBerry上的使用方法,RIM在BlackBerry开发环境中提供了一个完整的OpenGL样例,开

2011-09-23 17:26:14 2855

原创 在BlackBerry上使用 OpenGL绘图(一): OpenGL介绍

为了在QNX上完成3D绘图,拿回之前自己写的“在BlackBerry上使用 OpenGL绘图”阅读,同时在这里和大家分享一下。文章太长,分几篇发上来。下面是第一部分。 在BlackBerry上使用 OpenGL绘图在BlackBerry上进行图像相关的编程有很多方

2011-09-23 17:14:16 2813

原创 有关“参加一个开源项目”的建议

看了几篇高手的建议,有国外的,也有国内的,其中不约而同地提到一个建议,建议开发人员“参加一个开源项目”。对于这个建议我个人非常认同,虽然我不是一个特别有社会责任感的人,可以为开源项目作贡献怎么说都是一件令人开心的事情。不过,我的问题是,参加什么样的开源项目?国内有这样的开

2011-09-23 12:03:15 2905 2

原创 理解APCS-- ARM过程调用标准

因为需要在QNX Momentics中混合C语言和ARM汇编进行开发,于是初步了解了一下APCS。和大家分享一下我自己的学习过程,然后通过一个形象一点的类比讲述我自己的理解。 刚开始的时候我是不知道有APCS这回事,所以第一次从C语言中调用ARM汇编函数的时候返回就出错了

2011-09-22 00:15:58 15781 12

原创 QNX开发与PlayBook开发

自己最早的时候动了念头学习QNX是因为RIM的BlackBerry PlayBook的发布,还有传闻的BlackBerry SuperPhone的消息。关于BlackBerry SuperPhone的消息到现在仍然只是消息,暂且放下。PlayBook已经可以在市场上看到了,虽然中

2011-09-21 16:07:26 4119

原创 第一个QNX图形程序

理清了思路以后开始通过实例测试GF的使用过程,为了简化测试环境,这次使用的是QNX Momentics环境和QNX虚拟机环境,没有使用BeagleBoard作为运行目标,主要是怕直接在板子上运行会有其他因素影响测试。在QNX momentics环境中创建了一个新的QNX C

2011-09-20 11:17:20 5501 8

原创 开始QNX上的图形编程,了解GF

进行了一些QNX编程的学习后,开始尝试QNX图形编程。在文本界面上输出各种字符串确实有点枯燥,很希望在QNX系统上显示一些图形界面。首先看了一下资料,了解有那些方法可以实现图形编程。QNX官方文档里有三本是和图形相关的。第一本是:《QNXR Neutrino Device

2011-09-19 19:58:23 7957 3

原创 程序员,不要让微博占用你太多时间。

不管我们是否意识到,我们无法否认一个事实,微博火了,微博和其它新兴的互联网工具一样在改变着我们的生活。不过,我个人想对程序员们说一句话,不要让微博占用你太多时间。 为什么? 要回答这个问题,你可以停下刷新微博的手指,靠在电脑椅上仔细回想一下微博给你带来了什么。热门

2011-09-18 01:49:32 21816 142

原创 QNX Momentics 中Target Navigator视图的使用。

在QNX Momentics环境中,Target Navigator视图是非常有用的一个视图。在QNX Momentics中编程,肯定需要在目标系统中调试应用,而Target Navigator视图就是管理目标系统的最有效工具。 在QNX Momentics中选择“W

2011-09-16 17:57:50 3639

原创 平台之上还是平台之下?QNX学习的分水岭。

学习QNX有一段时间了,应该回过头总结一下学习过程,理一理思路,为下一步学习理清方向,同时也可以给各位共同学习的朋友(我心中“同学”的概念)提供参考。 看一看自己的文章和目前学习的内容,发现QNX学习涉及了两个大的方面,一方面是QNX平台的使用以及QNX平台上的开发工作,

2011-09-16 00:24:38 10719

原创 QNX学习者,向ARM汇编进发!

既然BeagleBoard是ARM的板子,自己又有想法了解学习一下ARM体系结构和ARM汇编,有机会肯定要在这个板子上跑跑ARM汇编程序。在网上了解了一下,一般的做法是搭建一个Linux环境设置混编环境,编译后将程序传到板子上运行。搭建这些环境有些麻烦,而且自己手上的QNX

2011-09-15 12:20:28 4981 2

原创 第一个BeagleBoard上的QNX程序

成功在BeagleBoard上运行QNX系统后,尝试在BealgeBoard上跑一个Hello World程序吧。 测试发现整个程序编写过程和虚拟机上的第一个QNX程序类似,只是选择目标系统的时候要选择ARM,而不是X86。所以以下过程有些简略,如果有不清楚地地方请参考之

2011-09-15 10:57:47 4650 4

原创 QNX多线程同步之Semaphore

之前讲了QNX上Mutex的使用,Mutex作用是锁住一个资源,保证同一时间只有一个线程可以使用该资源。不过,有些情况下Mutex不能满足需求,比如某个资源可以允许两个线程同时访问,但是不允许超过两个线程访问它。这种情况下如果还是使用Mutex的话只有一个线程可以访问该资源,没有

2011-09-14 13:38:57 3792

原创 QNX上毫秒级的线程休眠:delay

在前几篇博文的样例中大家可能留意到了一个线程休眠方法:delay。这个方法接受一个参数,就是休眠时间,不过和QNX上的sleep方法不同,delay方法的休眠时间以毫秒为单位,不是以秒为单位。这样大家就可以通过delay(200)使线程等待200毫秒了,可以细致地控制线程的运行。

2011-09-14 10:54:55 4042

原创 在BeagleBoard上运行QNX系统(总结)

为了让同学们更好地了解在BeagleBoard上运行QNX系统的方法,我将前几天的工作总结了一下。需要完成的主要步骤如下: 1. BeagleBoard的准备:首先是准备好BeagleBoard和周边的设备。 我个人使用的是BeagleBoard XM Rev C,然后再加Chipsee 的BeagleBoard XM 扩展板。如果同学们使用的是BeagleBoard XM Rev B或之前的版本

2011-09-13 11:50:41 12346 21

原创 在BeagleBoard上运行QNX系统(二)

在BeagelBoard上成功运行QNX系统后,本以为可以很快开始进一步的学习,没想到遇到麻烦的问题。又经过几天的努力才把问题弄清楚,下面继续记录折腾过程。 第一次成功地在BeagleBoard上运行QNX系统后首先注意到的问题是QNX系统不能够自动启动,需要在串口上运行装载ifs文件的命令才能启动。针对这个问题,需要研究一下u-boot如何自动装载系统影像文件。 发现的第二个问题更严重一些,就是

2011-09-13 09:44:24 7697 5

原创 在BeagleBoard上运行QNX系统(一)

折腾了好几天,终于成功在BeagleBoard上运行QNX系统,如果说在BeagleBoard上运行Android费了一些手脚的话,在BeagleBoard上运行QNX可以说是费尽周折。秉承本博客的主旨,将折腾过程记录下来,供各位同学参考,以后可以少绕一些弯子。  为了在BeagleBoard上运行QNX系统,我参考了一些书和网上的资料,同时将制作Android系统的sh文件打开仔细读了一下,得出

2011-09-12 10:10:37 6385 3

原创 QNX多线程同步之Mutex

之前提到了QNX上的线程创建方法,现在进一步学习QNX上多线程的同步。曾经编写过多线程应用的同学们都知道线程之间的同步在多线程环境中特别重要,线程之间如果没有同步好,经常会出现逻辑错误。有关QNX线程同步在QNX官方文档《QNX Neutrino Programmer’s G

2011-09-09 14:30:00 3889 1

原创 在BeagleBoard XM 开发板上运行Android

虽然购买BeagleBoard的最终目的是想在上面运行QNX系统,不过既然BeagleBoard板支持Androind而且ChipSee在附带的关盘里提供了Android系统,就先运行测试一下吧。 在BeagleBoard上运行Android就不像运行WinCE那么简单了,因为附带的测试SD卡里没有部署好的Android系统,需要自己做一张有Android系统的SD卡。 和大家分享一下我自己制作A

2011-09-09 09:59:53 4956 1

原创 BeagleBoard XM 开发板入手

老是在虚拟机上折腾总觉得不过瘾,希望可以找个ARM的开发板跑跑QNX,一方面可以真实感受QNX系统,另一方面也可以学习一下ARM架构。经高人指点,决定选择BeagleBoard 开发板,有QNX的BSP,是ARM体系的,符合我的两个要求。剩下的就是如何购买了,网上找了一轮

2011-09-08 22:02:06 7754 5

原创 QNX 多线程样例分析

在QNX Momentics环境中有几个样例供初学者参考,学习QNX多线程编程的一个好方法是导入QNX的多线程样例,测试运行后分析样例代码,和自己编写测试样例相比,这种方法可以减少输入错误,配置错误等低级错误带来的问题。 在QNX Momentics中选择“File-

2011-09-08 18:26:06 3610

原创 QNX 中的线程休眠

在多线程环境中,经常会需要让一个线程等待一段时间。象我这样之前使用java编程的人第一时间想到的当然是sleep()方法,因为它使用很方便。在QNX环境中也有sleep()方法,调用方式也很简单,在sleep()方法中传入一个整型参数就好了,如:sleep(10);以上方

2011-09-08 11:39:33 3133

原创 QNX 上的多线程编程

在QNX 文本界面编程除了简单的键盘输入,控制台输出以外,还有好多重要的知识点需要学习,包括多线程,线程同步,进程通讯,资源管理器(硬件驱动)等等。首先了解一下QNX环境下的多线程编程。QNX环境实现了多线程并发,多线程切换时的复杂处理已经由内核实现了,开发人员需要做的就是创

2011-09-08 11:35:53 3240

原创 QNX程序的键盘输入与控制台输出

第一个QNX程序已经写完,测试了QNX应用的开发过程,开始写一些复杂一点点的程序。最先想到的是获取键盘输入和通过控制台进行输出,这些都是当初学习C语言的时候必做的功课。 和标准的C语言一样,QNX C语言实现也是通过printf()进行控制台输出,通过scanf()获

2011-09-08 11:31:38 6655 8

原创 QNX Momentics里Target File System Navigator 视图的使用。

有关如何将编译好的文件上传到QNX虚拟机上,前两篇博文提到了两种方法,一种是使用FTP将文件上传到QNX虚拟机,另一种是通过QNX Momentics的运行设置,使应用在测试之后留在目标虚拟机上。看了上面提到的博文后,有网友告诉我说可以使用QNX Momentics里的Tar

2011-09-08 09:50:36 4131 1

原创 通过QNX Momentics直接将程序上传到QNX虚拟机上

昨天写了博文讲述如何通过FTP将编译好的程序上传到QNX虚拟机上,过程比较复杂,今天就发现原来有更好的方法。 在QNX Momentics环境中,可以通过“Run -> Run Configuration”配置运行目标,这个在之前的博文提到过。今天发现在配置运行目标页面中

2011-09-08 09:34:32 4911 4

原创 将QNX应用上传到QNX虚拟机上

已经完成了第一个QNX应用的开发和测试,进一步需要将应用直接上传到QNX虚拟机上运行。 我猜想QNX Momentics应该有工具直接进行部署,不过找了一轮没找到,就决定使用最笨的办法:FTP 先从我的WIN 7 CMD命令行窗口通过FTP命令进入FTP界面,输入

2011-09-07 21:43:13 6640 5

原创 第一个QNX程序

QNX开发环境和QNX虚拟机都搭建好了,开始写第一个QNX程序。 关于QNX程序开发的最好参考是QNX官网上的pdf书《10 Steps to Developing a QNX Program: Quickstart Guide 》,清晰地说明了如何通过十个步骤开发第一个

2011-09-07 15:43:18 15449 16

原创 QNX Neutrino 命令手册,“使用宝典”!

因为QNX开发调试需要一些QNX Neutrino操作,所以进一步熟悉一下QNX操作,发现QNX官网上有完整的命令手册,真是如获至宝,官网文档网址如下,找其中的《QNX Neutrino Utilities Reference》。http://www.qnx.com/down

2011-09-07 15:32:40 5752 2

原创 安装QNX开发环境

安装好QNX虚拟机后初步了解了QNX操作指令,进一步需要了解QNX开发环境了,一切从实践出发,开始安装QNX开发环境。 QNX开发环境的安装程序同样可以从QNX官网上下载,地址如下:http://www.qnx.com/download/group.html?prog

2011-09-06 16:34:29 12744 6

原创 QNX Neutrino 基本操作

安装好QNX Neutrino虚拟机后开始学习QNX Neutrino 基本操作,自己有一些Linux基础,感觉比较容易上手。如果是之前没有接触过Linux/Unix的,可以参考一下QNX官网的书《Neutrino user guide》,不过。。。。又是英文的。 虽然对

2011-09-06 10:50:54 3553

原创 QNX Neutrino 虚拟机

通过文档学习了一段时间QNX,对基本概念有了了解,开始实际操作了。最简单的是运行QNX Neutrino虚拟机体验QNX操作系统。QNX官网上有现成的QNX Neutrino虚拟机下载,名为QNX_Eval_RT-201007091524,是个压缩文件,解压后出现Neutri

2011-09-06 10:49:20 6238 7

原创 阅读QNX《System Architecture》中

这几天一直在读《System Architecture》一书。总的来讲,QNX 《System Architecture》是一本对于学习QNX极为重要的书,通过这本书,我对QNX系统架构有了进一步的理解。另外,对于其他QNX学习人员的建议是其中的很多细节可以跳过,包括IPC的

2011-09-06 10:46:45 4253 1

原创 微内核的QNX

QNX采用了微内核架构(MicroKernel),学习QNX首先要理解微内核。正如英文资料中提到的,是否属于微内核架构不能仅仅通过内核的大小来判断,微内核架构使用了一个最为简单的内核,仅仅提供进程调度,进程通讯等服务,将文件访问,设备驱动等服务都剥离出去,从而建构稳定快速的内核。

2011-09-06 00:08:17 3926

原创 QNX的英文资料

搜了一轮QNX中文资料,感觉都不是很全面,咬咬牙,去QNX官网看了一下(www.qnx.com).不愧是80年代成长到现在的公司,资料写的很完整。(对我们而言唯一的问题是英文。。。。)在一下链接中可以看到关于QNX各方面的PDF文档:http://www.qnx.co

2011-09-06 00:02:29 2577

原创 对QNX的初步了解

开始学习的常规方法,先在网上搜索一下,发现QNX中文资料真的不多,仔细看有2004年的,有2008年的,似乎关注QNX的人并不多。不过要了解基本信息还是足够了,关于“什么是QNX”,“什么是RTOS(实时操作系统)”,“什么是POSIX(可移植操作系统接口)”都有一些基本介绍

2011-09-06 00:00:50 2845

原创 开始学习QNX

因为BlackBerry PlayBook的发布,因为'BlackBerry SuperPhone'的消息,我开始学习QNX。我是一个传统的程序员,所熟悉的是Java, C/C++等开发语言,操作系统方面所了解的也是Windows, Unix, Linux等。QNX对我来说是

2011-09-05 23:59:34 3611 5

原创 95系列的BlackBerry如何查看日志eventlog

<br />刚在论坛里看到有人问这个问题, 回答之后在自己内部转载一下:<br /><br />很多人都回答在主屏幕上按Alt + LGLG可以显示日志, 但是楼主用的是9530, 触摸屏的,在主屏幕上就没有键盘可按,这才成为问题.<br />所以问题变成在触摸屏手机的主屏幕上如何显示虚拟键盘, 这个问题的答案是9530上可以设置左右快捷键的功能(选项->屏幕/键盘),可以将其中一个快捷键(如左快捷键)的功能设置成"打开虚拟键盘",然后回到主屏幕上,点击左快捷键, 楼主就可以看到键盘了.

2010-10-28 00:59:00 1809

原创 对同一个Screen对象两次调用UiApplication的pushScreen会导致运行异常

<br />在使用BlackBerry的UI进行开发的时候, 显示一个屏幕调用的是UiApplication的pushScreen方法, 参数为Screen对象, 常见代码有:<br />UiApplication.getUiApplication().pushScreen(myScreen);<br /> <br />需要注意的是BlackBerry上所显示的屏幕是一个堆栈, 所有push上去的screen都会在堆栈中, 直到这个screen被关闭. 如果push了一个screen之后没有关闭它, 接着又

2010-10-28 00:15:00 1633

原创 有关BlackBerry 5.0上的屏幕切换动画.

<br />现在大家用的智能手机是越来越强大,看到的手机界面也是越来越漂亮, 经常可以看到的是屏幕切换的时候有动画效果,或者是原有屏幕逐渐变小然后出现新的屏幕, 又或者是原有屏幕向左边飞出而新的屏幕从右边飞入.做BlackBerry开发的时候自然也希望在BlackBerry上实现这样的效果, 也不枉BlackBerry快速的处理能力.<br />不过在原有4.X的API上实现屏幕切换动画还是比较麻烦的, 需要自己建立线程, 自己绘制动画效果,网上虽然有不少的例子, 但是做起来终归比较麻烦. 让人开心的是在B

2010-10-26 23:54:00 2100 1

空空如也

空空如也

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

TA关注的人

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