Chinaunix首页 | 论坛 | 博客
  • 博客访问: 562141
  • 博文数量: 169
  • 博客积分: 2656
  • 博客等级: 少校
  • 技术积分: 1685
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-30 13:03
文章分类

全部博文(169)

文章存档

2011年(1)

2010年(135)

2009年(33)

我的朋友

分类: 嵌入式

2010-05-14 13:25:54

Freescale的E300系列即通常意义上的MPC83XX,该系列CPU分为C1、C2、C3和C4四种,在vxWorks5.5.1中,由于没有 E300专用的库,一般都使用603的库,即G2LE架构。这两种架构对软件上基本相同,只有cache稍有差异,G2LE的Icache和Dcache 都是16K,而E300的C1和C4都有32K,C2和C3有16K。在使用C2和C3核的时候,使用603的库应该不存在问题。使用C1和C4的核时,可能会由于cache大小的差异,cacheDisable不能把全部内容刷到内存。影响仅限于此,cache的其他功能不受影响。
Cache flush的原理是从cachePpcReadOrigin读取两倍cache或3/2 cache size大小的内容,cachePpcReadOrigin是一个内存地址,一般是0x10000,通过读取这一段内容,把原来cache里面的数据 “挤”到内存中去。
一般来讲,即使cache size不一致,cacheDisable的影响也是概率性的。可以修改cacheAlib.s中cache的大小来修复这个问题。刷的内容多一点只是多耗费点时间,对于603架构不会有坏的影响。
阅读(986) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~