Blogs
VxWorks中信号量常见应用
由 gougou 于 星期三, 2006-06-28 13:10 发表VxWorks中信号量常见应用
1. 互斥进程
互斥信号量有效的内锁对共享资源的进入。
semMutex = semBCreate (SEM_Q_PRIORITY, SEM_FULL);
SEM_FULL 指明用于任务间互斥. 当一个任务要进入资源,首先要得到一个信号量,只要有任务在使用这个信号量,其它的要进入资源的任务要停止执行,当这个任务完成了对资源的使用,它会释放信号量,允许另一个任务来使用资源。
semTake (semMutex, WAIT_FOREVER);
. . 执行互斥任务
semGive (semMutex);
2. 任务同步
发布Sqlite Developer1.68
由 gougou 于 星期日, 2006-06-25 10:17 发表这个版本主要是允许中断长时间的查询,允许除了utf8外用ansi,utf16来编码和解码数据。另外修改了很多的界面的错误。
下载地址:
http://www.sharpplus.com/downloads/SqliteDev168.zip
发布Sqlite Developer1.3
由 gougou 于 星期日, 2006-04-09 12:16 发表发布Sqlite Developer 1.3,主要更新就是将原来的Dialog界面大部分都修改为MDI模式,同时将Sqlite Dll升级到3.3.5
下载地址:http://www.sharpplus.com/downloads/SqliteDev130.zip
如何使用VC6调试Symbian UIQ 程序
由 gougou 于 星期六, 2006-04-01 23:47 发表在命令行下使用abld可以直接编译Symbian的程序,但是abld同时提供了命令行开关可以用来生成vc6的项目文件。使用abld生成的vc6的工程文件,我们就可以在vc6中调试symbian的程序了。步骤如下
Symbian UIQ 2.1开发之环境设置
由 gougou 于 星期六, 2006-04-01 19:49 发表上周买了一个motorola的FOMA M1000的手机,是基于Symbian UIQ 2.1的系统的。想自己做一些小软件玩玩。开始环境安装。
- 首先机器上要安装有VC 6.0的开发环境,Symbian的程序可以用VC 6.0来编译。
- 然后是上Symbian的网站上下载UIQ 2.1的开发SDK,注意SDK针对不同的编译器有两个不同的版本,这里我用VC 6来编译所以下的是For Codewarrior的那个版本,不要下载for BCB的版本。最新版本的文件名如下
- UIQ 2.1 SDK WINS.zip
- uiq21_update1_wins.zip
- 安装完UIQ 的SDK后,在命令行下输入下列命令,进行设备的设置。
- >devices
UIQ_21:com.symbian.UIQ
UIQ_21:com.symbian.UIQ-runtime - >epoc @UIQ_21:com.symbian.UIQ,如果安装正常的话这条命令会启动UIQ的标准模拟器。
- 接下来,到motorola的网站上下载M1000的SDK,安装后运行下列设置命令
- >subst Q: D:\Symbian\M1000SDK
- >devices –add q:\ q:\ @M1000:com.motorola
- >Q:
- >epoc @M1000:com.motorola,这条命令用来启动Motorola的模拟器,注意,启动的路径一定要是通过Subst虚拟的路径,有时这样也会启动不了,这时就需要将一个设备指定到COM1的端口上,因为模拟器要随时Polling这个端口。
- 最后,将UIQ2.1SDK安装路径下的例子程序拷贝到Motorola的M1000目录下,下面的命令用来编译和安装BasicApp这个例子程序。
- >cd \UIQExamples\BasicApp
- >bldmake bldfiles @M1000:com.motorola
- >abld build wins udeb @M1000:com.motorola
- 再次启动模拟器,就可以看到编译后的BasicApp运行在系统中了。
在函数中定义局部变量的限制
由 gougou 于 星期日, 2006-03-05 23:16 发表他安静地走了
由 gougou 于 星期三, 2005-12-28 11:08 发表嵌入式应用程序开发几大原则
由 gougou 于 星期二, 2005-12-27 11:38 发表- 对于基于实时操作系统的嵌入式程序来说,绝对不能有阻塞操作,因为系统中可能同时运行上百个线程,任何一个Task如果被阻塞了,都会使系统死锁.
- 尽量起少的线程,尽量少使用信号量等系统紧缺的资源.因为这些资源是系统稀缺资源,大量使用会影响系统性能.
- 对于共享资源一定要加同步锁.
- 调试时多使用LOG,因为很多时候RTOS能够提供的交互式调试环境功能有限。
- 调试时遇到了问题时候,首先要排除硬件的问题,因为嵌入式系统开发中会遇到的硬件问题会比普通应用开发多很多。