vxworks系统启动很慢
小弟最近在做一个vxworks下的项目,目前系统基本上已经搭建起来了,但是系统从flash上启动的时候非常的慢,经查看主要是在romstart中的解压缩部分,目前的解压缩部分采用了从flash中直接解压缩到RAM中,现在想将它改成为先从flash中拷贝到RAM中,再从RAM中解压缩到RAM中,但是不知道怎么做?
[解决办法]
VxWorks没有从FLASH复制映像到RAM再解压的启动方式啊,除非你修改VxWorks源代码。
[解决办法]
我的操作系统启动慢的问题解决了,
启动慢有几个原因:1.当从flash向内存拷贝结束后,会把内存其余部分清零,这需要很长时间;
2.内存很大,在执行MMU内存初始化时需要时间;
3,cache没有打开,
我把上述三个方面做了修正以后,启动很快
[解决办法]
可能的话,使能cache。我曾经遇到powerpc(MPC8548E)上,使能了指令cache和数据cache,但是初始化内存非常慢,后来发现,修改时忘了把flash中那段代码的区域设置为cachealbe,从而执行那个for循环要不停的从flash中取指,所以非常慢。修改好就正常了。
建议通过点灯等方式,一步一步确定是哪一段代码影响的速度
[解决办法]
慢,是因为没有打开指令cache。通常情况下在bootrom当中要将指令cache打开,数据cache关闭的。