欢迎来到天天文库
浏览记录
ID:51502679
大小:1.12 MB
页数:22页
时间:2020-03-25
《基于QNX操作系统的嵌入式设备.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于QNX操作系统的嵌入式设备如何充分利用AdobeFlash的强大功能AlanZhang,QNXSoftwareSystemsNovember23th,2009基于AdobeFlashLite3的高级人机界面与以前的版本相比AdobeFlashLite3对于嵌入式系统而言更加稳定并更加优化FlashLite3允许开发人员迅速创建动人的用户界面开发环境已广为接受,,,开发人力资源丰富,开发人力资源丰富但是对于实时性要求高的环境中怎样才可以完全信赖地使用它呢?2QNXConfidential.AllcontentcopyrightQNXSoftwareSystems.AdobeFlash基本
2、特性开发中使用时间线“““Timeline”动画速率由fps(((每秒帧(每秒帧数数数)数)))的设置而控制Timeline控制动画如何完成使用脚本化动作使用ActionScript2.0与与与JavaScript类似对象的资源回收单线程执行在在在RAD环境中编程动作与事件关联任何地方的代码均可随意添加修改3QNXConfidential.AllcontentcopyrightQNXSoftwareSystems.HMI分解范例导航HMI(((人机接口(人机接口)))背景图形天气信息附件导航路线及跟踪警报指示器指针显示TCP/IP网络协议栈GPS驱动CAN驱动BT驱动AdobeFlashC
3、/C++(Native)进程实时性需求的模块4QNXConfidential.AllcontentcopyrightQNXSoftwareSystems.哪些潜在问题需要考虑?CPU超负荷使用HMI及其他操作竞争资源实时性任务抢占更多资源而使HMI处于“““饥饿“饥饿”””状态”状态内存不足HMI消耗了其他程序所需的内存HMI资源回收环境稳定性遇到有问题的HMI代码,如何使系统能够自恢复非实时行为HMI执行过程有时会对实时性任务带来干扰5QNXConfidential.AllcontentcopyrightQNXSoftwareSystems.CPU超负荷使用:针对目标硬件运行而设计仿真目
4、标硬件能力将在主频3GHz的多核PC机上开发的.swf文件移植到300MHzARM进行实地感受开发时或者使用真实的目标硬件,或是在PC机上仿真该运行能力尽量避免耗费资源的操作将将将framerate在可以接受的范围内设为最低尽量少用transparency(((透明度)))隐藏对象时(Hide)使用setting_visible为为为false而非使用of_alpha=0如有可能避免gradients6QNXConfidential.AllcontentcopyrightQNXSoftwareSystems.CPU超载使用:优化HMI的的的CPU使用优化确保颜色与图形相匹配(555/565
5、/8888)优化bitmaps显示使用QNX扩展来完成在屏幕之外的rendering及及及scrolling将复杂的过程从ActionScript(bytecodeVM)移植到nativecode(C/C++compiled)中将会加速运行ActionScript中的延迟将会阻碍HMI更新(单进程执行)AdobePlayer还有一个“““runawayscriptlimit”;如果你的脚本文件执行几秒之后仍无反应,它将中止执行可以将长操作移入nativecode,由由由ActionScript启动7QNXConfidential.AllcontentcopyrightQNXSoftware
6、Systems.内存不足:理解垃圾回收站ActionScript是一种带垃圾回收的语言垃圾回收站基于一些参考来计算,标记并清扫垃圾回收站每个一段时间由内存的memoryheuristics来启动的标记及清扫是逐步的,不会中断电影回放垃圾回收站的运行是有延时的不是立即的8QNXConfidential.AllcontentcopyrightQNXSoftwareSystems.内存不足:控制HMI的内存消耗设置Adobe动态堆的大小在在在/etc/system/config/flash.conf里设置dynamic_mempoolsize=Adobe建议“““c
7、ontent与与与heap比比比”比”””为为为为1:15为起始点检查自身代码的内存使用情况来确认所需空间heaptotal=fscommand2("GetTotalPlayerMemory");heapfree=fscommand2("GetFreePlayerMemory");可以使用QNX6.4版本中的内存分区技术来保留或保证系统中其他重要事件的内存使用9QNXConfidential.Allcontentcopy
此文档下载收益归作者所有