这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请问VXWORKS中怎么打开cache?

共9条 1/1 1 跳转至

请问VXWORKS中怎么打开cache?

菜鸟
2007-03-02 22:53:39     打赏

请问高手VXWORKS中怎么打开cache?看了一下代码和别人介绍,好象是这样的

1、SYS_HW_INIT_0,最好放在最前面,里面应该包含cacheArm920tLibInstall和mmuArm920tLibInstall
2、cacheLibInit
3、cacheEnable
4、usrMmuInit

但是不知道第一步是不是一定需要,而且SYS_HW_INIT_0在哪里定义,主要做什么工作?

请大家指点指点




关键词: 请问     VXWORKS     怎么     打开     cache    

菜鸟
2007-03-03 00:04:00     打赏
2楼
就是sysHwInit0,在syslib.c中

菜鸟
2007-03-03 00:04:00     打赏
3楼

/*******************************************************************************
*
* sysHwInit0 - perform early BSP-specific initialisation
*
* This routine performs such BSP-specific initialisation as is necessary before
* the architecture-independent cacheLibInit can be called. It is called
* from usrInit() before cacheLibInit(), before sysHwInit() and before BSS
* has been cleared.
*
* RETURNS: N/A
*/

void sysHwInit0 (void)
{
#ifdef INCLUDE_CACHE_SUPPORT
/*
* Install the appropriate cache library, no address translation
* routines are required for this BSP, as the default memory map has
* virtual and physical addresses the same.
*/

cacheArm920tLibInstall (NULL, NULL);

#endif /* INCLUDE_CACHE_SUPPORT */

#ifdef INCLUDE_MMU_BASIC

/* Install the appropriate MMU library and translation routines */

mmuArm920tLibInstall (NULL, NULL);

#endif /* defined(INCLUDE_MMU) */

return;
}


菜鸟
2007-03-03 00:10:00     打赏
4楼

woodhead,谢谢你

我就是看了你的贴子才找到点方向。

但是cacheArm920tLibInstall和mmuArm920tLibInstall

是干什么用的呢?


菜鸟
2007-03-03 00:22:00     打赏
5楼

有点懂了,是不是这样的

1、SYS_HW_INIT_0,调用cache和MMU安装程序

2、设置cache模式,写穿还是回写

3、使能cache

4、初始化MMU


菜鸟
2007-03-03 00:37:00     打赏
6楼

我又看了一下其他人的设计,感觉SYS_HW_INIT_0不是必需的,

还请woodhead帮我讲讲,SYS_HW_INIT_0这段代码的具体作用,为什么可要可不要呢?


菜鸟
2007-03-05 17:36:00     打赏
7楼

对于arm的cpu,这个函数是必须的。arm里面真正执行cache初始化的函数是sysCacheLibInit,这是一个钩子函数,他的赋值在cacheArm920tLibInstall里面进行,所以不调用cacheArm920tLibInstall,cache将没办法初始化,后面的使能也会失败。

cache的初始化过程正如你所说的,但是由于cache与mmu的绑定关系,cache使能以后并未真正打开,直到mmu初始化完毕以后才会使能。


菜鸟
2007-03-20 01:47:00     打赏
8楼

这个我就郁闷了,

我看了别人的程序,他将sysHwInit0函数中的东西都删了,但函数还是保留在,且进行了调用

但CACHE还是打开了!

请问是怎么回事,

还有 cacheArm920tLibInstall 这个函数有个Arm920t,是不是针对ARM9的哦?


菜鸟
2007-03-20 20:05:00     打赏
9楼

cacheArm920tLibInstall是针对Arm920的


共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]