AnsweredAssumed Answered

MPC8280CVVUPEA启动vxworks 5.5.1时的tlbsync异常

Question asked by jianbo huang on Jun 7, 2016
Latest reply on Jun 10, 2016 by alexander.yakovlev

        使用MPC8280CVVUPEA(450/300/100 MHz)作为主控芯片。

        使用1MByte(16bit)的Norflash(S29AL008J70TFI020)作为bootrom,该芯片接在60X总线上,使用CS0#作为片选。

        使用64MByte(16bit)的norflash(S29GL512S10TFI020)作为程序rom,该芯片接在60X总线上,使用CS1#作为片选。

        使用4片64MByte的SDRAM(MT48LC32M16A2TG-75IT)作为64bit宽的256MByte内存,4个芯片接在60X总线上,使用CS2#作为片选。

        使用LOCALBUS总线(不用PCI总线),使用时钟分配芯片为MPC8280CVVUPEA和SDRAM提供66MHz工作时钟,MPC8280CVVUPEA的工作 时钟通过CLKIN1接入,CLKIN2悬空。

         VxWorks 5.5.1的bootrom启动后,通过网口加载VxWorks操作系统,当出现start 0x100000的时候 发现系统停止运行了,经过15分钟以后,操作系统启动成功。

        使用Wind River公司的仿真器ICE2跟踪操作系统源代码发现,在系统调用usrMmuInit()函数建立页表映射过程中,调用了函数mmuPpcTlbie(), 但执行到此函数中的一条TLB汇编指令tlbsync时,PC指针长时间止不动,经过10多分钟以后才继续向下执行。

        如果屏蔽掉该汇编指令“tlbsync“,vxworks5.5.1操作系统能正常稳定运行。

        我们一直没有找到此问题解决办法,急切希望帮忙解决此问题。

Attachments

Outcomes