这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教:想用Local bus扩展PowerPc的串口

共3条 1/1 1 跳转至

请教:想用Local bus扩展PowerPc的串口

菜鸟
2007-03-09 05:08:27     打赏

我想用Local bus扩展powerpc8540的串口,但是在 vxWorks 的串口驱动里读写Local bus总线时,程序总产生异常。但是,在应用程序中,单独操作Local Bus,就没有异常。

请问,是什么原因呢?

我觉得可能是在串口驱动加载的时候,MMU内存映射还没有完成。所以对Local Bus地址空间的读写,会产生溢出。

是否是这样情况呢,请高手指点,非常感谢。

[align=right][color=#000066][此贴子已经被作者于2007-3-9 16:52:47编辑过][/color][/align]



关键词: 请教     想用     Local     扩展     PowerPc     串口    

菜鸟
2007-03-09 20:50:00     打赏
2楼

看你的cs有没有搞对?


菜鸟
2007-03-27 08:11:00     打赏
3楼

也许你已经解决了,但我还是谈下我的想法:

你的情况非常像MMU配置的问题。

对于PowerPC(603,604,e300,e500),MMU的配置是有两种方式的:

BAT:块地址转换表,这是不能被缓存的内存,可以这样配,且转换速度很快。

PTE:页表,这可以配成可缓存的。

二者结合构成了MMU的配置。

对于Bootrom,在初期初始化,往往在汇编阶段,如果使用了MMU,开了缓存的话(通常这一时期开缓存是为了更快的启动速度),那么会有一个最小BAT初始化过程。这个初始化保证了启动过程中需要访问的地址是可用的。在基于页表的MMU管理(通常是VxWorks的库函数提供的)被启用后,也就是VxWorks操作系统初始化后,原来的最小BAT初始化就被替代了。

而你的这种情况,就类似于:早期初始化,本地总线的那个地址是可以访问的,但是在后面的配置中,却没有配它。

请检查下你的sysLib.c文件的BAT配置和PTE配置。

如有问题,欢迎继续交流。


共3条 1/1 1 跳转至

回复

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