bluexb

    1. 以下信息是从NAND FLASH启动时,过一段时间串口没有输入则直接拷贝FLASH中WINCE系统数据到SDRAM中并运行 USB: IN_ENDPOINT:1 OUT_ENDPOINT:3 FORMAT: +++ NOTE: 1. Power off/on or press the reset button for 1 sec                  in order to get a valid USB device address.           2. For additional menu, Press any key. USB host is not connected yet. Read chip id = ec76 Nand flash status = c0 Undefined instruction exception!!! 这是从FLASH启动时输出的异常信息,在这个异常处应该是输出load kernel,然后开始从FLASH将系统加载到SDRAM中,还没有进WINCE. 还有一个调试信息如下: ###### Select Menu ###### [0] Download & Run [1] Download Only [2] Download From UART [3] Write File to SST39VF160 [4] Write File to NAND Flash [5] Boot OS [6] Erase NAND Flash Partition [7] Config parameters [8] Relocate NK.bin Found single BIN signature. Image start is 0x80200000, length is 0x01150270 REC start 0x80200000, length 0x4 Dabort exception!!! 这是我从USB下载NK.BIN文件到SDRAM后开始解压出现的错误. 我再过一遍整个BOOT从64M改动到128M的整个流程,看到底有什么纰漏 1、由于是在BANK6将64扩到128,硬件上仅将内存的BANK选择线由地址线24 25调整为25 26 2、软件对于扫描位数调整为10位,时序由于是从K4S561632切换成MT48LC32M16A2TG-75,因此仔细比过这两个手册,都是75的,时序要设置的几个参数是一样的,仅有一个有1ns误差,但是在误差范围内。 3、堆栈地址,堆地址以及ISR等地址都针对128M进行改动。这个在OPTION.H以及option.inc都进行了调整。 4、BOOT初始化时SDRAM的擦写由64M变为128M,但这段是按键方才执行,因此没什么影响 5、其中对于CL=3,CL=2都进行过尝试,没有什么改善 6、MMU初始化针对BANK6进行调整 就以上这些,其余和64M控制一样。 但是使用ADS12调试这个BOOT,全速运行就可以,不会出现上述异常。 并且也进行过断点调试,在程序中分配的堆也确实在0x37ff0000以后。在程序中加内存测试代码写SDRAM,然后观察实际数据确实与写的相同。 注: 进行过以下测试,就是在ADS运行BOOT时,在是否要拷贝FLASH内容到SDRAM中强行拷贝,到是出现一个现象,应该是拷贝128K数据,但是拷贝了两页就直接跳到拷贝完成的地址了,看汇编代码应该是正确的代码,不是下载到SDRAM出现数据错误. 再实验一下.............

最近访客

< 1/1 >

统计信息

已有20人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言