tornado2.2下面 VxWorks5.5
CPU:Pentium4 chipset:intel 845GV+ICH4
问题:使用Pentium4的包,bootloader正常启动,界面挂死在starting at 0x308000...这个地方OS并未起来。
镜像vxworks已经加载,通过printf确定bootrom的usrroot()最后跳转到0x308000之前都没有问题,但是在usrConfig.c里面添加调试信项目可行性研究报告 息都没有输出,不能确定是死在OS里面哪个函数里了。
已经#define INCLUDE_PC_CONSOLE 了,我用的是软盘引导(bootrom、vxworks都放在软盘里),没有用网卡下载。
本站其它网站有类似帖子,我已经都试过,像disable cache、减少其它部件使系统精简都试过还是不行,这个问题还没有一个较好的解决办法。在allan0928发的相同贴中,说是修改PHYS_MEM_DESC sysPhysMemDesc [],已经找到问题,我不知道怎样改我的,我的是直接买好的研华工控机,做好的主板。
有没有人用相同配置硬件做过,BSP支持到ICH3 ICH4应该也没问吧。
请各位大侠给点建议如何解决这个问题!
不清楚环境,是不是可以按照这个思路理一理:
0x308000是个什么地址?按照楼主描述这应是os解压后的镜像存放地址,在跳os也就是"startng at...."前确认该地址的有效性和内容的正确性。地址有效性可重点检测ddr的mmu属性配置,内容有效性反汇编下编译时的镜像,在bootloader里打印出0x308000地址里的内容,比较下就很清楚了,重点确认解压os后的存储地址。
如果还不行,那可能镜像里的代码那句有问题了,在tty驱动未初始化前还不能打印,可以利用bootloader对uart模块的初始化,直接写uart的fifo实现简单打印,继续定位吧 机械厂35/366KV总降压变电所设计
会不会是vxworks下载不全,我曾碰到过一次
1. 在C:\Tornado2.2\target\config\all\bootConfig.c文件中看一下autoboot函数,以及autoboot函数里面的go(entry)函数
2. PHYS_MEM_DESC sysPhysMemDesc [],修改方法: