我使用的cpu是MPC862.
bootrom引导,ftp下载vxworks image.
超级终端最后给出的信息是:
Starting at xxxx
之后就没有信息了.
这是什么问题?
看网上说,是做的vxworks和bsp不匹配,为什么会不匹配呢?vxworks不就是根据bsp做的吗?
另外,vxworks对硬件的初始化是不是不可以人为干预?还是说它是按照bsp里的设置进行初始化的?
比如网口,是不是按照syslib.c里的配置来初始化的?
共6条 1/1
1
跳转至
页
求助:关于vxworks image 的网络下载与运行的问题
2楼
可能的原因:
1:makefile 文件和config.h文件定义RAM_HIGH_ADDRESS和RAM_LOW_ADDR等定义不一致;
2:RAM_HIGH_ADDRESS定义的太小了,适当调整一下
1:makefile 文件和config.h文件定义RAM_HIGH_ADDRESS和RAM_LOW_ADDR等定义不一致;
2:RAM_HIGH_ADDRESS定义的太小了,适当调整一下
谢谢
去掉cache,vxworks就启动起来了.
但是,cache的问题还是没解决.
补充:
cache结构不同,是不是vxworks的相关vcache初始化程序也不同?比如,一个是4-way,set-associative with 256 sets,一个是2-way,set-associative with 128 sets.这样两个不同cahce(不管是i or d),是不是初始化,及相关操作程序都不一样?
那如果不一样,我需要去哪里修改呢?
我找了几天,也没发现可以修改哪里.
为什么这样问呢,是这样的:我买的目标板是npc860t,而我自己做的是mpc862p.它们的显著区别就是在cache这里,前者2-way,set-associative with 128 sets,后者4-way,set-associative with 256 sets.
mpc860带cache是可以启动的,我自己的mpc862就不行了.我想会不会是这里的问题.
另外,问题的现象:
调用cacheEnable()里的cachePpcEnable()时,在一个b xxxx指令这里没跳转.
代码例示:
isync
lis r4,0xa00
isync
mtspr ic_cst,r4
isync
lis r4,0x400
isync
mtspr ic_cst,r4
isync
lis r4,0x200
isync
mtspr ic_cst,r4
b xxxx /*就是这里,没有跳转*/
会不会是cache一致性的问题?
cache里的东西,跟ram里不一致?
共6条 1/1
1
跳转至
页
回复
有奖活动 | |
---|---|
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! |