微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Symbian 入门

Symbian 入门

时间:09-12 来源:互联网 点击:

这个函数访问文档可以不用初始化。这个是访问Avkon应用程序的比较好的途径。

CAknAppUi

所有的Avkon应用程序必须从这个类派生。

这个类支持下面几个特定应用函数:

KeySound support

Accessories for CBA and StatusPane

TextResolver-Avkon-specific error reporting from CAknAppUI::HandleError()

Avkon view architectrue integration

Control dumping - Debug feature

CAknViewAppUi

所有的视图结构必须由此派生。

《S60_Platform_Application_Framework_Handbook_V20_en.pdf》,其中有些翻译不甚恰当,不过基本上表达了原版的意思。

------------------------------------------------------------------------------------------------------------------

1、开发文档不是很齐全,虽然每个api都能找到说明,但基本上只是很简单的介绍。

实现某个功能根据sdk中的文档,基本上不可能完成。必须寻找相应的demo和其他的源代码来参考。

2、中文资料很少,基本都是英文,对于国内的开发人员来说,这又是一道坎。

3、必须注意内存的操作。比如PushL 和 Pop等等,一些Symbian中特有的机制需要熟练掌握。

4、多线程支持不是很好,多线程中启动的函数必须为静态的或者全局的,

就这点就给一些需要多线城支持的solution带来了很多不便或者根本不能实现。

5、掌握了整个Symbian的framework的基本原理之后,整个机制还是比较明了清晰的。重要的地方是AppUI和View和Container这三个类。

6、www.newlc.com是一个不错的技术网站。强力推荐。

7、一般www.forum.nokia.com上都会有相关的例子demo可以下载,只是比较浅显。

8、注意rss文件中资源的定义和程序中ui控件的结合,很容易出错无法发现。

9、mmp文件的修改之后,必须要重新生成项目文件,不然会导致link 2001之类的错误。

-----------------------------------------------------------------------------------------------------------------

在symbian中,用RThread来操作线程,一个RThread对象代表一个线程的句柄。常用RThead对象来创建或操作其他线程。 RThread的基类是

RHandleBase类,该类封装了句柄的行为。RThread,RProcess,RMutex和RSession-Base都继承自RHandleBase。

创建一个线程

/* Name of the new thread */

_LIT(KThreadName, MyFirstThread);

/* 下面的函数是线程将要执行的。 参数parm是要传递给线程的数据,它的类型为TAny*,相当标准C中的void* 指针 */

TInt CThreadExampleAppUi::ThreadEntryPoint(TAny* param){ TInt* para = static_cast(param); *para = 1; return 1;}

/* 创建一个属于当前进程的线程,并打开句柄. */

TInt res = iThread.Create(KThreadName, ThreadEntryPoint, KDefaultStackSize, NULL, iVariable);

/* 线程被创建以后进入等待状态,并不能立即执行. 如果要线程执行,需要调用它的Resume方法*/

iThread.Resume();

停止、删除一个运行的线程。可以调用 Suspend() 来停止一个线程. 但它仍然存在,可以调用 Resume()来继续.如果要彻底删除一个线程,

可调用Kill或Terminate。如果进程的主线程被删除,那么程序也会被终止。

---------------------------------------------------------------------------------------------------------------------

在symbian os上运行的四种软件

应用程序

服务

引擎

内核

symbian系统使用活动对象与客户-服务器对事件处理系统进行了优化

硬件资源:

一个cpu,32位arm

一个rom(只读存储器),里面有操作系统与内建的中间件和应用程序

ROM盘被映射到z:盘,所有的文件都可以通过Z:盘访问。

系统RAM.系统RAM用于两个方面,一是被当前活动的程序和系统核心使用,另一个是当成”C”盘的磁盘空间。这两个部分的大小是变化的,不可

以保留某个的大小。由于RAM通常只有8MB到16MB,所以内存可能用完,因此经常出现内存越界错误或是(写文件时)磁盘已满错误

IO设备,包括带数字笔输入的触摸屏,键盘,记忆卡(被当成D盘),rs232串口,红外口,蓝牙。

电源,包括电池与外接电源

symbian os与pc系统的区别如下:

资源限制:cpu太慢与太少内存

没有硬盘,不能使用写到硬盘的虚拟内存,不能保证有足够的空间保存程序或是数据文件

电源条件严格.

symbian软件环境如下:

server | server| Application| Application | Application Dll

| | +————–+————- boundary

| | | |

| | | Enghine | Engine

——–+———+————+————–+————– Privilege

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top