解决方案1:
另外编译bootrom和vxworks时,先不要包含你自己的板卡信息!只用客户自己提供的BSP!
像这种问题,也可以直接联系研华的技术支持!
1. 在C:\Tornado2.2\target\config\all\bootConfig.c文件中看一下autoboot函数,以及autoboot函数里面的go(entry)函数
2. PHYS_MEM_DESC sysPhysMemDesc [],修改方法:
比如增加两个项了
/* // Add by qcj_21 at [2011-4-7 15:01:54] for LX3073 */
{
(void *) 0xe1014000,
(void *)0xe1014000,
0x00010000,
VM_STATE_MASK_FOR_ALL,
VM_STATE_FOR_IO
},
/* // Add by qcj_21 at [2011-4-7 15:01:54] for PC */
{
(void *) 0xff8fc000,
(void *)0xff8fc000,
0x00010000,
VM_STATE_MASK_FOR_ALL,
VM_STATE_FOR_IO
},
DUMMY_MMU_ENTRY,
DUMMY_MMU_ENTRY,
DUMMY_MMU_ENTRY,
DUMMY_MMU_ENTRY,
DUMMY_MMU_ENTRY,
DUMMY_MMU_ENTRY,
/* DUMMY_MMU_ENTRY,*/ //这里要删除两个!
/* DUMMY_MMU_ENTRY,*/
会不会是vxworks下载不全,我曾碰到过一次
解决方案4: 不清楚楼主的环境,是不是可以按照这个思路理一理:
0x308000是个什么地址?按照楼主描述这应是os解压后的镜像存放地址,在跳os也就是"startng at...."前确认该地址的有效性和内容的正确性。地址有效性可重点检测ddr的mmu属性配置,内容有效性反汇编下编译时的镜像,在bootloader里打印出0x308000地址里的内容,比较下就很清楚了,重点确认解压os后的存储地址。
如果还不行,那可能镜像里的代码那句有问题了,在tty驱动未初始化前还不能打印,可以利用bootloader对uart模块的初始化,直接写uart的fifo实现简单打印,继续定位吧