外设线程化
skyeye的外设模拟太耗时了,尤其是LCD我的实验如下
为了让我的两个核心都不闲着,简单的把io_do_cycle()线程化了,发现带LCD的启动速度有显著提高
我模拟的是640*480的LCD
未线程化要3min25s做成独立的线程后 只要 2min 20s左右 如果抛弃VMware估计还会好看些
PS:模拟环境 VMware 6.5.3 Ubuntu 9.04 skyeye-1.2.8-rc1
s3c2410kernel 2.6.20 yaffs2 rootfs
我的启动速度测试方法是运行skyeye是用time计时,进入到ash后按ctrl c退出虽然有很大误差,但提升的效果可以把误差忽略不计了
不知道skyeye 有没有把外设模拟做成线程的类似想法 目前在 skyeye-1.3.0的branch中添加了skyeye_thread.h的文件会提供一些线程创建的API,如:
http://skyeye.svn.sourceforge.net/viewvc/skyeye/skyeye-v1/branches/skyeye-1.3.0/common/include/skyeye_thread.h?view=log
关于把外设模拟做成多线程,可能还需要考虑很多线程之间的通讯的代码框架,不过你的方法可以不错,可以尝试一下。你能否整理一个patch,发出来让大家测试一下?
页:
[1]